【发布时间】:2021-12-16 00:11:01
【问题描述】:
我有以下问题。我想使用来自statsmodels.formula.api 的logit 进行样本内预测。
查看我的代码:
import statsmodels.formula.api as smf
model_logit = smf.logit(formula="dep ~ var1 + var2 + var3", data=model_data)
到目前为止一切都很好。但我想使用我的模型进行样本内预测:
yhat5 = model5_logit.predict(params=["dep", "var1", "var2", "var3"])
这给出了一个错误ValueError: data type must provide an itemsize。
当我尝试时:
yhat5 = model5_logit.predict(params="dep ~ var1 + var2 + var3")
我遇到另一个错误:numpy.core._exceptions._UFuncNoLoopError: ufunc 'multiply' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U69')) -> None
如何使用 statsmodels.formula.api 对 Logit 模型进行样本内预测?
这对我没有帮助:How to predict new values using statsmodels.formula.api (python)
【问题讨论】:
-
没有你的数据很难重现,但可能是你的数据包含不兼容的不同类型,
(dtype('<U32'), dtype('<U69')),尝试转换变量的类型 -
你的代码中的model_data是什么?为什么你使用 model5_logit 而不是 model_logit?如果它们是 var,请提供值。
标签: python logistic-regression statsmodels