скользящая регрессия и мультиколлинеарность - PullRequest
0 голосов
/ 11 июня 2018

EIDTED !!Структура данных:

> str(ALLX)
'data.frame':   240 obs. of  21 variables:
 $ Date      : Factor w/ 240 levels "1998-01-01","1998-02-01",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ IM        : num  0.00289 0.00992 -0.00424 0.07958 -0.035 ...
 $ rmrf_local: num  -0.1418 -0.0546 -0.0946 0.0304 -0.1025 ...
 $ SMB_L     : num  -0.0465 -0.0698 0.0274 -0.0741 0.0317 ...
 $ HML_L     : num  -0.1266 -0.191 -0.1408 -0.0122 -0.064 ...
 $ MOM_L     : num  0.0518 0.0127 0.0448 0.0163 0.0151 ...
 $ bond_L    : num  -0.116 -0.128 -0.126 -0.117 -0.123 ...

Следуя приведенному ниже коду, я могу оценить функцию скользящей gmm.

> 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'

При скользящей регрессии код в VIF (коэффициент дисперсии инфляции) не работает, и я не могу проверить мультиколлинеарность.Может ли кто-нибудь иметь альтернативную идею о том, как?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...