如何使用多元回归函数进行预测,该函数是其他回归函数的总和

时间:2014-04-23 08:38:01

标签: 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]

但是,我被告知我需要通过迭代g(X)中的每个x[i]并总结不同的回归函数来构建回归函数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中添加回归功能?

迭代每个样本,抓取系数并单独添加它们 - 这是唯一的方法吗?

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

1 个答案:

答案 0 :(得分:0)

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

在这种情况下,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