侵权声明:

本篇文章是查阅各种网络技术博客撰写的,仅供学习使用,如有侵权立即删除。

下载使用数据,在公众号回复data。

一、相关分析和回归分析

变量间不存在完全的确定性,不能用精确的数学公式来表示——相关关系

相关变量间的关系——平行关系和依存关系

相关分析——研究平行关系,不区分自变量和因变量

回归分析——研究依存关系,区分自变量和因变量

二、简单线性相关系数

1 公式

总体:

样本:

在R中计算简单线性相关系数会用到cor()

它的标准格式:

代码:

setwd('F:/R project/multi_analysis')data1 x1 x2 cor(x1,x2)

结果:

[1] 0.9593031

2 检验

先说相关系数假设检验的理论知识:

H0:ρ=0

H1:ρ≠0

检验统计量为:

检验准则:

P值 < α,拒绝原假设,可认为两个变量之间是显著相关的。

在R中用到cor.test()进行检验,它的标准格式:

代码:

cor.test(x1,x2)

结果:

Pearson's product-moment correlationdata:  x1 and x2t = 10.743, df = 10, p-value = 8.21e-07alternative hypothesis: true correlation is not equal to 095 percent confidence interval:0.8574875 0.9888163sample estimates:cor 0.9593031

结果中“p-value = 8.21e-07”,当α取0.05时,可以拒绝原假设了,因此可以认为x1和x2之间显著相关。而且r = 0.9593031 ,说明x1和x2之间相关性还挺强的。

以上是两个变量之间的线性相关性,而在多元中,我们常常用协方差矩阵或者相关矩阵

来表示多个变量之间的相关性,用到的函数依旧是cov()和cor(),其实在这两个函数的标准格式

里就表明了这一点。

代码:

data1 cor(data1[,-1])pairs(data1[,-1],col = 'red')

结果:

y        x1        x2        x3        x4

y  1.0000000 0.9871498 0.9994718 0.9912053 0.6956619

x1 0.9871498 1.0000000 0.9907018 0.9867664 0.7818066

x2 0.9994718 0.9907018 1.0000000 0.9917094 0.7154297

x3 0.9912053 0.9867664 0.9917094 1.0000000 0.7073820

x4 0.6956619 0.7818066 0.7154297 0.7073820 1.0000000

这个图是散点图矩阵,可以直观地查看变量间的关系。

三、一般线性模型——lm()和nls()

1 一元线性回归

这个系列主要针对R语言的实际操作,原理部分可以参见统计学相关教材。

代码:

data1 attach(data1)fm #查看结果fm

结果:

Call:lm(formula = y ~ x)Coefficients:(Intercept)            x  -1.197        1.116

这个拟合的模型为:y = -1.197+1.116x

代码:

#绘图plot(x,y)lines(x,fitted(fm),col = 'red')

结果:

代码:

#假设检验#模型的检验anova(fm)

结果:

Analysis of Variance TableResponse: yDf Sum Sq Mean Sq F valuex          1 712077  712077   27427Residuals 29    753      26        Pr(>F)    x         < 2.2e-16 ***Residuals              ---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05‘.’ 0.1 ‘ ’ 1

可以看出,整个模型是显著的。

代码:

#回归系数的检验summary(fm)detach(data1)

结果:

Call:lm(formula = y ~ x)Residuals:Min     1Q Median     3Q    Max -6.631 -3.692 -1.535  5.338 11.432 Coefficients:Estimate Std. Error(Intercept) -1.19660    1.16126x            1.11623    0.00674t value Pr(>|t|)    (Intercept)   -1.03    0.311    x            165.61   <2e-16 ***---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05‘.’ 0.1 ‘ ’ 1Residual standard error: 5.095 on 29 degrees of freedomMultiple R-squared:  0.9989,Adjusted R-squared:  0.9989 F-statistic: 2.743e+04 on 1 and 29 DF,  p-value: < 2.2e-16

可以看出,回归系数是显著的。在一元回归模型中,F检验和 t检验的结果是一致等价的。

2 多元线性回归

和一元线性回归差不多,同样,理论部分请参见统计专业教材。

代码:

data1 attach(data1)fm fm

结果:

Call:lm(formula = y ~ x1 + x2 + x3 + x4)Coefficients:(Intercept)           x1           x2           x3  23.5321088   -0.0033866    1.1641150    0.0002919  x4  -0.0437416

