失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > R语言计量(一):一元线性回归与多元线性回归分析

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

时间:2020-05-30 17:04:50

相关推荐

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~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 = 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​)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+1​nRSS​ 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):自由度惩罚因子

如果觉得《R语言计量(一):一元线性回归与多元线性回归分析》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。