上次明明同学给大家分享的研究生让你paper发发发的几种数据方法,得到大家的广泛关注和好评,这里明明同学谢谢大家对“毕业零距离”的支持。其中的数据方差分析方法明明同学已经给大家分享过,今天明明同学给大家分享回归分析的R语言分析方法。
本文主要介绍以下内容:
• R语言中线性模型lm函数公式及参数
• 一元线性回归实现与检验过程讲解lm()函数
• R语言中广义线性模型glm()函数
R语言中线性回归方程拟合函数lm()
Lm()是R语言中拟合线性回归函数。官方文档对他的用法解释是这样的:
官方文档参数比较多,明明同学感觉没有必要研究那么多,这里明明同学讲解最常用的方法即:
lm(formula, data)
formula:表示你要拟合的公式,一般有以下几种
公式中特殊符号表达的含义为:
Data:你要拟合的数据集
下面明明同学以一元线性的例子为大家介绍如何使用R语言做回归分析(本部分数据为UsingR包里面的父亲身高和儿子身高数据)。
一元线性回归
这是最简单的回归形式,用于确定两个变量之间的关系。也就是说,给定一个变量,回归告诉我另外一个变量的期望值是多少。分析中所形成的这种关系称为回归模型,其中以一条直线方程表明两个变量依存关系的模型叫做一元线性模型也称为简单的线性回归。其主要步骤包括:建立回归模型、求解回归模型中的参数、对回归模型进行检验。
UsingR包里面的父亲身高和儿子身高数据(单位英尺)
用ggplot2包的ggplot函数做散点图查看数据大致趋势
从图中可以看出数字大致成直线分布,此时用ggplot2包中的geom_smooth(method=”lm”)为图形添加线性回归直线查看直线位置和走势。
到此我们把回归模型的图做出来了,但是这个图并没有把结果提供给我们,所以我们在R语言中用lm()函数来实际计算回归方程。过程如下图
从图结果中红色框框可以看出拟合的模型截距项为33.886,fheight的系数为0.51409。所以拟合的方程结果为sheight = 0.51409fheight + 33.886 。从结果中还可以看出R2为0.2513,F检验值为361.2自由度为(1,1076),系数P检验值和模型P检验值都小于0.05,于是在α=0.05水平处拒绝H0,接受H1,即本例回归系数有统计学意义,两个变量之间有显著的回归关系。
使用plot(模型拟合结果)查看模型拟合图
Q-Q图
正态性当预测变量值固定时,因变量成正态分布,则残差值也应该是一个均值为0的正态分布。正态Q-Q图(Normal Q-Q,右上)是在正态分布对应的值下,标准化残差的概率图。若满足正态假设,那么图上的点应该落在呈45度角的直线上;若不是如此,那么就违反了正态性的假设。
残差图与拟合图
变量之间线性是否好,在“残差图与拟合图”( Residuals vs Fitted)中如果是一条直线说明变量之间线性关系很好。
位置尺度图
同方差性若满足不变方差假设,那么在位置尺度图(Scale-Location Graph)中,水平线周围的点应该随机分布
库克距离
R语言中广义线性模型glm()函数
广义线性模型
现实生活中并非所有的数据都适合用线性回归模型,像二项分布(真/假)数据、计数数据或者其他的数据形式都不适合。为了模拟这些类型的数据、发展了广义线性模型。
广义线性模型glm():
glm(formula , family=gaussian , data,…)
formula:的写法可以参考lm()函数,公式写法是一样的。
Family 为分布族,包括正态分布(gaussian)、二项分布(binomial)、泊松分布(poisson)和伽马分布(gamma),分布族还可以通过选项Link = 来指定使用的链接函数。
常用的链接函数:
二项族里有logit 、probit 、 cauchit 、 log 、 cloglog ;伽马族有inverse、identify、log;泊松族有log、identify、和sqrt。
Data 是数据框
实例:
我们对45名驾驶员调查结果进行如下统计:
x1 : 表示视力状况,是一个分类变量,1表示好,0表示有问题;
x2 : 年龄,数值型
x3 : 驾车教育,分类变量 1表示参加过驾车教育 , 0 表示没有
y :分类变量 表示去年是否出过事故 , 1表示出过事故 , 0表示没有
我们这里考查前三个变量x1 , x2 , x3与发生事故的关系
这里用逻辑斯蒂进行回归拟合
由结果可知,x2 和 x3并没有通过检验,下一步用step()函数,逐步回归在进行变量的筛选。
看出最终只有变量x1入选模型。然后对模型就行预测,即对视力正常的和视力有问题的司机分别作预测,即预测发生交通事故的概率。
由此可见眼睛有问题的司机的交通事故率是眼睛正常的司机交通事故率的差不多两倍
下次明明同学给大家讲解如何在R语言中轻松实现判别分析。
查看历史文章学习更多数据分析技巧、EXCEL和PPT使用技巧
有任何问题可以添加明明同学微信,提供数据分析业务和帮助,帮助你解决数据分析的难处。
毕业零距离致力于为本科生、研究生以及刚入职场的小伙伴提供数据分析、办公软件的方法和技巧。
明明同学已经开通数据处理、电子视频相册制作、PPT制作、照片处理等业务,欢迎大家关注。明明同学,你身边的科研小助手。