如何处理和变换变量?(三)

文章介绍了如何通过幂变换稳定泊松分布的数据,展示了随着均值增加,泊松分布的方差增大。通过Car包中的spreadLevelPlot函数,推荐了一个0.1125654的幂变换,使得数据分布更加集中。与平方根变换相比,这个变换展现了更强的压缩和稳定性。
摘要由CSDN通过智能技术生成

幂变换也可以稳定分布。下面的代码模拟了四个不同组的服从泊松分布的响应,其平均值分别为 5、10、15 和 20。

set.seed(523)
x <- rep(c(5,10,15,20), each=500)
y <- rpois(2000, lambda=x)

对于泊松分布来说,方差等于均值,因此均值20的组的方差要比均值5的组的方差大得多。

比较原始泊松随机变量与平方根变换变量的箱形图。

par(mfrow=c(1,2))
boxplot(y ~ x, main="Spread increases with level", xlab="level",
        ylab="Y ~ Poisson(level)")
boxplot(sqrt(y) ~ x, main="Spread is stabilised", xlab="level",
        ylab=expression(sqrt(Y))) 

 

从第一组方框图中观察各组响应的分布是如何扩大的。第二组方框图显示的是经平方根转换后的响应分布。各组内的分布明显更加均匀。换句话说,我们可以观察到,经过变换后的分布确实更集中了。

我们可以通过尝试不同的幂变换和检查图来找到一个能稳定分布的幂变换。Car软件包中的函数 spreadLevelPlot() 提供了一种更系统的方法。 我们添加了一个 0.5 的起始值,这样零计数就不会在对数变换中产生问题。函数 spreadLevelPlot() 可以生成表格和曲线图。在这里我们介绍一些常用的术语,“lower hinge”是各组样本的下四分位数。“upper hinge”是上四分位数。它们定义了Box图中方框的界限。“hinge spread”是四分位数之间的范围(IQR,四分位数范围 (IQR) 是第三个四分位数 (Q3) 和第一个四分位数 (Q1) 之间的差:IQR=Q3−Q1)。

spreadLevelPlot() 函数使用两个坐标轴的对数变换,绘制出hinge spread与中位数的对比图,然后对所绘制的点进行直线拟合。如果该直线的斜率为 b,则建议的幂变换(打印在表格底部)为 p = 1 - b。 

library(car)
par(mfrow=c(1,1))
spreadLevelPlot(y~x, start=0.5)

 

 在这种情况下,建议的幂变换是0.1125654。

p=0.1125654
boxplot(y^p ~ x, main="Suggested", xlab="level", ylab=expression(Y^p))

 

建议的幂变换和平方根变换相比,展现的是数据的一种极度的压缩,这个情况下的稳定程度已经非常强了。

(未完待续)

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值