计量(一):一元线性回归与多元线性回归分析【R语言】

文章目录

一、数据调用与预处理

本文使用的数据为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)

二、一元线性回归分析

  1. 看散点图
    看起来有正相关关系
plot(iris$Petal.Length~iris$Petal.Width)

计量(一):一元线性回归与多元线性回归分析【R语言】

  1. 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~x
summary(pw_pl)

计量(一):一元线性回归与多元线性回归分析【R语言】
看一下pw_pl什么样子(非必要)
计量(一):一元线性回归与多元线性回归分析【R语言】

  1. 诊断Petal.Width与Petal.Length的一元线性回归
    从残差图中看,残差形态无明显违背高斯假定的迹象。
p.res = residuals(pw_pl)
p.fit <- predict(pw_pl)
plot(p.res~p.fit)

计量(一):一元线性回归与多元线性回归分析【R语言】
Shapiro的原假设是检测变量符合正态分布,对petal长宽拟合的残差项的Shapiro正态检验中,P值大于0.05,无证据拒绝原假设,残差项是正态分布,符合一元线性回归要求。

shapiro.test(p.res)#正态检验

计量(一):一元线性回归与多元线性回归分析【R语言】

三、多元线性回归分析

多元线性回归基本假定:

  1. 随机误差条件均值为零
  2. 随机误差同方差
  3. (时间序列)随机误差项无自相关
  4. 随机误差项与解释变量不相关
  5. 无多重共线性(解释变量之间)
  6. 随机误差条件分布为正态分布

(一)解释变量的多重共线性检测

  1. 算相关系数矩阵
iris_demo <- iris[,-5] #选取除了第5个变量(species)之外的其他变量
cor(iris_demo)

计量(一):一元线性回归与多元线性回归分析【R语言】
2. 求矩阵条件数(kappa值)

kappa(cor(iris_demo))

计量(一):一元线性回归与多元线性回归分析【R语言】
3. 求解相关系数矩阵的特征值与相应的特征根

eigen(cor(iris_demo))

计量(一):一元线性回归与多元线性回归分析【R语言】

(二)多元回归

1. 多元最小二乘回归

lm_iris <- lm(iris$Petal.Length~.,data = iris_demo)
summary(lm_iris)

计量(一):一元线性回归与多元线性回归分析【R语言】

2. 逐步回归

st_iris <- step(m_iris,derection = "both")
summary(st_iris)

计量(一):一元线性回归与多元线性回归分析【R语言】
计量(一):一元线性回归与多元线性回归分析【R语言】

(三)回归诊断

lm.res = residuals(lm_iris)
shapiro.test(lm.res)

计量(一):一元线性回归与多元线性回归分析【R语言】

st.res = residuals(st_iris)
shapiro.test(st.res)

计量(一):一元线性回归与多元线性回归分析【R语言】

四、模型评价-常用的准则统计量

  • 计量体系中,ESS(Explained Sum Squares)表示可解释(回归)平方和,RSS(Residual Sum Squares)表示残差平方和
  • 多元统计体系中,SSR(Sum of Squares Regression)为回归平方和,SSE(Sum of Squares Error)表示误差平方和
  • 总结:SST = TSS,ESS = SSR,RSS = SSE
  • T 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​)2
  • n 表示*度
  1. 拟合优度,越大越好
    R 2 = E S S T S S R^2 = \frac{ESS}{TSS} R2=TSSESS​
  2. 调整的样本决定系数,越大越好
    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​
  3. 均方误差RMS,越小越好
    R M S = R S S × 1 n − k − 1 RMS = RSS \times \frac{1}{n-k-1} RMS=RSS×n−k−11​
  4. 赤池信息标准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​
  5. 施瓦茨信息标准SC,越小越好
    S C = n k + 1 n R S S n SC = n^{\frac{k+1}{n}}\frac{RSS}{n} SC=nnk+1​nRSS​
  6. 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​=σ^u2​RSSq​​−[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):*度惩罚因子
上一篇:从零实现深度学习框架——动手实现Softmax回归


下一篇:机器学习中的数据