拟合的模型为:

y = 23.5321088-0.0033866 x1+1.1641150x2 +0.0002919x3

-0.0437416x4

代码:

#检验summary(fm)detach(data1)

结果:

Call:lm(formula = y ~ x1 + x2 + x3 + x4)Residuals:Min      1Q  Median      3Q     Max -5.0229 -2.1354  0.3297  1.2639  6.9690 Coefficients:Estimate Std. Error t value Pr(>|t|)    (Intercept) 23.5321088  4.5990714   5.117 2.47e-05 ***x1          -0.0033866  0.0080749  -0.419    0.678    x2           1.1641150  0.0404889  28.751  < 2e-16 ***x3           0.0002919  0.0085527   0.034    0.973    x4          -0.0437416  0.0092638  -4.722 7.00e-05 ***---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 2.79 on 26 degrees of freedomMultiple R-squared:  0.9997,Adjusted R-squared:  0.9997 F-statistic: 2.289e+04 on 4 and 26 DF,  p-value: < 2.2e-16

F检验的p-value: < 2.2e-16,说明模型是显著的。另外回归系数的检验中,x2和x4是显著的。

3 非线性回归

做非线性回归需要提前知道拟合模型的形式,并且要给定各个参数的初始值。

代码:

data1 plot(data1$x,data1$y)

结果:

观察散点图,发现和 y = a*x^2+b*x+c类似,于是用这个模型拟合非线性模型。

代码:

attach(data1)fit fitdata1$fit library(ggplot2)ggplot(data1)+geom_point(aes(x,y))+geom_line(aes(x,fit),color = 'red')+theme_classic()

结果:

拟合的图形是用ggplot2绘制的,这个在R数据科学之ggplot2入门中已经介绍过了。

四、广义线性模型

第三部分介绍的一般线性模型解决的是因变量y是连续型变量的情况,那如果y是其他类型的变量呢?

(1)0-1变量——Logistic回归模型

(2)有序变量——累计比数模型和对数线性模型

(3)多分类变量——对数线性模型和多分类Logistic回归模型

(4)连续伴有删失——Cox比例风险模型

标准格式:

这里主要介绍Logistic模型,它用到Logit变换。

因为这里的y只能取0-1,不太符合我们的研究思路,所以通常将问题转化为:分析y = 1的概率和解释变量之间的关系。即为:

可是这样还是很麻烦,我们将其进行变换,就有了Logistic回归模型。

这个模型确定之后,也能确定P与解释变量X的关系。我们以一个具体的例子进行分析。这个案例是在研究视力(x1)、年龄(x2)和驾车教育(x3)对是否出现事故(y)的影响。

代码:

data1 fit fit

结果:

Call:  glm(formula = y ~ x1 + x2 + x3, family = "binomial", data = data1)Coefficients:(Intercept)           x1           x2           x3  0.597610    -1.496084    -0.001595     0.315865  Degrees of Freedom: 44 Total (i.e. Null);  41 ResidualNull Deviance:    62.18 Residual Deviance: 57.03 AIC: 65.03

所以得到:

我们可以进行简单的预测,视力正常、年龄在17岁、受过驾车教育的情况下,出现事故的概率怎么样?

代码:

temp p p

结果:

1

0.3521214

那么今天就说到这儿,这个系列下一篇更新主成分分析和因子分析方法~

