问题标签 [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.

0 投票
2 回答
186 浏览

scikit-learn - 了解确定系数

我正在阅读文档以了解确定系数,从文档中我了解到确定系数不过是 R x R(相关系数)

所以我从 kaggle.com 获取房价数据集并开始尝试以更好地理解,这是我的代码

取相关系数

在此处输入图像描述

现在,像这样取确定系数

为此,我得到了值-0.9413195412943647

理想情况下不应该是0.060531252961吗?如-0.246031 x -0.246031 = 0.060531252961

0 投票
0 回答
65 浏览

regression - β的岭估计量的偏差和方差计算

我了解当模型为Y = X β + ϵ 时,如何计算 β 的岭估计量的偏差和方差。但我有模型Y = X t β + ϵ。我不明白这样的模型是否有意义,有人可以帮助我吗?如果是,如何推导出 β 的岭估计量的偏差和方差?

谢谢!

0 投票
0 回答
1083 浏览

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。

有什么建议吗?我不明白没有拦截的消息,因为我认为拦截会自动在模型中,除非您将其删除。

0 投票
0 回答
36 浏览

linear-regression - 当常数产生多重共线性警告时的线性回归缩放因变量

我只用一个 IV 运行线性回归。当我使用 statsmodels 以常数运行回归时,我收到多重共线性警告。在这里搜索后,我可以看到这可能是一个扩展问题。系数是

我的问题是如何处理缩放,它是否像缩放 IV 一样简单,例如将其缩放 100

或者最好不要标准化IV

0 投票
0 回答
600 浏览

r - 无法在 RStudio 中使用名为“car”的包,因此无法使用 vif()

我想使用 vif() 检查我的 lm 模型中变量的多重共线性。

它抛出错误,因此我无法使用:

我曾多次尝试安装“汽车”包。它给出了一些警告,如下所示:

请建议如何使用 R 中的汽车包解决此问题。

另外,请建议是否有任何替代函数vif()可以在 R Studio 中用于我的 lm 模型中变量的多重共线性。

0 投票
1 回答
265 浏览

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 中检索系数名称的方法?或者还有其他解决方法吗?

0 投票
1 回答
2593 浏览

r - 为 R 中的序数逻辑回归和多重共线性计算 VIF

我正在运行一个序数回归模型。我有 8 个解释变量,其中 4 个是分类变量('0''1'),其中 4 个是连续的。事先我想确保没有多重共线性,所以我使用方差膨胀因子(汽车包中的vif函数):

但我得到一个变量的 VIF 值为 125,以及以下警告:

警告消息:在 vif.default(mod1) 中:无拦截:vifs 可能不明智。

但是,当我将因变量转换为数字(而不是因子)时,并使用线性模型做同样的事情:

这次所有的 VIF 值都低于 3,表明不存在多重共线性。

我对vif功能感到困惑。它如何返回一个模型的 VIF > 100 和另一个模型的低 VIF?我应该坚持第二个结果并仍然做一个序数模型吗?

0 投票
1 回答
1284 浏览

stata - Stata在交互项之后省略了“共线”变量

在 Stata 中,我最近发现,当我在一个回归模型中跨多个交互项使用相同的变量时,Stata 会将该变量标记为共线性。例如,运行:

regress dep i.gender##c.age i.ethnicity##c.age

标记以下消息:

note: age omitted because of collinearity

年龄仍然包含在随后的回归表中,但有两次,第一次是一个系数,SE 等,正如人们所期望的那样,但第二次是omitted

我以前做过很多次类似的分析,但从未有过(或至少从未注意到)。这很不和谐,因为不言而喻,年龄与自身共线。但这无关紧要,因为我并没有试图同时输入两个名为“年龄”的变量。很明显,这是我在两个交互术语中使用的一个变量。有没有其他人遇到过这种情况,他们知道抑制它的方法吗?

0 投票
0 回答
290 浏览

r - alias() 不返回任何内容,而 vif() 在 R 中返回 NAN

我正在运行一个线性回归模型。我有 33 个连续的解释变量。线性回归的结果是:

可能存在多重共线性,所以我使用了 vif() 和 alias()。然而, vif() 返回了 NAN,而 alias 只返回了模型:

我是 R 新手,谁能解释一下并帮我选择变量?

0 投票
1 回答
337 浏览

r - vifcor 函数在 R 中的工作原理

我正在使用R 中 usdm 包中的vifcorvifstep函数来检测多重共线性。我的理解vifcor是,例如,如果我将阈值设为 0.9,它应该给我所有 vif 值 <= 9 的变量。但结果显示出更高的值(39 等)。

那么它究竟是如何工作的,它与 vif 值有什么关系呢?

维夫