什么是回归?

回归是指研究某一个变量(称为因变量)与一个或多个变量(称为自变量或解释变量)之间的相互依赖关系,或者说用自变量解释因变量的变化,进一步,对于自变量(在重复抽样中)的给定值,估计或预测因变量的总体均值。

变量间的关系:

(1)确定性关系或函数关系:研究的是确定现象非随机变量间的关系。

  • 是一一对应的确定关系
  • 设有两个变量x和y,变量y随变量 x一起变化,并完全依赖于x,当变量x取某个数值时,y依确定的关系取相应的值,则称y是x
    的函数,记为y=f(x),其中x称为自变量,y称为因变量
  • 各观测点落在一条线上

(2)统计依赖或相关关系:研究的是非确定现象随机变量间的关系。

  • 变量间关系不能用函数关系精确表达
  • 一个变量的取值不能由另一个(或某一些)变量唯一确定
  • 当变量x 取某个值时,变量y的取值可能有几个
  • 各观测点分布在直线周围

回归分析与相关分析的区别:

  • 相关分析中,变量x和变量y处于平等的地位;回归分析中,变量y称为因变量,处在被解释的地位,x称为自变量,用于预测因变量的变化
  • 相关分析中所涉及的变量x和y都是随机变量;回归分析中,因变量y是随机变量,自变量x可以是随机变量,也可以是非随机的确定变量
  • 相关分析主要是描述两个变量之间线性关系的密切程度;回归分析不仅可以揭示变量x对变量y的影响大小,还可以由回归方程进行预测和控制

回归分析的步骤:

  1. 根据客观对象的定性认识确定变量之间是否存在相关关系;
  2. 判断相关关系的大致类型;
  3. 绘制散点图,并初步推测回归模型;
  4. 进行回归分析并拟合出回归模型;
  5. 对回归模型的可信度进行检验;
  6. 运用模型进行预测;

R语言与回归分析

可决系数


可决系数定量地描述了Y的变化中可以用回归模型来说明的部分,即在被解释变量的变动中,由模型中解释变量所引起的比例。
注意:可决系数只是说明列入模型的所有解释变量对被解释变量的联合影响程度,不说明模型中每个解释变量的影响程度
回归的主要目的如果是经济结构分析,不能只追求高的可决系数,而是要得到总体回归系数可信的估计量。可决系数高并不一定每个回归系数都可信。
修正的可决系数与原来的可决系数的关系与区别: 关系:两者都是对模型拟合优度进行检验。修正后的可决系数是在原来的可决系数的基础上运用自由度进行了修正。 区别:修正后的可决系数消除了拟合优度评价中解释变量多少对决定系数计算的影响。对于包含解释变量个数不同的模型可以用调整后的可决系数来比较,但不能用原来的未调整的决定系数来比较。

举例:
为了研究某社区家庭月消费支出与家庭月可支配收入之间的关系,随机抽取并调查了12户家庭的相关数据。通过调查所得的样本数据能否发现家庭消费支出与家庭可支配收入之间的数量关系,以及如果知道了家庭的月可支配收入,能否预测家庭的月消费支出水平呢?

> consume=c(594,638,1122,1155,1408,1595,1969,2078,2585,2530)
> income=c(800,1100,1400,1700,2000,2300,2600,2900,3200,3500)

绘制出散点图:

> plot(income,consume)


注:
pch (绘图符号设置参数) :绘图时我们可以用各类符号显示数据,pch是plotting character 的缩写。pch缺省下设定数据显示为点状。pch 符号可以使用0 : 25来表示26 个标识(参看图pch 符号),如pch=23设定数据点显示形状为菱形;当pch=0时不显示任何符号;当然我们也可以任意指定如#;%; ¤; j;+;¡; :; o等符号。值得注意的是,21 : 25这几个符号可以使用bg=“颜色” 参数进行不同的颜色填充。颜色参数col则可以用于设置1:25所表示符号的颜色。

cex:指定符号的大小。cex是一个数值,表示pch的倍数,默认是1.5倍
lty:指定线条类型。lty=1代表实线,2至6都是虚线,虚的程度不一样
lwd:指定线条宽度,默认值为lwd=1,可以适当修改1.5倍、2倍等

求相关系数:

> cor(income,consume)
[1] 0.9882517

生成回归模型:
lm()函数

lm(formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset,...)
> model=lm(consume~income)           有截距
> modelCall:
lm(formula = consume ~ income)Coefficients:
(Intercept)       income  -103.172        0.777
> model=lm(consume~income-1)         无截距
> modelCall:
lm(formula = consume ~ income - 1)Coefficients:
income
0.7357

添加回归趋势线:

> abline(lm(consume~income))

提取估计系数:

 > coef(model)(Intercept)       income
-103.1717172    0.7770101

> coefficients(model)(Intercept)       income
-103.1717172    0.7770101

显示回归结果

> summary(model)Call:
lm(formula = consume ~ income)Residuals:Min      1Q  Median      3Q     Max
-113.54  -82.81  -52.80   69.66  201.74 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) -103.17172   98.40598  -1.048    0.325
income         0.77701    0.04249  18.289 8.22e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 115.8 on 8 degrees of freedom
Multiple R-squared:  0.9766,    Adjusted R-squared:  0.9737
F-statistic: 334.5 on 1 and 8 DF,  p-value: 8.217e-08

注:通过summary函数可以看出可决系数r.squared、残差等

