python - 如何使用作为其他回归函数之和的多元回归函数进行预测

标签 python numpy regression statsmodels

我正在使用加权最小二乘法在 Python 中进行多元回归。 我有一个 10x4 的数据集,换句话说,对于数据中的每个样本,有 4 个特征。

如果我的数据集是 X,我可以执行以下操作来获取回归函数的系数:

import numpy as np
import statsmodels.api as sm
from statsmodels.sandbox.regression.predstd import wls_prediction_std

mod_wls = sm.WLS(y, X)
res_wls = mod_wls.fit()
print res_wls.params

对于我特定的 10x4 数据集,这为我提供了以下输出:

[ 0.06210193  5.24256099  0.15214974  0.12325115]

但是,我被告知我需要通过遍历 X 中的每个 x[i] 来构建回归函数 g(X) 并总结不同的回归函数。

我在猜测(但如果我理解有误,希望得到纠正),我猜测这意味着 g(x) = g(x1) + g(x2) + g(x3) + ... + g(x10)

例如。假设第一行数据的函数给出以下系数:

[ 0.11  1.22  0.33  0.88]

对于我得到的第二行数据

[ 1.22  0.55  0.44  0.11]

所以在两次迭代之后,我的 g(x) 应该给出以下系数:

[ 1.33  1.77  0.77  0.99]

因为对于第一个系数,0.11 + 1.22 = 1.33,依此类推。 以此类推,直到第十个数据样本。

现在我的问题是 - 如何在 scikit-learn 中添加回归函数?

遍历每个样本,获取系数并将它们单独相加 - 这是唯一的方法吗?

假设我已经获得了最终系数,我现在如何使用这些最终系数声明回归模型,以便我可以将数据传递给它以预测值?

最佳答案

我认为您的意思是仅从加权最小二乘方程得出的拟合方程中得到预测。

在这种情况下,g(X1,X2,X3,X4) = 0.06210193*X1 + 5.24256099*X2 + 0.15214974*X3 + 0.12325115*X4

因此,对于数据集中的第一行:[0.11 1.22 0.33 0.88] g(0.11,1.22,0.33,0.88) = 0.06210193*0.11 + 5.24256099*1.22 + 0.15214974*0.33 + 0.12325115*0.88

g(0.11,1.22,0.33,0.88) = 6.561426046

如果您想了解有关多元回归的更多信息,可以在这里找到:https://stats.stackexchange.com/questions/tagged/multiple-regression

关于python - 如何使用作为其他回归函数之和的多元回归函数进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23239016/

相关文章:

python - 如何将值与反斜杠进行比较?

python - 如何使用 pandas 将箱线图的结果导出到 csv 文件?

python - 使用没有循环的numpy在python中用数组或向量填充数组

python - seaborn 热图显示轴标签,但当 df.corr 为 NaN 时没有值

python - 如何查看 Django 调试工具栏?

python - Numba'fied 函数在 for 循环中的计算方式与纯 Python 循环中的计算方式不同

python - scipy curve_fit 无法正常工作

python - 回归:如何逼近多维函数?

r - 固定效应工具变量 (IV) 回归与可用的诊断测试

python - 使用 keras 对图像进行 convnet 回归 - 精度不能提高超过 40%