多元相关性分析_多元统计分析与R语言建模之相关分析与回归分析相关推荐

  1. 多元统计分析及R语言建模_自定义函数: msaR.R

    #*********************************************** #****** 多元统计分析及R语言建模(第五版)****** #****** 自定义函数: msaR ...

  2. 多元统计分析及R语言建模(第五版)——第3章多元数据的直观表示课后习题

    第3章多元数据的直观表示 本文用到的数据可以去这个网址下下载多元统计分析及R语言建模(第5版)数据 练习题 2)表3-2是2004年广东省各市高新技术产品情况.试对资料按照本章介绍的多元图示方法做直观 ...

  3. 多元统计分析及R语言建模

    目录 一.数据矩阵数据框及R表示 1.创建向量和矩阵 1)创建一个向量 2)创建一个矩阵 2.矩阵其他运算 1)矩阵的转置,加法减,矩阵相乘,求矩阵C的逆 2)获得矩阵对角线元素 ,创建三阶单位矩阵 ...

  4. 多元统计分析及R语言建模(第五版)——第6章 判别分析课后习题

    第6章 判别分析 文章会用到的数据请在这个网址下下载多元统计分析及R语言建模(第五版)数据 练习题 1)考虑两个数据集x1 = [3 7 2 4 4 7],x2 = [6 9 5 7 4 8] (1) ...

  5. 多元统计分析及R语言建模(王斌会)第十、十一、十二章答案

    3)我国工农业产业系统的典型相关分析:首先将工业内部五个结构比重变量作为第一组分析变量:以农业产品为原料的生产部门的产值占总工业部门产值的比重:以非农业产品为原料的生产部门的产值占总工业部门产值的比重 ...

  6. 多元相关性分析_电子健康素养与中青年脑卒中患者健康行为的相关性分析

    电子健康素养与中青年脑卒中患者健康行为的相关性分析 戴春花 1, 王雪 1, 曾杏梅 1, 徐鹏翔 2, 冯基高 2 [ 摘要] 背景 近年来电子健康素养在慢性病患者的管理中受到广泛关注, 但目前关于 ...

  7. 多元相关性分析_初发儿童1型糖尿病患者甲状腺激素水平与糖脂代谢的相关性研究...

    苏海燕 单小鸥 林康 姜晗丹 施林微 325000温州医科大学附属第二医院.育英儿童医院儿童内分泌遗传代谢科(苏海燕.单小鸥.姜晗丹),手显微外科(林康),儿童呼吸科(施林微) 糖尿病和甲状腺疾病是内 ...

  8. 多元统计分析及R语言建模(王斌会)第八、九、十章答案

    1)试述主成分分析的基本思想 主成分分析是利用降维的思想,将多个变量转化为少数几个综合变量(即主成分),其中每个主成分都是原始变量的线性组合,各主成分之间互不相关,从而这些主成分能够反映始变量的绝大部 ...

  9. 多元统计分析及R语言建模#学习笔记

    最近在学习R语言,把书上的代码都敲一遍,仅供学习 函数c()创建向量 x1=c(171,175,159,155,152,158,154,164,168,166,159,164) x2=c(57,64, ...

  10. excel两个指标相关性分析_我用Excel发现了数据分析的本质:回归分析

    最近很多人都问我,为什么感觉数据分析越学越乱,经常是学了一大堆名词,真正遇到问题的时候却更多是直接套用模型,很难将这些理论联系起来. 这其实就回归到了一个至关重要的问题:数据分析的本质是什么? 事物都 ...

最新文章

  1. solr dataimport 数据导入源码分析(二)
  2. 数据库常用面试题(SQL Server) (转载)
  3. 拷贝Python对象、浅拷贝、深拷贝
  4. [NOI2014]动物园 【kmp】
  5. Tensorflow学习
  6. 变量dwNKDrWatsonSize
  7. python django model关联另一个实体类
  8. Start application automatically during controller boot-up
  9. CF594D. REQ
  10. SQL Server中行列转换 Pivot UnPivot (转载)
  11. Native App
  12. 【java】java 关键字: final详解
  13. linux装系统到u盘,萌新的Linux之路(1):安装Linux系统到U盘
  14. java中hashset_Java HashSet – Java中的HashSet
  15. 《JAVA与模式》之解释器模式
  16. EASY UI tree如何根据部分值来选中checkbox
  17. 51单片机原理以及接口技术(三)-80C51的指令系统
  18. 民商法领域的论文选题求推荐?
  19. 计算机毕业设计(附源码)python智慧门诊综合管理系统
  20. AGPS定位基本原理浅析

热门文章

  1. Spire.Office for .NET 7.9.2 去掉license.dll注册功能
  2. WiMAX与Wi-Fi、DSL和3G的竞合关系
  3. pdman 创建表同步数据库_PDMan-2.0 正式发布:用心开源,免费的国产数据库建模工具PowerDesigner...
  4. 74HC595芯片组成测试工具_流水灯
  5. csp是什么比赛_2020年CSP-J/S来了,你想知道的都在这里
  6. Python高级数据处理与可视化
  7. linux的火狐浏览器怎么用,火狐浏览器怎么用 火狐浏览器使用方法大全
  8. 创新科技 新BMW 7系 有你夫复何求
  9. 波粒二象性仿真理论(一) Wave Particle Duality Principle
  10. 《史蒂夫·乔布斯传》——童年篇有感