我是靠谱客的博主 落后羊,这篇文章主要介绍R语言计量(一):一元线性回归与多元线性回归分析一、数据调用与预处理二、一元线性回归分析三、多元线性回归分析四、模型评价-常用的准则统计量,现在分享给大家,希望可以做个参考。
文章目录
- 一、数据调用与预处理
- 二、一元线性回归分析
- 三、多元线性回归分析
- (一)解释变量的多重共线性检测
- (二)多元回归
- 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~x
summary(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 = 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 表示自由度
- 拟合优度,越大越好
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}{hatsigma^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 hatsigma^2_u = frac{RSS}{n-k-1} σ^u2=n−k−1RSS:包含所有k个自变量时的均方误差
n − 2 ( q + 1 ) n-2(q+1) n−2(q+1):自由度惩罚因子
最后
以上就是落后羊最近收集整理的关于R语言计量(一):一元线性回归与多元线性回归分析一、数据调用与预处理二、一元线性回归分析三、多元线性回归分析四、模型评价-常用的准则统计量的全部内容,更多相关R语言计量(一):一元线性回归与多元线性回归分析一、数据调用与预处理二、一元线性回归分析三、多元线性回归分析四、模型评价-常用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复