使用统计模型线性回归预测特定向量x的结果



我已经成功地使用OLS为大量数据构建了一个模型。

results = smf.ols(formula='ind ~ Age + C(County) + C(Class)',  data=df).fit()

我想实现一个方法,允许用户输入一个向量X,并让它根据回归返回一个y。我研究了统计模型的"预测"one_answers"预测"功能,但它似乎不是我想要的。

例如,我要做的是:

 ## Although the following is wrong, It shows what I'm trying to do:
 def forecast_y(X):
      return results.forecast(X) 

 ## example:
 print forecast_y([1, 3, 4]) 
 # the model should return
 4.53

如果我做对了,你不想要y的样本内预测,这就是为什么你不想使用predict方法;相反,您只是希望能够插入任意x值并根据预测系数获得y的值?

如果是这样的话,继续你的例子:

params = results.params   #vector of your coefficients
arbitrary_x = np.array([.5, .5, .5...]) #whatever x values you want to test, with the constant first
assert(len(params) == len(arbitrary_x))
arbitrary_y = (params * arbitrary_x).sum()

我将把理解这句话的含义留给读者,但是一定要小心使用。

相关内容

  • 没有找到相关文章

最新更新