R语言相关系数的可视化

文章介绍了R语言中用于序列自相关、偏自相关以及简单相关性的计算和可视化方法,包括acf函数绘制自相关图,pacf函数绘制偏自相关图,以及使用corrgram和corrplot包创建相关图。此外,还展示了不同方法如circle、square、ellipse等对相关系数矩阵进行视觉表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

R相关系数的可视化

1、序列自相关

自相关是指同一时间序列在不同时间 t t t上取值的相关程度,假设时间序列 { X t } t = 1 T \{X_t\}_{t=1}^{T} {Xt}t=1T,则在 t t t t + n t+n t+n时刻见的相关性为
acf ⁡ n = r X t X t + n = ∑ ( X t − X t ‾ ) ( X t + n − X t + n ‾ ) ∑ ( X t − X t ‾ ) 2 ∑ ( X t + n − X t + n ‾ ) 2 \operatorname{acf}_{n}=r_{X_{t} X_{t+n}}=\frac{\sum\left(X_{t}-\overline{X_{t}}\right)\left(X_{t+n}-\overline{X_{t+n}}\right)}{\sqrt{\sum\left(X_{t}-\overline{X_{t}}\right)^{2} \sum\left(X_{t+n}-\overline{X_{t+n}}\right)^{2}}} acfn=rXtXt+n=(XtXt)2(Xt+nXt+n)2 (XtXt)(Xt+nXt+n)


2、序列偏自相关

序列 { X t } \{X_t\} {Xt} { X t + n } \{X_{t+n}\} {Xt+n}的序列相关是没有控制二者之间存在的时间序列( X t + 1 ∼ X t + n − 1 X_{t+1}\sim X_{t+n-1} Xt+1Xt+n1)相关性,在控制二者之间的序列后,其n阶偏相关性为
pacf ⁡ n = C o r r ( X t , X t + n ∣ X t + 1 , ⋯   , X t + n − 1 ) \begin{aligned} \operatorname{pacf}_{n} =Corr(X_t,X_{t+n}|X_{t+1},\cdots,X_{t+n-1}) \end{aligned} pacfn=Corr(Xt,Xt+nXt+1,,Xt+n1)


#---------相关性可视化-----------
library(car)  # 调用car包
library(corrgram) #相关图
library(RColorBrewer) #颜色调用
#1、自相关性
par(mfrow=c(1,1))
acf(airmiles,type = "correlation",lag.max = 10,
    plot = TRUE, na.action = na.fail, demean = TRUE)

#偏自相关性
pacf(airmiles,lag.max = 10)

在这里插入图片描述

在这里插入图片描述


3、简单相关

简单相关衡量了两个变量 X i X_i Xi Y i Y_i Yi(连续)间的相关程度,计算公式为
r = ∑ i = 1 n ( X i − X ˉ ) ( Y i − Y ˉ ) ∑ i = 1 n ( X i − X ˉ ) 2 ∑ i = 1 n ( Y i − Y ˉ ) 2 . r=\frac{\sum_{i=1}^{n}\left(X_{i}-\bar{X}\right)\left(Y_{i}-\bar{Y}\right)}{\sqrt{\sum_{i=1}^{n}\left(X_{i}-\bar{X}\right)^{2}} \sqrt{\sum_{i=1}^{n}\left(Y_{i}-\bar{Y}\right)^{2}}} . r=i=1n(XiXˉ)2 i=1n(YiYˉ)2 i=1n(XiXˉ)(YiYˉ).
以R自带的系统数据iris为例子

#2、简单相关分析
#散点图矩阵
pairs(~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width,
       data=iris, main="散点图矩阵")

#分组散点图
scatterplotMatrix(~Sepal.Length+Sepal.Width+
                    Petal.Length+Petal.Width | 
                    Species, data=iris) # |Species表示品种分类

#3D散点图
scatter3d(iris$Sepal.Length, 
          iris$Petal.Length, iris$Petal.Width)

在这里插入图片描述

在这里插入图片描述


3D打印

scatter3d(iris$Sepal.Length, 
          iris$Petal.Length, iris$Petal.Width)


4、相关图可视化

矩阵布局

corrgram(mtcars,order = TRUE)

corrgram(mtcars, order=TRUE,
         lower.panel=panel.shade , upper.panel=panel.pie)

corrgram(mtcars, order=TRUE,
         lower.panel=panel.shade , upper.panel=NULL)

corrgram (mtcars, order=TRUE, 
          lower.panel=panel.shade, 
          upper.panel=panel.pie,
          col.regions=colorRampPalette(c("darkgoldenrod4" ,"burlywood1","white",
                                        "darkkhaki", "darkgreen")))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


5、不同方法

library(corrplot) 
methods<-c("circle","square","ellipse","pie","shade","color")
par(mfrow=c(2,3))
M <- cor(mtcars)
t0 = mapply(function(x){corrplot(M, method=x, order="AOE" )} , methods)

在这里插入图片描述

相关系数矩阵热点图

par(mfrow=c(1,1))
corrplot(cor(mtcars), 
          method="color", 
          order = "AOE", 
          tl.col="black",
          tl.srt=45,
          addCoef.col="black")

在这里插入图片描述


6、其他一些修饰

par(mfrow=c(2,2))
corrplot(cor(mtcars),type="lower")
corrplot (cor(mtcars),type="lower",order="hclust",
          col = brewer.pal(n=8, name="RdYlBu"))
corrplot (cor (mtcars), type="upper", order="AOE",
          col=c("black", "white") ,bg="lightblue")
corrplot (cor(mtcars), type="upper", order="FPC",
          col = brewer.pal(n=8, name="PuOr"))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值