绘制回归模型

 > plot(model)


预测

> point=data.frame(income=2000) > predict(model,point,interval="prediction”)       预测区间fit           lwr         upr 1 1471.329      1198.367    1744.291 > predict(model,point,interval="confidence")       置信区间fit          lwr         upr1 1471.329      1467.221    1475.437

注:
在函数predict中,参数model是之前建立的线形模型,point是要预测的点,参数interval="prediction"表示要求给出预测的区间(上下界)
置信区间估计(confidence interval estimate):利用估计的回归方程,对于自变量 x 的一个给定值 x0 ,求出因变量 y 的平均值的估计区间。
预测区间估计(prediction interval estimate):利用估计的回归方程,对于自变量 x 的一个给定值 x0 ,求出因变量 y 的一个个别值的估计区间。

如果求样本内X给定下的拟合值,可以调用fitted()函数

fitted(model)

如果求回归的残差,可以调用resid()函数

resid(model)

R语言学习笔记(二)——回归分析相关推荐

  1. R语言学习笔记8_回归分析和相关分析

    目录 八.回归分析和相关分析 8.1 相关性及其度量 8.1.1 相关性概念 8.1.2 相关分析 8.2 一元线性回归分析 8.2.1 数学模型 8.2.2 估计与检验 8.2.3 预测与控制 8. ...

  2. r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...

  3. R语言学习笔记 06 岭回归、lasso回归

    R语言学习笔记 文章目录 R语言学习笔记 比较lm.ridge和glmnet函数 画岭迹图 图6-4 <统计学习导论 基于R语言的应用>P182 图6-6<统计学习导论 基于R语言的 ...

  4. R语言学习笔记(1~3)

    R语言学习笔记(1~3) 一.R语言介绍 x <- rnorm(5) 创建了一个名为x的向量对象,它包含5个来自标准正态分布的随机偏差. 1.1 注释 由符号#开头. #函数c()以向量的形式输 ...

  5. R语言学习笔记——入门篇:第一章-R语言介绍

    R语言 R语言学习笔记--入门篇:第一章-R语言介绍 文章目录 R语言 一.R语言简介 1.1.R语言的应用方向 1.2.R语言的特点 二.R软件的安装 2.1.Windows/Mac 2.2.Lin ...

  6. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

  7. R语言学习笔记——入门篇:第三章-图形初阶

    R语言 R语言学习笔记--入门篇:第三章-图形初阶 文章目录 R语言 一.使用图形 1.1.基础绘图函数:plot( ) 1.2.图形控制函数:dev( ) 补充--直方图函数:hist( ) 补充- ...

  8. R语言学习笔记 07 Probit、Logistic回归

    R语言学习笔记 文章目录 R语言学习笔记 probit回归 factor()和as.factor() relevel() 案例11.4复刻 glm函数 整理变量 回归:Logistic和Probit- ...

  9. R语言学习笔记(八)--读写文件与网络爬虫

    R语言学习笔记(八) 1 工作路径 2 保存R对象 3 Scan函数 3-1 从控制台读取数据 3-2 从txt文件读取数据 3-3 从url读取数据 4 按行读写文本文件 5 读取文本文件(txt. ...

  10. R语言学习笔记(三)多元数据的数据特征、相关分析与图形表示

    文章目录 写在前面 独立性检验 χ2\chi^2χ2独立性检验 Fisher独立性检验 Cochran-Mantel-Haenszel χ2\chi^2χ2独立性检验 相关性分析 相关性检验 相关性检 ...

最新文章

  1. python write和writelines的区别_简单了解Python write writelines区别
  2. RDKit:运用RDKit计算USRCAT
  3. spark数据查询语句select_sparksql读取hive表中数据
  4. 使用Scala-IDE构建Maven项目
  5. 报错处理: syntax error near unexpected token `$‘\r‘‘ (linux中的^M)
  6. C++ 泛型编程模板 之 函数模板初步01
  7. 2018.09.16 loj#10243. 移棋子游戏(博弈论)
  8. 【ESSD技术解读-01】 云原生时代,阿里云块存储 ESSD 快照服务如何被企业级数据保护所集成?
  9. python深度学习库keras——安装
  10. BestCoder Round #4 之 Miaomiao's Geometry(2014/8/10)
  11. 关于javascript中apply()和call()方法的区别
  12. SqlServer批量插入测试数据
  13. Jenkins知识地图
  14. 基础知识(一)WPF与 Blend的关系,以及Blend如何快速生成xaml代码,即Path数据。
  15. 聊聊什么是探索式测试
  16. Discover the Web(找浏览器网页)
  17. 云计算实验室建设方案分享
  18. 里恩EDC论临床试验中与第三方中心实验室实时电子化传输和接收的技术实现以及风险应对
  19. 攻防世界——leaking
  20. adb乱码 windows_adb显示 部分乱码修改方法

热门文章

  1. 定义函数,实现折半查找算法
  2. IT服务公司经理专栏:小公司管理(3)
  3. 写给喜欢互联网技术的机械类学生
  4. 计算机硬盘分区win7,win7如何磁盘分区 教您win7磁盘分区
  5. java开发手机app_java可以开发哪些软件
  6. kindle paper white部分优化
  7. 50行的python游戏代码_教你使用50行Python代码刷王者荣耀金币
  8. HanLP中文分词、人名识别、地名识别
  9. 详解navigator对象
  10. ps cc2019 安装教程