与其依赖残差的正态性检验,不如尝试用理性判断来评估正态性。正态性测试不会告诉你你的数据是正常的,只是它不是。但鉴于这些数据是一个样本,你可以很确定它们实际上是不正常的,没有经过测试。要求基本正常。测试不能告诉你。测试在大 N 或更严重时也变得非常敏感,灵敏度随 N 变化。您的 N 在灵敏度开始变高的范围内。如果您在 R 中多次运行以下模拟并查看图表,那么您会看到正态性检验在大量正态分布上显示“不正常”。
# set the plot area to show two plots side by side (make the window wide)
par(mfrow = c(1, 2))
n <- 158 # use the N we're concerned about
# Run this a few times to get an idea of what data from a
# normal distribution should look like.
# especially note how variable the histograms look
y <- rnorm(n) # n numbers from normal distribution
# view the distribution
hist(y)
qqnorm(y);qqline(y)
# run this section several times to get an idea what data from a normal
# distribution that fails the normality test looks like
# the following code block generates random normal distributions until one
# fails a normality test
p <- 1 # set p to a dummy value to start with
while(p >= 0.05) {
y <- rnorm(n)
p <- shapiro.test(y)$p.value }
# view the distribution that failed
hist(y)
qqnorm(y);qqline(y)
希望在通过模拟之后,您可以看到正态性检验可以轻松拒绝看起来非常正常的数据,并且来自正态分布的数据看起来可能与正常相去甚远。如果您想查看该 try 的极值n <- 1000
。分布看起来都正常,但仍然以与较低 N 值相同的速率未通过测试。相反,通过测试的低 N 分布看起来可能与正常相差甚远。
SPSS 中的标准残差图对于评估正态性并不是非常有用。您可以看到异常值、范围、拟合优度,甚至可能是杠杆作用。但常态很难从中得出。尝试以下模拟,比较直方图、分位数-分位数正态图和残差图。
par(mfrow = c(1, 3)) # making 3 graphs in a row now
y <- rnorm(n)
hist(y)
qqnorm(y); qqline(y)
plot(y); abline(h = 0)
从最后一个情节中很难分辨出正常性或其他任何事情,因此不能很好地诊断正常性。
总之,通常建议不要依赖正态性检验,而应依赖残差的诊断图。如果没有这些图表或问题中的实际值,任何人都很难就您的数据在分析或转换方面需要什么提供可靠的建议。为了获得最佳帮助,请提供原始数据。