作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 38 个变量,例如氧气、温度、压力等,并且有一项任务是确定这些变量每天产生的总产量。当我计算回归系数和截距值时,它们似乎异常并且非常高(不切实际)。例如,如果发现“温度”系数为+375.456,我无法给他们解释说温度增加一个单位将增加产量375.456克。这在我的场景中是不切实际的。然而,预测的准确性似乎是正确的。我想知道如何解释这些巨大的截距(-5341.27355)和下面所示的巨大的贝塔值。另一个重要的一点是,我删除了多重共线列,而且,我没有缩放变量/标准化它们,因为我需要 beta 系数具有意义,这样我可以说,温度增加一个单位会增加 10g 左右的产量。非常感谢您的投入!
modl.intercept_
Out[375]: -5341.27354961415
modl.coef_
Out[376]:
array([ 1.38096017e+00, -7.62388829e+00, 5.64611255e+00, 2.26124164e-01,
4.21908571e-01, 4.50695302e-01, -8.15167717e-01, 1.82390184e+00,
-3.32849969e+02, 3.31942553e+02, 3.58830763e+02, -2.05076898e-01,
-3.06404757e+02, 7.86012402e+00, 3.21339318e+02, -7.00817205e-01,
-1.09676321e+04, 1.91481734e+00, 6.02929848e+01, 8.33731416e+00,
-6.23433431e+01, -1.88442804e+00, 6.86526274e+00, -6.76103795e+01,
-1.11406021e+02, 2.48270706e+02, 2.94836048e+01, 1.00279016e+02,
1.42906659e-02, -2.13019683e-03, -6.71427100e+02, -2.03158515e+02,
9.32094007e-03, 5.56457014e+01, -2.91724945e+00, 4.78691176e-01,
8.78121854e+00, -4.93696073e+00])
最佳答案
所有这些变量不太可能都是线性相关的,因此我建议您查看简单的非线性回归技术,例如决策树或核岭回归。然而,这些更难以解释。
回到您的问题,这些高权重很可能是由于变量之间存在大量相关性,或者您根本没有太多训练数据。如果您使用套索回归而不是线性回归,则解决方案会偏离高回归系数,并且拟合度也可能会提高。
关于如何在 scikit-learn
中执行此操作的小示例,包括正则化超参数的交叉验证:
from sklearn.linear_model LassoCV
# Make up some data
n_samples = 100
n_features = 5
X = np.random.random((n_samples, n_features))
# Make y linear dependent on the features
y = np.sum(np.random.random((1,n_features)) * X, axis=1)
model = LassoCV(cv=5, n_alphas=100, fit_intercept=True)
model.fit(X,y)
print(model.intercept_)
关于machine-learning - 截距和回归系数(Beta 值)可以非常高吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57575607/
我是一名优秀的程序员,十分优秀!