快捷搜索:  汽车  科技

r语言中进行相关性分析,R语言数据特征分析

r语言中进行相关性分析,R语言数据特征分析Pearson相关系数一般用于分析两个连续性变量之间的关系,其计算公式如下:(1)Pearson相关系数需要同时考察多个变量间的相关关系时,一一绘制它们之间的散点图会十分麻烦。此时可利用散点图矩阵来同时绘制各变量间的散点图,从而快速发现多个变量间的主要相关性,这在进行多元线性回归时显得尤为重要。3、计算相关系数为了更加准确地描述变量之间的线性相关程度,可以通过计算相关系数进行相关分析。在二元变量的相关分析过程中比较常用的有Pearson相关系数、Spearman秩相关系数和判定系数。

r语言中进行相关性分析,R语言数据特征分析(1)

分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程称为相关分析。

1、直接绘制散点图

判断两个变量是否具有线性相关关系最直观的方法是直接绘制散点图。

r语言中进行相关性分析,R语言数据特征分析(2)

2、绘制散点图矩阵

需要同时考察多个变量间的相关关系时,一一绘制它们之间的散点图会十分麻烦。此时可利用散点图矩阵来同时绘制各变量间的散点图,从而快速发现多个变量间的主要相关性,这在进行多元线性回归时显得尤为重要。

3、计算相关系数

为了更加准确地描述变量之间的线性相关程度,可以通过计算相关系数进行相关分析。在二元变量的相关分析过程中比较常用的有Pearson相关系数、Spearman秩相关系数和判定系数。

(1)Pearson相关系数

Pearson相关系数一般用于分析两个连续性变量之间的关系,其计算公式如下:

r语言中进行相关性分析,R语言数据特征分析(3)

相关系数r的取值范围:-1<=r<=1

r语言中进行相关性分析,R语言数据特征分析(4)

0<|r|<1表示存在不同程度线性相关:

r语言中进行相关性分析,R语言数据特征分析(5)

(2)Spearman秩相关系数

Pearson线性相关系数要求连续变量的取值服从正态分布。不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数,也称等级相关系数来描述。

其计算公式如下:

r语言中进行相关性分析,R语言数据特征分析(6)

对两个变量成对的取值分别按照从小到大(或者从大到小)顺序编秩,Ri代表Xi的秩次,Qi代表Yi的秩次,Ri-Qi为Xi、Yi的秩次之差。

下面给出一个变量x=(X1 X2 ... Xi ... Xn)秩次的计算过程:

r语言中进行相关性分析,R语言数据特征分析(7)

对于一个变量,相同的取值必须有相同的秩次,所以在计算中采用的秩次是排序后所在位置的平均值。

只要两个变量具有严格单调的函数关系,那么它们就是完全的Spearman相关的,这与Pearson相关不同,Pearson相关只有在变量具有线性关系时才是完全相关的。

上述两种相关系数在实际应用计算中都要对其进行假设检验,使用t检验方法检验其显著性水平以确定其相关程度。在正态分布假定下,Spearman秩相关系数与Pearson相关系数在效率上是等价的,而对于连续测量数据,更适合用Pearson相关系数进行分析。

(3)判定系数

判定系数是相关系数的平方,用r^2表示,用来衡量回归方程对y的解释程度。判定系数取值范围为:0<=r^2<=1。r^2越接近于1,表明x与y之间的相关性越强;r^2越接近于0,表明两个变量之间几乎没有直线相关关系。

下面将通过餐饮系统不同菜品的日销量数据,来进行不同菜品间的相关性分析。数据的下载地址为:https://github.com/windform/R/blob/master/R语言数据挖掘/数据质量分析/chapter3/data/catering_sale_all.csv

菜品日销量数据格式如下:

r语言中进行相关性分析,R语言数据特征分析(8)

分析代码如下:

> # 读取数据

> cordata <- read.csv(file = "./data/catering_sale_all.csv" header = TRUE)

> # 求出相关系数矩阵

> cor(cordata[ 2:11])

百合酱蒸凤爪 翡翠蒸香茜饺 金银蒜汁蒸排骨 乐膳真味鸡 蜜汁焗餐包 生炒菜心 铁板酸菜豆腐 香煎韭菜饺 香煎罗卜糕 原汁原味菜心

百合酱蒸凤爪 1.000000000 0.009205803 0.01679933 0.45563817 NA 0.30849559 0.20489784 0.12744825 -0.09027555 0.42831626

翡翠蒸香茜饺 0.009205803 1.000000000 0.30443437 -0.01227936 NA -0.18044636 -0.02690814 0.06234445 0.27027633 0.02046215

金银蒜汁蒸排骨 0.016799326 0.304434367 1.00000000 0.03513460 NA -0.18428973 0.18727155 0.12154343 0.07780811 0.02907437

乐膳真味鸡 0.455638166 -0.012279359 0.03513460 1.00000000 NA 0.32546172 0.29769187 -0.06886643 -0.03022205 0.42187795

蜜汁焗餐包 NA NA NA NA 1 NA NA NA NA NA

生炒菜心 0.308495593 -0.180446360 -0.18428973 0.32546172 NA 1.00000000 0.36978749 0.03823316 0.04989806 0.12298779

铁板酸菜豆腐 0.204897840 -0.026908140 0.18727155 0.29769187 NA 0.36978749 1.00000000 0.09554300 0.15795755 0.56733190

香煎韭菜饺 0.127448249 0.062344452 0.12154343 -0.06886643 NA 0.03823316 0.09554300 1.00000000 0.17833563 0.04968889

香煎罗卜糕 -0.090275548 0.270276328 0.07780811 -0.03022205 NA 0.04989806 0.15795755 0.17833563 1.00000000 0.08898022

原汁原味菜心 0.428316260 0.020462147 0.02907437 0.42187795 NA 0.12298779 0.56733190 0.04968889 0.08898022 1.00000000

由于缺失值的出现,相关系数计算结果中也出现了NA,但没有影响其他菜品的相关系数。从上面的结果可以看到:如果顾客点了“百合酱蒸凤爪”,则点“翡翠蒸香茜饺”、“金银蒜汁排骨”、“香煎萝卜糕”、“铁板酸菜豆腐”、“香煎韭菜饺”等主食类的相关性比较低,反而点“乐膳真味鸡”、“生炒菜心”、“原汁原味菜心”的相关性比较高。

猜您喜欢: