如何在Python中添加回归函数,或根据给定系数创建新的回归函数?
我有一个回归函数,g1(x) = 5x - 1
,这是针对一个数据点的。还有另一个回归函数,g2(x) = 3x + 4
。
我想把这两个模型结合起来,创建一个最终的回归模型,叫做G(x)
。
这意味着:
G(x) = g1(x) + g2(x)
=> 5x - 1 + 3x + 4
=> 8x +3
我的问题是,怎么在Python中做到这一点?如果我的数据集是X
,我使用statsmodels像这样:
import statsmodels.api as sm
from statsmodels.sandbox.regression.predstd import wls_prediction_std
import numpy as np
mod_wls = sm.WLS(y, X)
res_wls = mod_wls.fit()
print res_wls.params
这样可以给我回归函数的系数,这些系数适合数据X
。为了把这两个函数加起来,我可以很容易地拿到每个函数的系数,然后把它们加起来,得到一个新的回归函数的系数,比如G(x)
。但是现在我得到了自己的系数,怎么把它们转换成一个回归函数,并用它们来预测新的数据呢?因为据我所知,模型必须“拟合”到数据上,才能用于预测。
或者有没有办法直接把回归函数加起来?因为在我的算法中,我会逐步添加这些函数。
1 个回答
1
这个模型生成的预测结果应该是完全准确的。
np.dot(X_test, res_wls.params)
所以,如果你想把几个模型的结果加在一起,比如说:
summed_params = np.array([res_wls.params for res_wls in all_my_res_wls]).sum(axis=0)
你的预测结果应该是:
np.dot(X_test, summed_params)
在这种情况下,就不需要使用估计器内置的函数了。