statsmodels是python中专门用于统计学分析的包,它能够帮我们在模型未知的情况下来检验模型的线性显著性
更多回归模型见:statsmodels-formula-api
在建立回归方程前首先导入库
import statsmodels.api as smimport statsmodels.formula.api as smffrom statsmodels.formula.api import ols #加载ols模型from statsmodels.formula.api import poisson
statsmodel实现回归的基本步骤:
输入回归方程fit model as resultprint result
如果想进行多种回归且因变量自变量不变,则可以暂时先把他们储存起来,后续在建立模型的时候就可以直接使用x, y
from patsy import dmatricesy, X = dmatrices('like ~ stars + text_len + sentiment + polarity', data=df, return_type="dataframe")model = sm.OLS(y, X)res = model.fit()print(res.summary())
1. 多元线性回归
# OLS regressionmodel_ols = smf.ols(formula='like ~ stars + text_len + sentiment + polarity',data=df)res_ols = model_ols.fit()print(res_ols.summary())
结果解释详见:详解用 statsmodels 进行回归分析
2. 泊松回归 (Poisson)
# poisson regressionmodel_pos = poisson(formula='''like ~ stars + text_len + sentiment + polarity''',data=df)results_pos = model_pos.fit()print(results_pos.summary())
聚集标准误
# cluster standard errormodel_pos_clu = poisson(formula='''like ~ stars + text_len + sentiment + polarity''',data=df)results_pos_clu = model_pos_clu.fit(cov_type='cluster', cov_kwds={'groups': df['business_id']})print(results_pos_clu.summary())
参考来源:Clustered standard errors in statsmodels with categorical variables (Python)
参数详解:statsmodels.regression.linear_model.OLS.fit
更多结果提取:python statsmodel 回归结果提取(回归系数、t值、pvalue、R方、、、、)