我想根据滚动数据集 [1:2567],[2:2568]... 使用 GMM 估计参数 'r' 等等。最后,将结果填充到矩阵中。我已经对核心代码进行了如下测试,得到了有效的答案。
x<-Source[1 : 2567,"AAA"]
z<-as.matrix(x)
e<-function(r,x){
+ m<-exp(-x/r)-1
+ return(m)
+ }
coef(gmm(e,z,t0=1,method="BFGS",control=1e-12))
Theta[1]
1.096466
x<-Source[2 : 2568,"AAA"]
z<-as.matrix(x)
e<-function(r,x){
+ m<-exp(-x/r)-1
+ return(m)
+ }
coef(gmm(e,z,t0=1,method="BFGS",control=1e-12))
Theta[1]
1.102329
但是,当我想使用循环结构这样做时,它会返回一条错误消息。
n <- 2
result <- matrix(rep(0, n), nrow = n)
for(i in c(1 :n)){
+ x<-Source[i : i + 2566,"AAA"]
+ z<-as.matrix(x)
+ e<-function(r,x){
+ m<-exp(-x/r)-1
+ return(m)
+ }
+
+ result[i,1] <- coef(gmm(e,z,t0=1,method="BFGS",control=1e-12))
+ }
ar.ols 中的错误(x,aic = aic,order.max = order.max,na.action = na.action,:'order.max' 必须 <'n.used'
谁能帮我弄清楚出了什么问题?非常感谢~!
(*数据集“Source”为5200*4矩阵,实际数据如下链接所示: https ://docs.google.com/spreadsheets/d/1AnTErQd2jm9ttKDZa7On3DLzEZUWaz5Km3nKaB7K18o/edit#gid=0 )