将运行回归的预测值和残差作为不同的列附加到数据帧中是一种有用且常见的做法。我对熊猫还不熟悉,我在执行这个非常简单的操作时遇到了困难。我知道我漏掉了一些显而易见的东西。大约一年半前有人问过这个问题,但没有得到真正的答复。
数据帧当前看起来如下:
y x1 x2
880.37 3.17 23
716.20 4.76 26
974.79 4.17 73
322.80 8.70 72
1054.25 11.45 16
我只想返回一个数据帧,它的预测值和每个观测值的残差是y=x1+x2:
y x1 x2 y_hat res
880.37 3.17 23 840.27 40.10
716.20 4.76 26 752.60 -36.40
974.79 4.17 73 877.49 97.30
322.80 8.70 72 348.50 -25.70
1054.25 11.45 16 815.15 239.10
我试过用statsmodels和pandas来解决这个问题,但一直没能解决。提前谢谢!
所以,有礼貌的做法是形成你的问题,这样贡献者就可以很容易地运行你的代码。
然后调用
df.head()
产生:现在,对于您的问题,添加具有计算值的列相当简单,尽管我不同意您的示例数据:
对我来说,这些屈服:
希望这有帮助!
下面是亚历山大的答案的一个变体,它使用的是statsmodels模型中的OLS模型,而不是pandas-OLS模型。我们可以对模型使用公式或数组/数据帧接口。
fittedvalues
和resid
是具有正确索引的熊猫系列。predict
不返回熊猫系列。作为预览,statsmodels master(0.7)中的模型结果中有一个扩展的预测方法,但API尚未解决:
这应该是不言而喻的。
相关问题 更多 >
编程相关推荐