如何测试两个数据集之间的均方误差是否存在显着差异?

机器算法验证 回归 多重回归
2022-04-02 22:05:33

我想测试与健康患者相比,阿尔茨海默病是否会导致大脑衰老的变化。

因此,我构建了大脑记录的光谱参数(特征或因变量)与年龄(年龄是自变量)的线性回归模型。

现在我希望将模型拟合到健康患者身上,然后使用系数来计算阿尔茨海默病患者的预期年龄 - 比较健康数据集和阿尔茨海默病数据集的均方误差应该有助于显示是否存在差异因疾病而衰老。(即,如果对健康患者有效的模型对阿尔茨海默病患者失败,那么可能存在差异)

我想我会在 80% 的健康患者(训练集)上拟合线性回归模型,保留 20%(作为测试集)来计算 MSE。

我会使用交叉验证,但我最终会得到与折叠一样多的不同系数集,我怎么知道哪些适合阿尔茨海默病患者?也许是系数的平均值?不过,交叉验证的一个优点是我可以从健康患者的集合中获得 MSE 估计值的平均值和标准偏差,因此我可以使用它来确定健康和患病 MSE 之间偏差的显着性,这很方便。

我想我也可以从阿尔茨海默氏症患者中多次采样子集并创建一组 MSE 估计值,然后我可以计算其标准差和平均值以了解那里的方差,所以我知道它的敏感度是那个特定的数据集。(我应该用替换来做这个,即引导?为什么或为什么不呢?)

任何意见是极大的赞赏。

2个回答

MSE 显着性测试:

如果您的样本足够大以应用中心极限定理(例如,大于 30),您可以测试显着不同的 MSE。

您想要测试两个样本的均值是否显着不同,在这种情况下,样本是来自健康和阿尔茨海默病组的平方误差。这成为假设检验的标准案例。要测试真正的差异是否为零,假设:

MSE1MSE2N(0,s12N1+s22N2)

这与教科书*案例相同:

X¯1X¯2N(0,s12N1+s22N2)

其中 s 1是第一组平方误差的样本标准差,N 1是第一组的样本量,依此类推。从那里你可以找到单边 p 值

Pvalue=P(ZMSE1MSE2s12N1+s22N2)

另一种简单的方法是运行平方误差的 2 个样本 t 检验,它应该提供几乎相同的结果。

*假设您的教科书是Devore 和 Berk 的Modern Mathematical Statistics with Applications, Second Edition,尤其是第 490-491 页

替代选项 - 检验回归系数的显着性:

在您的回归中,您可以为阿尔茨海默氏症添加一个虚拟变量,并使用估计系数的标准误差来测试它是否与零显着不同。或者,如果您认为年龄和阿尔茨海默氏症相互作用,请添加一个年龄*阿尔茨海默氏症相互作用变量并测试该系数的显着性。

听起来像是一个有趣的设置。

只是为了重新陈述你的计划,你正在创建两个人群——健康人群和阿尔茨海默氏症人群。你们十个计划只对健康组使用 5 折交叉验证方法。然后,您计划将模型拟合到折叠的训练部分,最后比较应用于折叠测试部分的误差与阿尔茨海默氏症。

如果这是正确的,我认为最简单的方法是训练你的 5 个模型,将它们应用于各自的测试集以及阿尔茨海默氏症池。至少最初我会按倍数来比较人群之间的比较。如果结果是一致的,我认为你的状态很好。否则,您可能会对您训练的各种模型的系数进行比较。

如果您的结果非常奇怪,我只会跟进倒数第二段。