我几天前开始使用R studio,我正在努力计算一个VIF。情况如下:
我有一个面板数据并运行固定效果和随机效果回归。我有一个从属变量(New_biz_density)和2个独立变量(Cost_to_start,Capital_requirements)。我想通过计算固定和随机效应模型的方差膨胀因子来检查我的两个独立变量是否呈现多重共线性。
我已经安装了一些软件包来执行BIF(Faraway,Car),但没有设法执行。有人知道怎么做吗?
非常感谢!
这是我的剧本:
# install.packages("plm")
library(plm)
mydata<- read.csv("/Users/juliantabone/Downloads/DATAweakoutliers.csv")
Y <- cbind(new_biz_density)
X <- cbind(capital_requirements, cost_to_start)
# Set data as panel data
pdata <- plm.data(mydata, index=c("country_code","year"))
# Descriptive statistics
summary(Y)
summary(X)
# Pooled OLS estimator
pooling <- plm(Y ~ X, data=pdata, model= "pooling")
summary(pooling)
# Between estimator
between <- plm(Y ~ X, data=pdata, model= "between")
summary(between)
# First differences estimator
firstdiff <- plm(Y ~ X, data=pdata, model= "fd")
summary(firstdiff)
# Fixed effects or within estimator
fixed <- plm(Y ~ X, data=pdata, model= "within")
summary(fixed)
# Random effects estimator
random <- plm(Y ~ X, data=pdata, model= "random")
summary(random)
# LM test for random effects versus OLS
plmtest(pooling)
# LM test for fixed effects versus OLS
pFtest(fixed, pooling)
# Hausman test for fixed versus random effects model
phtest(random, fixed)
答案 0 :(得分:0)
在R中似乎有两种流行的方法来计算VIF(方差膨胀因子,以检测回归中变量之间的共线性):
汽车包中的vif()函数,其中输入是模型。这要求您首先拟合模型,然后才能检查模型中变量之间的VIF。
corvif()函数,其中输入是实际候选解释变量(即变量列表,甚至在模型拟合之前)。该功能是AED包的一部分(Zuur等人,2009年),已经停产。这个似乎只适用于变量列表,而不适用于拟合的回归模型。