文章目录
一、数据调用与预处理二、一元线性回归分析三、多元线性回归分析(一)解释变量的多重共线性检测(二)多元回归1. 多元最小二乘回归2. 逐步回归 (三)回归诊断 四、模型评价-常用的准则统计量一、数据调用与预处理
本文使用的数据为R语言自带数据集“iris”。iris数据集包含5个变量:
数值变量:Sepal.Length, Sepal.Width, Petal.Length, Petal.Width,
分类变量:Species
以下简述掉用过程和数据处理步骤。
data("iris")# 运行后 Environment 中的 Data 就会出现iris数据集#分类变量Species处理iris$isSetosa <- ifelse(iris$Species == 'setosa',1,0)iris$isVersicolor <- ifelse(iris$Species == 'versicolor',1,0)
二、一元线性回归分析
看散点图看起来有正相关关系
plot(iris$Petal.Length~iris$Petal.Width)
Petal 长与宽的一元线性回归
根据一元线性回归拟合结果,截距项(Intercept)和petal.width均通过t检验(估计参数的检验p值小于0.05,统计显著)。模型整体拟合优度( R 2 R^2 R2)为0.93,拟合效果较好。
拟合结果: p e t a l . l e n g t h = 2.23 × p e t a l . w i d t h + 1.08 petal.length = 2.23 \times petal.width + 1.08 petal.length=2.23×petal.width+1.08
pw_pl = lm(Petal.Length~Petal.Width, data = iris)#fomular = y~xsummary(pw_pl)
看一下pw_pl什么样子(非必要)
诊断Petal.Width与Petal.Length的一元线性回归
从残差图中看,残差形态无明显违背高斯假定的迹象。
p.res = residuals(pw_pl)p.fit <- predict(pw_pl)plot(p.res~p.fit)
Shapiro的原假设是检测变量符合正态分布,对petal长宽拟合的残差项的Shapiro正态检验中,P值大于0.05,无证据拒绝原假设,残差项是正态分布,符合一元线性回归要求。
shapiro.test(p.res)#正态检验
三、多元线性回归分析
多元线性回归基本假定:
随机误差条件均值为零随机误差同方差(时间序列)随机误差项无自相关随机误差项与解释变量不相关无多重共线性(解释变量之间)随机误差条件分布为正态分布
(一)解释变量的多重共线性检测
算相关系数矩阵iris_demo <- iris[,-5] #选取除了第5个变量(species)之外的其他变量cor(iris_demo)
2. 求矩阵条件数(kappa值)
kappa(cor(iris_demo))
3. 求解相关系数矩阵的特征值与相应的特征根
eigen(cor(iris_demo))
(二)多元回归
1. 多元最小二乘回归
lm_iris <- lm(iris$Petal.Length~.,data = iris_demo)summary(lm_iris)
2. 逐步回归
st_iris <- step(m_iris,derection = "both")summary(st_iris)
(三)回归诊断
lm.res = residuals(lm_iris)shapiro.test(lm.res)
st.res = residuals(st_iris)shapiro.test(st.res)
四、模型评价-常用的准则统计量
计量体系中,ESS(Explained Sum Squares)表示可解释(回归)平方和,RSS(Residual Sum Squares)表示残差平方和多元统计体系中,SSR(Sum of Squares Regression)为回归平方和,SSE(Sum of Squares Error)表示误差平方和总结:SST = TSS,ESS = SSR,RSS = SSET S S = E S S + R S S ; S S T = S S R + S S E TSS = ESS +RSS; SST= SSR + SSE TSS=ESS+RSS;SST=SSR+SSE E S S = S S R = Σ ( y ^ i − y ˉ i ) 2 ESS = SSR = \Sigma(\hat{y}_i - \bar{y}_i)^2 ESS=SSR=Σ(y^i−yˉi)2 R S S = S S E = Σ ( y i − y ^ i ) 2 RSS = SSE = \Sigma(y_i - \hat{y}_i)^2 RSS=SSE=Σ(yi−y^i)2n 表示自由度 拟合优度,越大越好
R 2 = E S S T S S R^2 = \frac{ESS}{TSS} R2=TSSESS调整的样本决定系数,越大越好
R ˉ 2 = 1 − ( 1 − R 2 ) n − 1 n − k − 1 \bar{R}^2 = 1-(1-R^2)\frac{n-1}{n-k-1} Rˉ2=1−(1−R2)n−k−1n−1均方误差RMS,越小越好
R M S = R S S × 1 n − k − 1 RMS = RSS \times \frac{1}{n-k-1} RMS=RSS×n−k−11赤池信息标准AIC,越小越好
A I C = e x p ( 2 ( k + 1 ) n ) R S S n AIC = exp(\frac{2(k+1)}{n})\frac{RSS}{n} AIC=exp(n2(k+1))nRSS施瓦茨信息标准SC,越小越好
S C = n k + 1 n R S S n SC = n^{\frac{k+1}{n}}\frac{RSS}{n} SC=nnk+1nRSS C p C_p Cp标准,越小越好
C p = R S S q σ ^ u 2 − [ n − 2 ( q + 1 ) ] C_p = \frac{RSS_q}{\hat\sigma^2_u} - [ n-2(q+1)] Cp=σ^u2RSSq−[n−2(q+1)]
R S S q RSS_q RSSq:包含q个自变量的自己回归的残差平方和
σ ^ u 2 = R S S n − k − 1 \hat\sigma^2_u = \frac{RSS}{n-k-1} σ^u2=n−k−1RSS:包含所有k个自变量时的均方误差
n − 2 ( q + 1 ) n-2(q+1) n−2(q+1):自由度惩罚因子