gpt4 book ai didi

python - 使用 Pandas OLS 进行预测

转载 作者:行者123 更新时间:2023-11-28 17:50:56 26 4
gpt4 key购买 nike

我一直在使用 scikits.statsmodels OLS predict预测拟合数据的函数,但现在想转而使用 Pandas。

文档 refers to OLS以及一个名为 y_predict 的函数但我找不到任何关于如何正确使用它的文档。

举个例子:

exogenous = {
"1998": "4760","1999": "5904","2000": "4504","2001": "9808","2002": "4241","2003": "4086","2004": "4687","2005": "7686","2006": "3740","2007": "3075","2008": "3753","2009": "4679","2010": "5468","2011": "7154","2012": "4292","2013": "4283","2014": "4595","2015": "9194","2016": "4221","2017": "4520"}
endogenous = {
"1998": "691", "1999": "1580", "2000": "80", "2001": "1450", "2002": "555", "2003": "956", "2004": "877", "2005": "614", "2006": "468", "2007": "191"}

import numpy as np
from pandas import *

ols_test = ols(y=Series(endogenous), x=Series(exogenous))

然而,虽然我可以产生合身:

>>> ols_test.y_fitted
1998 675.268299
1999 841.176837
2000 638.141913
2001 1407.354228
2002 600.000352
2003 577.521485
2004 664.681478
2005 1099.611292
2006 527.342854
2007 430.901264

预测结果没有什么不同:

>>> ols_test.y_predict
1998 675.268299
1999 841.176837
2000 638.141913
2001 1407.354228
2002 600.000352
2003 577.521485
2004 664.681478
2005 1099.611292
2006 527.342854
2007 430.901264

在 scikits.statsmodels 中,可以执行以下操作:

import scikits.statsmodels.api as sm
...
ols_model = sm.OLS(endogenous, np.column_stack(exogenous))
ols_results = ols_mod.fit()
ols_pred = ols_mod.predict(np.column_stack(exog_prediction_values))

我如何在 Pandas 中执行此操作以预测内生数据超出外生数据的限制?

更新:感谢 Chang,新版本的 Pandas (0.7.3) 现在将此功能作为标准功能。

最佳答案

您的问题是如何获得回归的预测 y 值?或者是如何使用回归系数为外生变量的不同样本集获得预测的 y 值? pandas y_predict 和 y_fitted 应该给你相同的值,并且两者都应该给你与 scikits.statsmodels 中的预测方法相同的值。

如果您正在寻找回归系数,请执行 ols_test.beta

关于python - 使用 Pandas OLS 进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9943848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com