George Sotiropoulos
George Sotiropoulos

Reputation: 2153

gbm.step, total mean deviance does not get lower

I am running a gbm.step function from the dismo package with the following parameters

 gbm_tmp <- dismo::gbm.step(data = data,
                               gbm.x = predictor_names ,
                               gbm.y = i,
                               #site.weights = weights,
                               max.trees = 10000,
                               var.monotone = mon_vec,
                               family = "gaussian", learning.rate = 0.0005,
                               bag.fraction = 0.7, n.folds = 10,      #n.trees=1100,
                               tree.complexity = 9,          prev.stratify = F, 
                               step.size = 25                                   )

However, the model goes up to 500 trees and then stops. The 'holdout deviance" is almost at the same level as the begging.

In addition, If I increase the n.trees, or the learning rate, or the step.size I get an error that I should restart the gbm function with decreased learning rate or step.size.

The strange thing is that I am using the same function/parameters for other y variables/kpis with the same data/regressors and I do not get any problem.

What can be the explanation to that? Is it anything else that I could try or investigate?

Any help would be appreciated.

Upvotes: 0

Views: 729

Answers (1)

Kat
Kat

Reputation: 11

I was having the same issue (similar model set up, including a gaussian error distribution, model set up had worked with different response variables) - I had a flat line deviance and it was stopping at 50 trees (or whatever minimum n.trees I input). I found that reducing the range of my response variable (in my case changed units from cm to metres, so that range was 0 to 14 rather than 0 to 1400) solved the problem. I'm not sure why.

Upvotes: 1

Related Questions