问题标签 [multicollinearity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scikit-learn - 了解确定系数
我正在阅读文档以了解确定系数,从文档中我了解到确定系数不过是 R x R(相关系数)
所以我从 kaggle.com 获取房价数据集并开始尝试以更好地理解,这是我的代码
取相关系数
现在,像这样取确定系数
为此,我得到了值-0.9413195412943647
理想情况下不应该是0.060531252961吗?如-0.246031 x -0.246031 = 0.060531252961
regression - β的岭估计量的偏差和方差计算
我了解当模型为Y = X β + ϵ 时,如何计算 β 的岭估计量的偏差和方差。但我有模型Y = X t β + ϵ。我不明白这样的模型是否有意义,有人可以帮助我吗?如果是,如何推导出 β 的岭估计量的偏差和方差?
谢谢!
r - vif():“警告信息:没有拦截:vifs 可能不明智。” 尝试使用多项逻辑回归检查多重共线性
我正在尝试使用nnet::multinom()
. 我有 2 个自变量(从 0 到 10 的数字)和一个因变量(具有 4 个级别 1、2、3、4 的因子)。
vif()
问题是,当使用from 函数检查多重共线性时car
,我收到以下警告:
Warning message: No intercept: vifs may not be sensible.
这是一些示例代码:
输出:
这给出了合理的值,但是根据我的实际数据,它们的范围从 2.289297e^1 到 5.609178e^15。
有什么建议吗?我不明白没有拦截的消息,因为我认为拦截会自动在模型中,除非您将其删除。
linear-regression - 当常数产生多重共线性警告时的线性回归缩放因变量
我只用一个 IV 运行线性回归。当我使用 statsmodels 以常数运行回归时,我收到多重共线性警告。在这里搜索后,我可以看到这可能是一个扩展问题。系数是
我的问题是如何处理缩放,它是否像缩放 IV 一样简单,例如将其缩放 100
或者最好不要标准化IV
r - 无法在 RStudio 中使用名为“car”的包,因此无法使用 vif()
我想使用 vif() 检查我的 lm 模型中变量的多重共线性。
它抛出错误,因此我无法使用:
我曾多次尝试安装“汽车”包。它给出了一些警告,如下所示:
请建议如何使用 R 中的汽车包解决此问题。
另外,请建议是否有任何替代函数vif()
可以在 R Studio 中用于我的 lm 模型中变量的多重共线性。
python - 带有 rpy2 的 Python 中的序数逻辑回归(R 的 Python 接口):共线预测变量的问题
我正在尝试在 Python 中使用 rpy2(R 语言的 Python 接口)调用 R 的 mass.polr 函数来执行序数逻辑回归。但是,当我的预测变量中有一些共线或几乎共线的列时,我遇到了麻烦:mass.polr 在拟合期间会自动丢弃其中一些列,这在我尝试对训练数据进行预测时会导致错误。
这是一个最小的例子:
同样的错误实际上也发生在 R 中,但我至少可以通过查看summary(model)
.
相反,在 Python 中r.summary(model).rx2('coefficients')
(应该显示与 R 中相同的输出summary(model)
)不显示系数名称,而只是显示裸值:
有谁知道在 Python 中检索系数名称的方法?或者还有其他解决方法吗?
r - 为 R 中的序数逻辑回归和多重共线性计算 VIF
我正在运行一个序数回归模型。我有 8 个解释变量,其中 4 个是分类变量('0'或'1'),其中 4 个是连续的。事先我想确保没有多重共线性,所以我使用方差膨胀因子(汽车包中的vif函数):
但我得到一个变量的 VIF 值为 125,以及以下警告:
警告消息:在 vif.default(mod1) 中:无拦截:vifs 可能不明智。
但是,当我将因变量转换为数字(而不是因子)时,并使用线性模型做同样的事情:
这次所有的 VIF 值都低于 3,表明不存在多重共线性。
我对vif功能感到困惑。它如何返回一个模型的 VIF > 100 和另一个模型的低 VIF?我应该坚持第二个结果并仍然做一个序数模型吗?
stata - Stata在交互项之后省略了“共线”变量
在 Stata 中,我最近发现,当我在一个回归模型中跨多个交互项使用相同的变量时,Stata 会将该变量标记为共线性。例如,运行:
regress dep i.gender##c.age i.ethnicity##c.age
标记以下消息:
note: age omitted because of collinearity
年龄仍然包含在随后的回归表中,但有两次,第一次是一个系数,SE 等,正如人们所期望的那样,但第二次是omitted
。
我以前做过很多次类似的分析,但从未有过(或至少从未注意到)。这很不和谐,因为不言而喻,年龄与自身共线。但这无关紧要,因为我并没有试图同时输入两个名为“年龄”的变量。很明显,这是我在两个交互术语中使用的一个变量。有没有其他人遇到过这种情况,他们知道抑制它的方法吗?
r - alias() 不返回任何内容,而 vif() 在 R 中返回 NAN
我正在运行一个线性回归模型。我有 33 个连续的解释变量。线性回归的结果是:
可能存在多重共线性,所以我使用了 vif() 和 alias()。然而, vif() 返回了 NAN,而 alias 只返回了模型:
我是 R 新手,谁能解释一下并帮我选择变量?
r - vifcor 函数在 R 中的工作原理
我正在使用R 中 usdm 包中的vifcor
和vifstep
函数来检测多重共线性。我的理解vifcor
是,例如,如果我将阈值设为 0.9,它应该给我所有 vif 值 <= 9 的变量。但结果显示出更高的值(39 等)。
那么它究竟是如何工作的,它与 vif 值有什么关系呢?