Pandas OLS - 拉参数不工作
Pandas OLS - pulling params not working
我有 Pandas OLS 代码行可以正常工作,但无法提取参数以用于另一个相关函数:
ES_15M_LR = pd.ols(y = ES_15M_Last_300_Periods['Close'], x = ES_15M_Last_300_Periods['Date'])
上面的代码运行良好,但是当我尝试从中提取参数时,出现错误:
AttributeError: 'OLS' object has no attribute 'params'
例如,我试过:
ES_15M_LR.params
以及:
ES_15M_LR.params.x
...拉取 x 系数(斜率)。这得到与上述相同的错误。但是,我可以看到统计数据按预期工作:
我只是似乎无法自动提取参数,我需要将其作为其他函数的变量。有人可以帮忙吗?
我从来没有在 pandas 中使用过 OLS,但它似乎曾经存在于 pandas 中并移到了 statsmodel 包中。文档似乎也已过时或不正确,但 ES_15M_LR.beta
应该可以解决问题。
首先,强烈建议您使用 statsmodels,因为...
pandas.stats.ols
, pandas.stats.plm
and pandas.stats.var
routines are
deprecated and will be removed in a future version (GH6077: MIGRATE: move stats code to statsmodels / deprecate in pandas #6077)
关于param
访问,
import numpy as np
import pandas as pd
import statsmodels.api as sm
df = pd.DataFrame(np.random.randint(0,100,size=(100, 2)), columns=list('AB'))
model = sm.OLS(df['A'], df['B'])
fit = model.fit()
print fit.params
B 0.724865
print fit.summary()
OLS Regression Results
==============================================================================
Dep. Variable: A R-squared: 0.533
Model: OLS Adj. R-squared: 0.528
Method: Least Squares F-statistic: 113.0
Date: Thu, 16 Feb 2017 Prob (F-statistic): 4.66e-18
Time: 10:27:13 Log-Likelihood: -509.62
No. Observations: 100 AIC: 1021.
Df Residuals: 99 BIC: 1024.
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
B 0.7249 0.068 10.629 0.000 0.590 0.860
==============================================================================
Omnibus: 3.447 Durbin-Watson: 1.724
Prob(Omnibus): 0.178 Jarque-Bera (JB): 2.856
Skew: 0.301 Prob(JB): 0.240
Kurtosis: 2.432 Cond. No. 1.00
==============================================================================
并检查 sm.add_constant()。
我有 Pandas OLS 代码行可以正常工作,但无法提取参数以用于另一个相关函数:
ES_15M_LR = pd.ols(y = ES_15M_Last_300_Periods['Close'], x = ES_15M_Last_300_Periods['Date'])
上面的代码运行良好,但是当我尝试从中提取参数时,出现错误:
AttributeError: 'OLS' object has no attribute 'params'
例如,我试过:
ES_15M_LR.params
以及:
ES_15M_LR.params.x
...拉取 x 系数(斜率)。这得到与上述相同的错误。但是,我可以看到统计数据按预期工作:
我只是似乎无法自动提取参数,我需要将其作为其他函数的变量。有人可以帮忙吗?
我从来没有在 pandas 中使用过 OLS,但它似乎曾经存在于 pandas 中并移到了 statsmodel 包中。文档似乎也已过时或不正确,但 ES_15M_LR.beta
应该可以解决问题。
首先,强烈建议您使用 statsmodels,因为...
pandas.stats.ols
,pandas.stats.plm
andpandas.stats.var
routines are deprecated and will be removed in a future version (GH6077: MIGRATE: move stats code to statsmodels / deprecate in pandas #6077)
关于param
访问,
import numpy as np
import pandas as pd
import statsmodels.api as sm
df = pd.DataFrame(np.random.randint(0,100,size=(100, 2)), columns=list('AB'))
model = sm.OLS(df['A'], df['B'])
fit = model.fit()
print fit.params
B 0.724865
print fit.summary()
OLS Regression Results
==============================================================================
Dep. Variable: A R-squared: 0.533
Model: OLS Adj. R-squared: 0.528
Method: Least Squares F-statistic: 113.0
Date: Thu, 16 Feb 2017 Prob (F-statistic): 4.66e-18
Time: 10:27:13 Log-Likelihood: -509.62
No. Observations: 100 AIC: 1021.
Df Residuals: 99 BIC: 1024.
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
B 0.7249 0.068 10.629 0.000 0.590 0.860
==============================================================================
Omnibus: 3.447 Durbin-Watson: 1.724
Prob(Omnibus): 0.178 Jarque-Bera (JB): 2.856
Skew: 0.301 Prob(JB): 0.240
Kurtosis: 2.432 Cond. No. 1.00
==============================================================================
并检查 sm.add_constant()。