Следуя приведенному ниже коду, я могу оценить функцию скользящего гмм.
gmm_list_IM <- lapply(1:(length(ALLX$IM)-24), function(i) {
tmp <- ALLX[i:(i+23),]
IM <- as.matrix(as.numeric(tmp$IM))
p <- nrow(IM)
rmrf_local <- as.matrix(as.numeric(tmp$rmrf_local))
SMB_L <- as.matrix(as.numeric(tmp$SMB_L))
HML_L <- as.matrix(as.numeric(tmp$HML_L))
MOM_L <- as.matrix(as.numeric(tmp$MOM_L))
bond_L <- as.matrix(as.numeric(tmp$bond_L))
h <- cbind(rmrf_local,SMB_L,HML_L,MOM_L,bond_L)
gmm(IM ~ rmrf_local+SMB_L+HML_L+MOM_L+bond_L, x=h)
})
Необходимо вычислить VIF для обнаружения мультиколлинеарности со следующей ошибкой.
vif(gmm_list_IM)
Error in vcov.default(mod) :
there is no vcov() method for models of class list
In addition: Warning message:
In is.na(coef(mod)) :
is.na() applied to non-(list or vector) of type 'NULL' Any idea, please?