面板数据R中多重共线性的检验 [英] Test for Multicollinearity in Panel Data R
本文介绍了面板数据R中多重共线性的检验的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
R
中的plm
包运行拼板数据回归,希望控制解释变量之间的多重共线性。我知道
vif()
-包中有vif()
函数,但据我所知,它不能处理拼板数据输出。plm
可以执行其他诊断,如单位根测试,但我找不到计算多重共线性的方法。有没有办法计算与
vif
类似的测试,或者我可以只将每个变量视为一个时间序列,省略面板信息而使用car
包运行测试?
我不能透露数据,但该问题应该与所有面板数据模型相关。
维度大约是1000个观察值,超过50个时间段。
我使用的代码如下所示:
pdata <- plm.data(RegData, index=c("id","time"))
fixed <- plm(Y~X, data=pdata, model="within")
然后
vif(fixed)
返回错误。
提前感谢您。
推荐答案
这个问题已经参考SAS[3-0]和STATAhttp://www.stata.com/statalist/archive/2005-08/msg00018.html等其他统计软件包提出过,通常的答案是使用汇集模型得到VIF.其逻辑是,由于多重共线性只与自变量有关,因此不需要使用面板方法来控制单个效应。
以下是从另一个站点摘录的一些代码:
mydata=read.csv("US Panel Data.csv")
attach(mydata) # not sure is that's really needed
Y=cbind(Return) # not sure what that is doing
pdata=plm.data(mydata, index=c("id","t"))
model=plm(Y ~ 1+ESG+Beta+Market.Cap+PTBV+Momentum+Dummy1+Dummy2+Dummy3+Dummy4+Dummy5+
Dummy6+Dummy7+Dummy8+Dummy9,
data=pdata,model="pooling")
vif(model)
这篇关于面板数据R中多重共线性的检验的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文