Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用statsmodels mnlogit模型指定预测?_Python_Pandas_Prediction_Statsmodels - Fatal编程技术网

Python 如何使用statsmodels mnlogit模型指定预测?

Python 如何使用statsmodels mnlogit模型指定预测?,python,pandas,prediction,statsmodels,Python,Pandas,Prediction,Statsmodels,我正在运行一个mnlogit回归,我想做一些预测。 我的数据位于pandasDataFrame命名状态中,包含两列age和final_state(以及其他) 我可以通过运行以下命令对用于估算的样本进行预测: prediction = result.predict() 但是,如果我想使用子样本或任何其他数据,如下所示: prediction = result.predict(exog = state[['age']].query('age > 80')) prediction = resu

我正在运行一个
mnlogit
回归,我想做一些预测。 我的数据位于pandas
DataFrame
命名状态中,包含两列age和final_state(以及其他)

我可以通过运行以下命令对用于估算的样本进行预测:

prediction = result.predict()
但是,如果我想使用子样本或任何其他数据,如下所示:

prediction = result.predict(exog = state[['age']].query('age > 80'))
prediction = result.predict(exog = dict(age = [80, 90]))
prediction = result.predict(
    exog = dict(age = state[['age']].query('age > 80').values))
prediction = result.predict(exog = state[['age']])
我总是以同样的错误结束:

File "/usr/lib/python2.7/dist-packages/statsmodels/base/model.py", line 772, in predict
exog = dmatrix(self.model.data.design_info.builder,
AttributeError: 'PandasData' object has no attribute 'design_info'
如何计算子样本或人工数据的预测

这是杰弗里·风的第一句话,谢谢。

。结果表明,
mnlogit

不转换数据(而是手动添加常量)是一种解决方法:

from statsmodels.tools import add_constant
result.predict(add_constant(state['age']), transform=False)

看起来这个答案可能会回答您的问题:我认为您的DF格式不兼容。
from statsmodels.tools import add_constant
result.predict(add_constant(state['age']), transform=False)