在R中进行假设检验偏度和/或峰度。

6
如何在假设检验中具体测试变量的偏度和/或峰度的零假设和备择假设?我是否需要在t.test中使用公式?
    t.test(data$variable, y = Null)

任何帮助都会受到赞赏。谢谢!
1个回答

15

您有很多选项。使用 momentse1071 包测试偏度和峰度的两种最佳方法:

duration <- data$variable # I'm going to call it duration

library(moments)
kurtosis(duration)
skewness(duration)

library(e1071)                    
skewness(duration)  
kurtosis(duration) 

我应该提一下,偏度和峰度几乎总是存在的(仅在绝对完美的正态分布中才不会),它们被解释为更像是一个梯度。小值大约是正常的,而较大的值意味着它来自于其他的分布,如Weibull等。

因此,通常你不会"测试"它以获得p值,而是"测量"它并解释系数,以确定它最接近的分布是哪一个。话虽如此,如果你想的话,你可以通过使用Galton的测量方法来代替Pearson的方法进行测试,然后测试是否与零有显著差异。但是我认为这并没有什么帮助,因为几乎所有的经验数据都会有一些显著的偏度和峰度,因此这只是一个多少的问题(即它是否足以使数据看起来更像另一个分布,或者数据是否仍然最接近正态分布)。

如果您想使用Galton的测量方法,您可以找到一个预先打包的实现,我相信moments提供了它,或者像这样自定义一个函数:

galtonskew.proc <- function(x){
  #
  #  Compute Galton's skewness measure for x
  #  NOTE: this procedure assumes no x values are missing
  #
  quarts <- as.numeric(quantile(x, probs = c(0.25, 0.5, 0.75)))
  num <- quarts[1] + quarts[3] - 2*quarts[2]
  denom <- quarts[3] - quarts[1]
  gskew <- num/denom
  gskew
}

嗨,Hack-R,谢谢你的解释。然而,我试图解决的问题确实要求进行测试。例如:"测试 H0:m3 = 0 vs Ha:K9!= 0,其中 K9 是变量的峰度"。 - Starbucks
1
@Starbucks 好的,那就是我在上一个段落第二句话中描述的情况。你可以做到这一点。你可能想要使用 Galton 的测量标准。你应该能够使用 'moments'。 - Hack-R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接