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}{\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):自由度惩罚因子
R语言计量(一):一元线性回归与多元线性回归分析相关推荐
- rstudio线性回归_R语言统计分析(一元线性回归和多元线性回归)
数据 表2 2003-2012某省运输业相关数据 年份 投资总额 (亿元) 从业人数 (万人) 能源投入 (万吨标准煤) 地区GDP (亿元) CO2排放量 (万吨) 2003年 320.1 166. ...
- matlab一元线性回归及多元线性回归方程
1.案例 %%1.bint表示回归系数区间估计可参考http://www.360doc.com/content/11/0801/20/2537127_137246007.shtml %2.r表示残差 ...
- matlab重复线性回归,(MATLAB)一元线性回归和多元线性回归
(MATLAB)一元线性回归和多元线性回归 (MATLAB)一元线性回归和多元线性回归 (MATLAB)一元线性回归和多元线性回归1.一元线性回归 2.多元线性回归2.1数据说明 2.2程序运行结果 ...
- 一元线性回归与多元线性回归
线性回归action精讲 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛.其表达形式为y = w'x+e,e为误差服从均值为0的正态分布 ...
- 机器学习:回归分析—— 一元线性回归、多元线性回归的简单实现
回归分析 回归分析概述 基本概念 可以解决的问题 基本步骤和分类 线性回归 一元线性回归 多元线性回归 回归分析概述 基本概念 回归分析是处理多变量间相关关系的一种数学方法.相关关系不同于函数关系,后 ...
- (MATLAB)一元线性回归和多元线性回归
(MATLAB)一元线性回归和多元线性回归 1.一元线性回归 2.多元线性回归 2.1数据说明 2.2程序运行结果 1.一元线性回归 直接看代码,目标是建立 y y y和 x x x的函数关系,即求 ...
- R语言案例分析:财政收入的多元相关与回归分析
R语言案例分析:财政收入的多元相关与回归分析 数据集下载 (mvcase3.xls)中的表Case3. y:财政收入 x1:国内生产总值 x2:能源消费总量 x3:从业人员总数 x4:全社会固 ...
- R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE
R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...
- R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息
R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型系数(coefficient).模型总结信息(summary).残差总结信 ...
最新文章
- h计算机二级基础知识题库,计算机二级考试试题
- dom定位的三种元素
- 概率密度函数与分布函数的几何含义
- docker -v 文件夹下没有数据_详细!快速入门指南!Docker
- 科大星云诗社动态20210406
- Equipment download - post processing
- 2.9 go mod 之本地仓库搭建
- php试题与答案(二),php面试题附答案二
- SL400在win7系统下硬盘安装Mac OS
- ICCV 2019|70 篇论文抢先读,含目标检测/自动驾驶/GCN/等(提供PDF下载)
- oj1138c语言,九度OJ 1138:进制转换 (进制转换)
- 企业微信oauth认证_OAuth验证接口
- 虚拟机重启网卡命令和防火墙关闭和开启
- LQ0141 纸张尺寸【水题】
- before和after怎么区分_before和after区别 after的用法
- 分身竞选总统?法国总统竞选这么干! 全息3d网
- 一份网络专业毕业设计
- php导出超过30W的大数据量excel表格,快速完成,测试20秒内
- 勤哲 mysql 2005_勤哲Excel服务器-学习与下载园地
- 屏幕标记软件-Pointofix介绍
热门文章
- Tableau疫情可视化
- 如何一键关闭所有视窗?
- 数据库复习——关系数据理论中的几个重要概念(闭包,逻辑蕴含,覆盖...)
- 什么样的笔记本适合编程?
- 金融风控指标:WOE, IV, KS,LIFT值和PSI
- CAD中插入外部参照字体会变繁体_为什么CAD插入相同图框但尺寸却相差很多?
- chrome浏览器使用js导出Excel出现网络错误
- 用机器学习计算工作技能匹配度
- 线代 | 【提神醒脑】自用笔记串联三 —— 相似对角化 · 二次型 · 合同变换
- Javaweb基础配置模板(mybatis+javaweb)