我想在Python中(使用pandas、numpy、sklearn或类似生态系统)运行有序Logit回归,但我找不到任何方法来实现这一点。是我的搜索技巧不够,还是这种方法尚未在标准包中实现?
回答:
更新:Logit和Probit有序回归模型现已内置于statsmodels中。
https://www.statsmodels.org/devel/examples/notebooks/generated/ordinal_regression.html
from statsmodels.miscmodels.ordinal_model import OrderedModel
文档中给出了示例。例如:
import pandas as pd
from statsmodels.miscmodels.ordinal_model import OrderedModel
url = "https://stats.idre.ucla.edu/stat/data/ologit.dta"
data_student = pd.read_stata(url)
mod_log = OrderedModel(data_student['apply'],
data_student[['pared', 'public', 'gpa']],
distr='logit')
res_log = mod_log.fit(method='bfgs', disp=False)
res_log.summary()
需要注意的是,statsmodels
的开发版本远远领先于发布版本。他们表示,安装statsmodels
的开发版本用于日常使用是可以的。因此,我使用了以下命令:
pip3 install [email protected]:statsmodels/statsmodels.git
来进行安装。