我正在尝试普通最小二乘法的示例,代码如下。
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
dat = sm.datasets.get_rdataset("Guerry", "HistData").data
results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
print(results.summary())
但我在下面得到这个错误,示例的来源在网站http://www.statsmodels.org/stable/index.html 我的 statsmodels 版本是 0.9,我只是像第一个朋友所说的那样删除 np,但是我仍然遇到同样的错误,所以它不起作用,这是我所能尝试的,请帮助我.....错误太长,所以我需要把它切成几块
第一部分如下:
AssertionError Traceback (most recent call last)
<ipython-input-6-1d91087b5e15> in <module>()
3 import statsmodels.formula.api as smf
4 dat = sm.datasets.get_rdataset("Guerry", "HistData").data
----> 5 results = smf.ols('Lottery ~ Literacy + log(Pop1831)', data=dat).fit()
6 print(results.summary())
~\Anaconda3\lib\site-packages\statsmodels\base\model.py in from_formula(cls, formula, data, subset, drop_cols, *args, **kwargs)
153
154 tmp = handle_formula_data(data, None, formula, depth=eval_env,
--> 155 missing=missing)
156 ((endog, exog), missing_idx, design_info) = tmp
157
~\Anaconda3\lib\site-packages\statsmodels\formula\formulatools.py in handle_formula_data(Y, X, formula, depth, missing)
63 if data_util._is_using_pandas(Y, None):
64 result = dmatrices(formula, Y, depth, return_type='dataframe',
---> 65 NA_action=na_action)
66 else:
67 result = dmatrices(formula, Y, depth, return_type='dataframe',
第二部分如下:
~\Anaconda3\lib\site-packages\patsy\highlevel.py in dmatrices(formula_like, data, eval_env, NA_action, return_type)
308 eval_env = EvalEnvironment.capture(eval_env, reference=1)
309 (lhs, rhs) = _do_highlevel_design(formula_like, data, eval_env,
--> 310 NA_action, return_type)
311 if lhs.shape[1] == 0:
312 raise PatsyError("model is missing required outcome variables")
相关分类