首页 > 解决方案 > 因子水平是完全多重共线的 - 我如何找出原因?

问题描述

我正在分析房地产数据,其中销售年份被编码为 2010-2018 年的一个因素。运行 OLS 模型时,2010 会自动被排除在外,但 2018 年的系数等显示为 NA。alias(ols) 告诉我 year2018 是问题所在,但我没有迹象表明 year2018 实际上与任何其他变量完全相关。我如何找出问题所在?

我已确保检查年份是否正确编码为一个因素,并且确实如此。

2010 年至 2018 年的 OLS 输出显示

PSUB1$year2011               -1.598e-01  1.755e-02  -9.105  < 2e-16 ***
PSUB1$year2012               -2.060e-01  1.573e-02 -13.101  < 2e-16 ***
PSUB1$year2013               -1.807e-01  1.400e-02 -12.908  < 2e-16 ***
PSUB1$year2014               -1.402e-01  1.341e-02 -10.462  < 2e-16 ***
PSUB1$year2015               -1.250e-01  1.284e-02  -9.739  < 2e-16 ***
PSUB1$year2016               -9.490e-02  1.249e-02  -7.595 3.86e-14 ***
PSUB1$year2017               -4.511e-02  1.272e-02  -3.546 0.000396 ***
PSUB1$year2018                       NA         NA      NA       NA   

2010 年按原样取出,但 2018 年全是 NA。

我用了

alias(ols)

ld.vars <- attributes(alias(ols)$Complete)$dimnames[[1]]

确定 PSUB1$year2018 是问题所在,但它并没有告诉我它与什么完全共线。2010 被取出,所以因子向量本身不应该是问题。

我希望 PSUB1$year2018 像其他二进制文件一样产生系数和标准误差。这只是这个因子向量的问题;模型中还有其他因子向量可以正常工作。

标签: r

解决方案


推荐阅读