r - 因子水平是完全多重共线的 - 我如何找出原因?
问题描述
我正在分析房地产数据,其中销售年份被编码为 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 像其他二进制文件一样产生系数和标准误差。这只是这个因子向量的问题;模型中还有其他因子向量可以正常工作。
解决方案
推荐阅读
- javascript - 如何允许键盘输入输入类型文件?
- mysql -
排序后如何分组? - authentication - 如何在 cakephp4 中从 Controller 登录用户?使用身份验证插件
- sql - 获取每组的第一行,加上去年的相关行
- javascript - 在新的 AngularFire 7 (Firebase 9) 中实现云函数时出现未知语法错误
- ansible - 如果已创建 VM,Ansible vmware_guest customize_spec 不会更改任何内容
- python - 如何使具有多个答案的问题/答案成为可能
- python-3.x - Spacy 在 Pardo 中中断序列化 - Apache Beam
- powershell - 提示时如何将参数作为输入传递给powershell脚本?
- sqlite - 如何强制 nHibernate 自动更新引用对象?