讲讲共线性问题

作者: JSong1122 | 来源:发表于2017-09-23 16:15 被阅读952次

多重共线性是使用线性回归算法时经常要面对的一个问题。在其他算法中,例如决策树和贝叶斯,前者的建模过程是逐步递进,每次拆分只有一个变量参与,这种建模机制含有抗多重共线性干扰的功能;后者干脆假定变量之间是相互独立的,因此从表面上看,也没有多重共线性的问题。但是对于回归算法,不论是一般回归,逻辑回归,或存活分析,都要同时考虑多个预测因子,因此多重共线性是不可避免需要面对的,在很多时候,多重共线性是一个普遍的现象。在构造预测模型时如何处理多重共线性是一个比较微妙的议题。既不能不加控制,又不能一刀切,认为凡是多重共线性就应该消除。

1、共线性的原理

假设有k个自变量的多元线性回归模型:

10个特征的VIF

最后我们试着用模型的方法来检测共线性问题

from sklearn.linear_model import Ridge
plt.figure()
n_alphas = 20
alphas = np.logspace(-1,4,num=n_alphas)
coefs = []
for a in alphas:
    ridge = Ridge(alpha=a, fit_intercept=False)
    ridge.fit(X2, y)
    coefs.append(ridge.coef_)
ax = plt.gca()
ax.plot(alphas, coefs)
ax.set_xscale('log')
handles, labels = ax.get_legend_handles_labels()
plt.legend(labels=[0,1,2,3,4,5,6,7,8,9])
plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')
plt.axis('tight')
plt.show()
岭回归各个系数的岭迹

其中当alpha取0.1时,岭回归估计的系数分别为

>>>print(coefs[0])
[  2.70748655   0.95748918   3.53687372   5.2073456    8.70186695
   9.84484102  10.67351759  11.74614246   2.46502016   3.19919212]

可以看到第0、1、2、3、8、9个变量都出现了波动,代表它们之间存在一定的共线性。观察岭迹,我们可以考虑剔除其中波动比较大的第1、8、9个变量。

另外Lasso回归类似,可以用sklearn中的linear_model.Lasso来学习,这里就不展示了。最后对于逻辑回归任务,sklearn函数内部提供了L1或L2正则化方案,通过它们也可以去检测共线性问题。

参考文献

[1]. variance inflation factor
[2]. 多重共线性的解决方法之——岭回归与LASSO
[3]. ridge regression

相关文章

  • 讲讲共线性问题

    多重共线性是使用线性回归算法时经常要面对的一个问题。在其他算法中,例如决策树和贝叶斯,前者的建模过程是逐步递进,每...

  • 几种情况可以不用考虑逻辑回归下的线性相关性

    共线性问题 共线性问题是在构建线性模型当中常见的问题,共线性问题是指预测变量之间存在着线性相关性导致模型预测的相关...

  • Lasso回归分析如何处理共线性问题?

    在进行线性回归分析时,很容易出现自变量共线性问题,通常情况下VIF值大于10说明严重共线,VIF大于5则说明有共线...

  • 多重共线性问题相关

    多元回归分析中的共线性问题 原创 2015-11-13 ccccfys spss统计分析 多重共线性:回归模型中,...

  • 出现多重共线性问题,如何处理?

    在进行线性回归分析时,容易出现自变量(解释变量)之间彼此相关,这种情况被称作多重共线性问题。 适度的多重共线性不成...

  • 特征工程之共线性

    1. 共线性问题的基本概念 特征间共线性 两个或多个特征包含了相似的信息,相互之间也存在强烈的相关关系。 常用判断...

  • 机器学习-10 线性回归及其相关算法

    返回主页 本节讨论四个内容:1、线性回归2、多重共线性问题3、岭回归4、局部加权线性回归 线性回归(Linear ...

  • 偏最小二乘回归及其SAS实现

    偏最小二乘回归可用于解决多重共线性问题,其用途比主成分回归更为广泛。最初由经济计量学家Herman Wold于20...

  • 多重共线性案例

    SPSSAU处理多重共线性问题 一、说明 当回归模型中两个或者两个以上的自变量高度相关(比如相关系数大于0.7)时...

  • 分位数回归

    由于各种原因,回归系数可能不稳定。回归分析要求因变量Y为正态分布,并对异常值较为敏感,异常值问题和共线性问题、异方...

网友评论

本文标题:讲讲共线性问题

本文链接:https://www.haomeiwen.com/subject/czjcextx.html