A) 数据违反正态性程度的最佳单一指标是什么?
B) 还是只讨论违反正态性的多个指标(例如,偏度、峰度、异常值流行率)更好?
我会投票给 B。不同的违规行为会产生不同的后果。例如,带有重尾的单峰对称分布会使您的 CI 非常宽,并且可能会降低检测任何影响的能力。然而,平均值仍然达到“典型”值。例如,对于非常偏斜的分布,平均值可能不是“典型值”的非常合理的指标。
C) 如何计算指数的置信区间(或者可能是贝叶斯方法)?
我不知道贝叶斯统计,但关于正态性的经典检验,我想引用 Erceg-Hurn 等人。(2008) [2]:
另一个问题是假设检验有自己的假设。正态性检验通常假设数据是同方差的;同方差性检验假设数据是正态分布的。如果违反正态性和同方差性假设,则可能会严重影响假设检验的有效性。著名的统计学家将内置于 SPSS 等软件中的假设检验(例如 Levene 检验、Kolmogorov-Smirnov 检验)描述为存在致命缺陷,并建议永远不要使用这些检验(D'Agostino,1986;Glass & Hopkins,1996)。
D) 你可以给该指数上的点分配什么样的语言标签来表示违反正常的程度(例如,轻度、中度、强烈、极端等)?
Micceri (1989) [1] 对 440 个大型心理学数据集进行了分析。他评估了对称性和尾重,并定义了标准和标签。不对称的标签范围从“相对对称”到“中等 --> 极端 --> 指数不对称”。尾部重量的标签范围从“均匀--> 小于高斯--> 关于高斯--> 中等--> 极端--> 双指数污染”。每个分类都基于多个稳健的标准。
他发现,在这 440 个数据集中,只有 28% 是相对对称的,只有 15% 是关于尾部权重的高斯分布。因此,这篇论文的标题很好:
独角兽、正常曲线和其他不可能的生物
我写了一个R
函数,它会自动评估 Micceri 的标准并打印出标签:
# This function prints out the Micceri-criteria for tail weight and symmetry of a distribution
micceri <- function(x, plot=FALSE) {
library(fBasics)
QS <- (quantile(x, prob=c(.975, .95, .90)) - median(x)) / (quantile(x, prob=c(.75)) - median(x))
n <- length(x)
x.s <- sort(x)
U05 <- mean(x.s[(.95*n ):n])
L05 <- mean(x.s[1:(.05*n)])
U20 <- mean(x.s[(.80*n):n])
L20 <- mean(x.s[1:(.20*n)])
U50 <- mean(x.s[(.50*n):n])
L50 <- mean(x.s[1:(.50*n)])
M25 <- mean(x.s[(.375*n):(.625*n)])
Q <- (U05 - L05)/(U50 - L50)
Q1 <- (U20 - L20)/(U50 - L50)
Q2 <- (U05 - M25)/(M25 - L05)
# mean/median interval
QR <- quantile(x, prob=c(.25, .75)) # Interquartile range
MM <- abs(mean(x) - median(x)) / (1.4807*(abs(QR[2] - QR[1])/2))
SKEW <- skewness(x)
if (plot==TRUE) plot(density(x))
tail_weight <- round(c(QS, Q=Q, Q1=Q1), 2)
symmetry <- round(c(Skewness=SKEW, MM=MM, Q2=Q2), 2)
cat.tail <- matrix(c(1.9, 2.75, 3.05, 3.9, 4.3,
1.8, 2.3, 2.5, 2.8, 3.3,
1.6, 1.85, 1.93, 2, 2.3,
1.9, 2.5, 2.65, 2.73, 3.3,
1.6, 1.7, 1.8, 1.85, 1.93), ncol=5, nrow=5)
cat.sym <- matrix(c(0.31, 0.71, 2,
0.05, 0.18, 0.37,
1.25, 1.75, 4.70), ncol=3, nrow=3)
ts <- c()
for (i in 1:5) {ts <- c(ts, sum(abs(tail_weight[i]) > cat.tail[,i]) + 1)}
ss <- c()
for (i in 1:3) {ss <- c(ss, sum(abs(symmetry[i]) > cat.sym[,i]) + 1)}
tlabels <- c("Uniform", "Less than Gaussian", "About Gaussian", "Moderate contamination", "Extreme contamination", "Double exponential contamination")
slabels <- c("Relatively symmetric", "Moderate asymmetry", "Extreme asymmetry", "Exponential asymmetry")
cat("Tail weight indexes:\n")
print(tail_weight)
cat(paste("\nMicceri category:", tlabels[max(ts)],"\n"))
cat("\n\nAsymmetry indexes:\n")
print(symmetry)
cat(paste("\nMicceri category:", slabels[max(ss)]))
tail.cat <- factor(max(ts), levels=1:length(tlabels), labels=tlabels, ordered=TRUE)
sym.cat <- factor(max(ss), levels=1:length(slabels), labels=slabels, ordered=TRUE)
invisible(list(tail_weight=tail_weight, symmetry=symmetry, tail.cat=tail.cat, sym.cat=sym.cat))
}
这是标准正态分布的检验,t使用 8 df 和对数正态:
> micceri(rnorm(10000))
Tail weight indexes:
97.5% 95% 90% Q Q1
2.86 2.42 1.88 2.59 1.76
Micceri category: About Gaussian
Asymmetry indexes:
Skewness MM.75% Q2
0.01 0.00 1.00
Micceri category: Relatively symmetric
> micceri(rt(10000, 8))
Tail weight indexes:
97.5% 95% 90% Q Q1
3.19 2.57 1.94 2.81 1.79
Micceri category: Extreme contamination
Asymmetry indexes:
Skewness MM.75% Q2
-0.03 0.00 0.98
Micceri category: Relatively symmetric
> micceri(rlnorm(10000))
Tail weight indexes:
97.5% 95% 90% Q Q1
6.24 4.30 2.67 3.72 1.93
Micceri category: Double exponential contamination
Asymmetry indexes:
Skewness MM.75% Q2
5.28 0.59 8.37
Micceri category: Exponential asymmetry
[1] Micceri, T. (1989)。独角兽、正常曲线和其他不可能的生物。心理公报,105,156-166。doi:10.1037/0033-2909.105.1.156
[2] Erceg-Hurn,DM 和 Mirosevich,VM(2008 年)。现代稳健的统计方法:一种最大限度地提高研究准确性和力量的简单方法。美国心理学家,63,591-601。