我有一个奇怪的问题。假设您有一个小样本,其中您要使用简单线性模型分析的因变量高度左偏。因此你假设不是正态分布的,因为这会导致正态分布. 但是当您计算 QQ 正态图时,有证据表明残差是正态分布的。因此,任何人都可以假设误差项是正态分布的,尽管不是。那么,当误差项似乎是正态分布时,这意味着什么,但是才不是?
如果残差是正态分布的,但 y 不是?
回归问题中的残差呈正态分布是合理的,即使响应变量不是。考虑一个单变量回归问题,其中. 使得回归模型是合适的,并进一步假设. 在这种情况下,虽然真实回归模型的残差是正态的,但取决于分布,作为条件均值是一个函数. 如果数据集有很多值接近于零并且逐渐减少的值越高, 那么分布将向右倾斜。如果值是对称分布的,那么将对称分布,依此类推。对于回归问题,我们只假设响应是正态的,取决于.
当然,@DikranMarsupial 是完全正确的,但在我看来,说明他的观点可能会很好,特别是因为这种担忧似乎经常出现。具体来说,回归模型的残差应该是正态分布的,以使 p 值正确。但是,即使残差是正态分布的,也不能保证将是(并不重要......);这取决于分布.
让我们举一个简单的例子(我正在编造)。假设我们正在测试一种治疗单纯收缩期高血压的药物(即最高血压值太高)。让我们进一步规定收缩压在我们的患者群体中呈正态分布,平均值为 160 和 SD 为 3,并且对于患者每天服用的每毫克药物,收缩压下降 1mmHg。换句话说,真正的价值是 160,并且为-1,真实数据生成函数为:
(我对剂量进行了抖动,这样这些点就不会重叠太多以至于难以区分。)现在,让我们看看(即,它是边际/原始分布),以及残差:
qq图告诉我们不是很正常,但残差是合理的正常。核密度图为我们提供了更直观的分布图。很清楚是tri-modal,而残差看起来很像正态分布。
但是拟合的回归模型呢,非正态的效果是什么&(但正常残差)?为了回答这个问题,我们需要说明在这种情况下回归模型的典型性能我们可能会担心什么。第一个问题是,平均而言,Beta 是不是?(当然,它们会反弹一些,但从长远来看,贝塔的抽样分布是否以真实值为中心?)这是偏差的问题。另一个问题是,我们能相信我们得到的 p 值吗?也就是说,当原假设为真时,是只有5%的时间?为了确定这些事情,我们可以模拟上述数据生成过程中的数据,以及药物无效的并行案例,大量次。然后我们可以绘制样本分布并检查它们是否以真实值为中心,并检查在 null 情况下关系“显着”的频率:
set.seed(123456789) # this make the simulation repeatable
b0 = 160; b1 = -1; b1_null = 0 # these are the true beta values
x = rep(c(0, 20, 40), each=100) # the (non-normal) drug dosages patients get
estimated.b1s = vector(length=10000) # these will store the simulation's results
estimated.b1ns = vector(length=10000)
null.p.values = vector(length=10000)
for(i in 1:10000){
residuals = rnorm(300, mean=0, sd=3)
y.works = b0 + b1*x + residuals
y.null = b0 + b1_null*x + residuals # everything is identical except b1
model.works = lm(y.works~x)
model.null = lm(y.null~x)
estimated.b1s[i] = coef(model.works)[2]
estimated.b1ns[i] = coef(model.null)[2]
null.p.values[i] = summary(model.null)$coefficients[2,4]
}
mean(estimated.b1s) # the sampling distributions are centered on the true values
[1] -1.000084
mean(estimated.b1ns)
[1] -8.43504e-05
mean(null.p.values<.05) # when the null is true, p<.05 5% of the time
[1] 0.0532
这些结果表明一切正常。
我不会走过场,但如果 已经是正态分布的,否则设置相同,原始/边际分布将与残差一样呈正态分布(尽管 SD 较大)。我也没有说明偏态分布的影响(这是这个问题背后的动力),但@DikranMarsupial 的观点在这种情况下同样有效,并且可以类似地说明。
在回归模型拟合中,我们应该检查每个水平的响应的正态性 ,但不是作为一个整体,因为它对这个目的毫无意义。如果你真的需要检查正常性,然后检查每个等级。