前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言数据分析与挖掘(第四章):回归分析(1)——一元回归分析

R语言数据分析与挖掘(第四章):回归分析(1)——一元回归分析

作者头像
DoubleHelix
发布2019-09-27 11:31:06
2.3K0
发布2019-09-27 11:31:06
举报
文章被收录于专栏:生物信息云

回归分析只涉及到两个变量的,称一元回归分析。一元回归的主要任务是从两个相关变量中的一个变量去估计另一个变量,被估计的变量,称因变量,可设为Y;估计出的变量,称自变量,设为X。回归分析就是要找出一个数学模型Y=f(X),使得从X估计Y可以用一个函数式去计算。当Y=f(X)的形式是一个直线方程时,称为一元线性回归。这个方程一般可表示为Y=A+BX。根据最小平方法或其他方法,可以从样本数据确定常数项A与回归系数B的值。A、B确定后,有一个X的观测值,就可得到一个Y的估计值。回归方程是否可靠,估计的误差有多大,都还应经过显著性检验和误差计算。有无显著的相关关系以及样本的大小等等,是影响回归方程可靠性的因素。R语言中的一元线性回归是用lm()函数实现的。

lm是用来满足线性模型。它可以用来进行回归,单地层分析,方差和协方差分析,这里介绍一元回归。

代码语言:javascript
复制
lm(formula, data, subset, weights, na.action,
   method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE,
   singular.ok = TRUE, contrasts = NULL, offset, ...)

参数:formula

类对象"formula"(或一个可以强制这一类):将装有模型的一个象征性的描述。在“详细信息”型号规格的细节。

参数:data

一个可选的数据框,列表或环境(as.data.frame到一个数据框或对象强制转换)包含在模型中的变量。如果没有找到data,environment(formula),通常是从哪个lm被称为环境变量。

参数:subset

一个可选的向量指定要在装修过程中使用的观测的子集。

参数:weights

一个向量。指定用于回归的每个观测值的权重。如果非NULL,加权最小二乘配重使用weights(是,较大限度地减少sum(w*e^2)),否则普通最小二乘使用(默认)。

参数:na.action

一个函数,指定缺失值处理方式。若为NULL,使用函数na.omit()删除缺失值。

参数:method

要使用的方法;进行拟合,目前只有method = "qr"支持method = "model.frame"返回的模型框架(model = TRUE,见下文相同)。

参数:model, x, y, qr

逻辑值。如果TRUE返回合适的模型框架,模型矩阵,响应,QR分解的相应部件。

参数:singular.ok

逻辑值。指定奇异拟合是否报错,默认TRUE。

参数:contrasts

可选列表。模型中因子对应的列表,为模型中的每一个因子指定一种对照方式,默认值为NULL。

参数:offset

这可以被用来指定一个先验已知的组件包括在装修过程中的线性预测。这应该是NULL或数字矢量的长度相等的情况数目。一个或多个offset条款可以包括在公式代替,以及,如果超过指定使用它们的总和。

下面以iris数据集进行实战演示:

代码语言:javascript
复制
# 利用iris数据集中的变量Sepal.Length和Petal.Width做回归
# formula 指定的对象
> (lm1=lm(Sepal.Length~Petal.Width,data=iris))
Call:
lm(formula = Sepal.Length ~ Petal.Width, data = iris)

Coefficients:
(Intercept)  Petal.Width  
     4.7776       0.8886  
# 4.7776 为变量Sepal.Length的数学期望
> summary(lm1) # 查看多个统计学指标

Call:
lm(formula = Sepal.Length ~ Petal.Width, data = iris)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.38822 -0.29358 -0.04393  0.26429  1.34521

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  4.77763    0.07293   65.51   <2e-16 ***
Petal.Width  0.88858    0.05137   17.30   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.478 on 148 degrees of freedom
Multiple R-squared:  0.669,  Adjusted R-squared:  0.6668 
F-statistic: 299.2 on 1 and 148 DF,  p-value: < 2.2e-16
# 在Coefficients选项中,对回归模型的参数进行显著性检验,重点看p值。
> par(mfrow=c(2,2))
> plot(lm1)
> (lm1=lm(Sepal.Length~Petal.Width,data=iris[-c(123,132),]))

Call:
lm(formula = Sepal.Length ~ Petal.Width, data = iris[-c(123, 
    132), ])

Coefficients:
(Intercept)  Petal.Width  
     4.7890       0.8649

> summary(lm1)

Call:
lm(formula = Sepal.Length ~ Petal.Width, data = iris[-c(123, 
    132), ])

Residuals:
     Min       1Q   Median       3Q      Max 
-1.35927 -0.26939 -0.02953  0.26508  1.02722

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  4.78897    0.06992   68.49   <2e-16 ***
Petal.Width  0.86488    0.04958   17.44   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4578 on 146 degrees of freedom
Multiple R-squared:  0.6758,  Adjusted R-squared:  0.6735 
F-statistic: 304.3 on 1 and 146 DF,  p-value: < 2.2e-16
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MedBioInfoCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档