Стратифицированная выборка, кажется, не меняет случайные результаты

Я использую пакет randomForest в R для построения нескольких моделей распространения видов. Моя переменная ответа является двоичной (0 - отсутствие или 1-присутствие) и довольно несбалансированной - для некоторых видов соотношение отсутствий: присутствий составляет 37: 1. Этот дисбаланс (или нулевая инфляция) приводит к сомнительным оценкам ошибок «вне пакета» - чем больше отношение отсутствий к присутствию, тем ниже оценка ошибки «мой пакет из пакета».

Чтобы компенсировать этот дисбаланс, я хотел реализовать стратифицированную выборку таким образом, чтобы каждое дерево в случайном лесу включало равное (или, по крайней мере, менее несбалансированное) количество результатов как из категории присутствия, так и отсутствия. Я был удивлен, что нетКажется, что нет никакой разницы в стратифицированной и не стратифицированной модельных оценках ошибок OOB. Смотрите мой код ниже:

Без стратификации
> set.seed(25)
> HHrf HHrf
Call:
  randomForest(formula = factor(HH_Pres) ~ SST + Dist2Shr + DaylightHours + Bathy + Slope + MoonPhase + factor(Region) + Chla, data = bll_HH, ntree = 500, replace = FALSE, importance = TRUE, na.action = na.omit) 
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 2

        OOB estimate of  error rate: 19.1%
Confusion matrix:
    0  1 class.error
0 422 18  0.04090909
1  84 10  0.89361702
С расслоением
> HHrf_strata HHrf

Call:
 randomForest(formula = factor(HH_Pres) ~ SST + Dist2Shr + DaylightHours + Bathy + Slope + MoonPhase + factor(Region) + Chla, data = bll_HH, ntree = 500, replace = FALSE, importance = TRUE, na.action = na.omit) 
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 2

        OOB estimate of  error rate: 19.1%
Confusion matrix:
    0  1 class.error
0 422 18  0.04090909
1  84 10  0.89361702

Есть ли причина, по которой я получаю одинаковые результаты в обоих случаях? В качестве аргумента страты я указываю переменную ответа HH_Pres. Для аргумента sampsize я указываю, что он должен составлять 63,2% от всего набора данных.

Кто-нибудь знает, что я делаю не так? Или этого следовало ожидать?

Спасибо,

Лиза

Чтобы воспроизвести эту проблему:

Пример данных:https://docs.google.com/file/d/0B-JMocik79JzY3B4U3NoU3kyNW8/edit

Код:

bll = read.csv("bll_Nov2013_NMV.csv", header=TRUE)
HH_Pres 

Ответы на вопрос(2)

Ваш ответ на вопрос