为什么从判别分析中对预测变量的预测是不完美的

机器算法验证 回归 判别分析
2022-03-22 18:56:10

我对使用线性判别分析发现的一些东西感到困惑。这就是问题所在——我首先使用 20 个左右的自变量运行判别分析来预测 5 个段。在输出中,我要求预测段,大约 80% 的情况与原始段相同。然后我再次使用相同的自变量运行判别分析,但现在尝试预测预测段。我原以为我会得到 100% 的正确分类率,但这并没有发生,我不知道为什么。在我看来,如果判别分析不能以 100% 的准确度预测它自己的预测段,那么不知何故,它不是一个最佳程序,因为存在一个可以获得 100% 准确度的规则。我错过了什么?

注意 - 这种情况似乎与线性回归分析中的情况相似。如果你适合模型y=a+bX+error并使用与您将获得的相同数据的估计方程y^[=a^+b^X]。现在如果你估计模型y^=a^+b^X+error,你会发现同样的a^b^和以前一样,没有错误,并且 R2 = 100%(完美拟合)。我虽然线性判别分析也会发生这种情况,但事实并非如此。

注 2 - 我在 SPSS 中使用判别分析运行此测试。

2个回答

这在机器学习的情况下是很正常的——它不需要是最优的,它必须是通用的。

我对你的推理感到不安,但这里有一些你应该考虑的事情。

通常,模型越适合训练数据,模型在独立验证数据集上的表现就越差。通过将模型过度拟合到训练集,您可能会捕获特定于您正在使用的训练集的预测器-响应关系。这些关系很可能是随机的。在构建分类模型时,您只想捕获所有训练集共有的预测器-响应关系。这需要仔细选择正确大小的模型(大到足以捕捉真正的预测器-响应关系,小到不会过度拟合您的特定训练集。)

此外,线性回归给出的 R^2 为 1 的事实并没有多大意义。例如,我可以生成一个包含 N(0,1) 个观察值的 101 X 100 矩阵,将第一列作为“响应”,将其他 100 列作为“预测变量”。即使“响应”和“预测变量”是独立的(假设行/列是线性独立的,如果它们都是 N(0,1 ) 观察。)因此,在您的 n=5 观察、p=20 预测变量的情况下,您可以选择任意 5 个预测变量并获得完美拟合。R^2 通常是一个很差的模型评估指标。

此外,除非您确定预测变量的条件分布是多元正态分布并且预测变量具有共同的协方差矩阵,否则 LDA 可能不是这里的最佳选择。有几种更好的非参数/半参数方法可用。

也许您可以稍微澄清一下您的帖子以获得更好的回应。