ошибка оценки gmm

При оценке GMM с более чем одной независимой переменной коды

    do_gmm <- function(X)
 {
      DE <- X[, "DE"]
      rmrf_local <- X[, "rmrf_local"]
      SMB_L <- X[,"SMB_L"]
      h <- cbind(as.numeric(DE,rmrf_local,SMB_L))
      coef(gmm(DE ~ rmrf_local,~SMB_L, x = h))
    }

    r <- rollapplyr(ALLX0, 24, do_gmm, by.column = FALSE, fill = NA)

Код работает, но на выходе у меня есть только первая переменная следующим образом

> r
       (Intercept)  rmrf_local
  [1,]          0.21        -0.32
  [2,]          0.32        -0.04
  [3,]         -0.43        -0.03
  [4,]         -0.42        -0.23

МНЕ НУЖНО КАКОЕ-ТО

> r
       (Intercept)  rmrf_local     SMB_L
  [1,]          0.21        -0.32   0.34
  [2,]          0.32        -0.04   0.01
  [3,]         -0.43        -0.03   0.21
  [4,]         -0.42        -0.23   0.12

Я не знаю почему, вторая переменная пропущена в выводе. Любая идея, пожалуйста?


person Enrico_dace    schedule 04.06.2018    source источник
comment
Что такое ГММ? Я полагаю, однако, что если мы не знаем, то мы не сможем вам помочь.   -  person Mawg says reinstate Monica    schedule 05.06.2018
comment
@Mawg Ну, я спрашиваю тех, кто это уже знал. В любом случае, это обобщенный метод момента, разработанный Хансеном, который устойчив к проблемам гетероскедастичности и последовательной корреляции при оценке.   -  person Enrico_dace    schedule 05.06.2018
comment
НП. Как я уже сказал, те, кто не знает, вероятно, не смогут вам помочь. Я проголосовал за ваш ответ, так как это поможет другим в будущем.   -  person Mawg says reinstate Monica    schedule 05.06.2018


Ответы (1)


Наконец, я решил это следующим образом

      do_gmm <- function(X) {
      DE <- DE[,1]<- X[, "DE"]
      rmrf_local <- X[, "rmrf_local"]
      SMB_L <- X[,"SMB_L"]
      HML_L <- X [, "HML_L"]
     h <- cbind(rmrf_local,SMB_L, HML_L)
      coef(gmm(DE ~ rmrf_local+SMB_L+HML_L, x = h))
    }

    r <- rollapplyr(ALLX0, 24, do_gmm, by.column = FALSE, fill = NA)
    r <- data.frame(r)
    r
 #   X.Intercept.   rmrf_local        SMB_L         HML_L
#1  -5.555761e-02  0.022837356 -0.937533698 -0.0424317893
#2  -4.264533e-02  0.032031878 -0.793814606 -0.0856941501
#3  -4.468413e-02  0.023003578 -0.789339020 -0.0968315078
#4  -5.088025e-02  0.028099687 -0.866812624 -0.0189772617
person Enrico_dace    schedule 05.06.2018
comment
Через два дня вы можете принять свой ответ. Это поможет другим, кто прочитает этот вопрос в будущем. - person Mawg says reinstate Monica; 05.06.2018
comment
Система @Mawg сказала через день! Во всяком случае, я сделаю это. - person Enrico_dace; 05.06.2018
comment
Может быть, они изменили его; это, конечно, раньше было два дня. Главное, чтобы вы не боялись принять собственный ответ :-) - person Mawg says reinstate Monica; 05.06.2018
comment
@Mawg Я тебя понял! кстати спрошу. Это решение предоставляет только «коэффициенты». Чтобы иметь другие оценочные значения, такие как R2 или стандартная ошибка, и когда я удаляю coef из 7-й строки кода, у меня возникает ошибка. Error in zoo(rval, index(x)[i]) : “x” : attempt to define invalid zoo object что вы предлагаете? @Парфе - person Enrico_dace; 05.06.2018
comment
Я предлагаю вам помочь тому, кто разбирается в этом, но это не я ;-) Я также предлагаю вам открыть второй вопрос, а не превращать его в серию вопросов. Удачи с этим - person Mawg says reinstate Monica; 05.06.2018