r - 面板数据 R 中的多重共线性检验

标签 r regression plm panel-data

我正在使用 R 中的 plm 包运行面板数据回归,并希望控制解释变量之间的多重共线性。
我知道car包中有vif()函数,但据我所知,它无法处理面板数据输出。
plm 可以进行其他诊断,例如单位根测试,但我没有找到计算多重共线性的方法。

有没有办法计算与 vif 类似的测试,或者我可以将每个变量视为时间序列,忽略面板信息并使用 car 运行测试包裹?

我不能透露数据,但问题应该与所有面板数据模型有关。
该维度大约是 50 个时间段内的 1,000 个观测值。
我使用的代码如下所示:

pdata <- pdata.frame(RegData, index=c("id","time"))
fixed <- plm(Y~X, data=pdata, model="within")

然后

vif(fixed) 

返回错误。

最佳答案

这个问题是引用其他统计软件包提出的,例如 SAS https://communities.sas.com/thread/47675和 Stata http://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=pdata.frame(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 - 面板数据 R 中的多重共线性检验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20281055/

相关文章:

r - Shiny 的服务器发生错误加载命名空间没有包rcpp但安装了rcpp并在R作品中加载 Shiny

r - 在逻辑回归中向固定模型添加变量

R - Plm 和 lm - 固定效果

r - 如何根据分组变量对单个序列进行多个序列的回归?

r - 使用 `plm()` 估计具有嵌套结构的重复测量随机效应模型

r - 如何在给定经纬度信息的情况下在 r 中显示谷歌地图方向

r - 在 R 中重载 & 运算符

html - 如何在 R tidyverse 中将 Tibble 转换为 HTML 表?

r - 将回归系数存储在 R data.table 中

r - 为什么 lm 内存不足,而矩阵乘法对系数工作正常?