R gmm估计误差

R gmm估计误差,r,regression,gmm,rolling-computation,R,Regression,Gmm,Rolling Computation,在估计具有多个自变量的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))

在估计具有多个自变量的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     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

我不知道为什么,输出中缺少第二个变量。有什么想法吗?

最后,我解决了它如下

> r
       (Intercept)  rmrf_local
  [1,]          0.21        -0.32
  [2,]          0.32        -0.04
  [3,]         -0.43        -0.03
  [4,]         -0.42        -0.23
      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

什么是GMM?不过,我想,如果我们不知道,那么我们就不能帮助你。@Mawg好吧,我是在向那些已经知道的人请教。总之,它是Hansen开发的一种广义矩方法,对估计中的异方差和序列相关问题具有鲁棒性。正如我所说,那些不知道的人可能帮不了你。我对你的答案投了赞成票,因为这将有助于将来的其他人。两天后,你可以接受你的答案。“这将有助于将来阅读这个问题的其他人。”一天后,Mawg系统说!无论如何,我会做的。也许他们改变了它;过去肯定是两天。最重要的是,你不怕接受自己的答案:——@Mawg我找到你了!顺便问一下,让我问问。此解决方案仅提供“系数”。要得到其他估计值,如R2或std error,当我从第7行代码中删除coef时,我有一个错误。zoorval中出错,indexx[i]:“x”:尝试定义无效的zoo对象,您有什么建议@冻糕我建议了解这些东西的人帮助你,但那不是我;-我还建议你提出第二个问题,而不是把它变成一系列问题。祝你好运