第七节 线性回归模型入门
相关和回归的区别:回归是一种趋势考察,相关是一种紧密性的考察,从散点图看,点越分散程度表现为相关性,点呈现的趋势表现为回归
线性模型的几个重要点
独立性考察:wd检验
正态性考察:对残差,但是也可以先看看自变量和因变量是否存在强烈偏态
方差齐性考察:
决定系数:即百分之多少的变异程度可由当前模型解释
样本量的估算:经验值一般为纳入模型变量的20倍
建模前应该先对每个因变量和自变量做散点图,观察趋势,是否呈线性,是否存在强影响点
对于强影响点:是否数据出错,是否可以从专业性角度剔除,建立两个模型一个剔除强影响点一个不剔除看偏回归系数是否相差很大,计算杠杆率,考虑是否进行变量变换
残差分析:如果残差图呈水平均匀带状表示没有问题,如果呈现喇叭形考虑变量变换,如果呈抛物线形则模型中可能存在高次项没有纳入模型
从专业角度是否能解释该模型
dfreg = ccss.loc[:, ['s2', 's3', 'Qs9']] dfreg['cons'] = 1 dfreg.replace(['男', '女'], [1, 2], inplace=True) # 分类变量处理 from statsmodels.regression.linear_model import OLS regmodel = OLS(ccss.index1, dfreg.s2, missing='drop').fit() regmodel.summary()
Dep. Variable: | index1 | R-squared: | 0.853 |
---|---|---|---|
Model: | OLS | Adj. R-squared: | 0.853 |
Method: | Least Squares | F-statistic: | 6638. |
Date: | Mon, 13 Apr 2020 | Prob (F-statistic): | 0.00 |
Time: | 22:57:44 | Log-Likelihood: | -5789.6 |
No. Observations: | 1147 | AIC: | 1.158e+04 |
Df Residuals: | 1146 | BIC: | 1.159e+04 |
Df Model: | 1 | ||
Covariance Type: | nonrobust |
coef | std err | t | P>|t| | [0.025 | 0.975] | |
---|---|---|---|---|---|---|
s2 | 59.3372 | 0.728 | 81.477 | 0.000 | 57.908 | 60.766 |
Omnibus: | 106.498 | Durbin-Watson: | 1.752 |
---|---|---|---|
Prob(Omnibus): | 0.000 | Jarque-Bera (JB): | 34.103 |
Skew: | -0.093 | Prob(JB): | 3.93e-08 |
Kurtosis: | 2.176 | Cond. No. | 1.00 |
# 残差分析 resdf = pd.DataFrame({'fit':regmodel.fittedvalues, 'resid':regmodel.resid, 'zresid':regmodel.resid_pearson}) # regmodel.fittedvalues每个案列的预测值,regmodel.resid预测值和实测值之差,regmodel.resid_pearson标准化以后的残差
matplotlib.rcParams['font.sans-serif'] = ['Arial'] resdf.resid.plot.hist()