【发布时间】:2018-12-10 22:55:31
【问题描述】:
我正在尝试创建一个多元线性回归模型来预测 客人使用 statsmodels 在 Python 中对酒店的评分 (Reviewer_Score)。
Review_Total_Negative_Word_Counts是他们对酒店的负面评价持续了多长时间
Total_Number_of_Reviews 是酒店有多少评论
Review_Total_Positive_Word_Counts是他们对酒店的正面评价的持续时间
Total_Number_of_Reviews_Revewier_Has_Given 是客人在网站上给出的评论数
态度是一个分类变量:好或坏
原因是访问的原因(休闲或商务)
大陆是客人来自的大陆(多级)
Solo 是指旅行者是否为独自旅行者(“是”或“否”)
季节是客人入住酒店的季节(“秋季”、“冬季”、“夏季”、“春季”)
如您所见,我有一些数字和分类特征。
到目前为止我的代码是:
import statsmodels.formula.api as smf
lm = smf.ols(formula = 'Reviewer_Score ~ Review_Total_Negative_Word_Counts + Total_Number_of_Reviews + Review_Total_Positive_Word_Counts + Total_Number_of_Reviews_Reviewer_Has_Given + Attitude + Reason + Continent + Solo + Season', data = Hotel).fit()
lm.params
lm.summary()
我的问题是,当我查看参数(斜率和截距估计)以及 P 值时,它们看起来像:
每个分类特征的水平都包括在内,我只想有一个输出显示数字和分类特征的斜率和 p 值(不是分类特征中每个级别的斜率和 p 值!)
基本上,我希望斜率输出如下所示:
拦截
Total_Number_of_Reviews
Review_Total_Positive_Word_Counts
Total_Number_of_Reviews_Revewier_Has_Given
态度
原因
大陆
独奏
季节
我该如何做这样的事情来折叠水平并只显示每个变量的显着性和斜率值?
【问题讨论】:
-
对于像“大陆”这样的分类变量没有单一的斜率值,但可以计算整个类别的统计显着性,例如对于评级不依赖于大陆的零假设。这可以使用
results.wald_test_terms()自动完成,在您的情况下,results是lm。
标签: python pandas regression statsmodels