具有高度多重共线性和异常值的非常小的数据的回归

机器算法验证 回归 多重回归 多重共线性 小样本
2022-03-24 04:29:33

我正在进行促销反应分析。我有一个非常小的真实世界数据集,包含 25 个观察值和 15 个变量。变量具有高度的多重共线性,有些变量存在异常值另外,我不能使用机器学习方法,因为我需要可解释的系数。

这是我到目前为止所尝试的:

  1. 我使用了 GLM,但所有变量似乎都无关紧要。我知道一个事实是因变量对许多自变量有反应。
  2. 我使用了稳健回归,但基本上程序失败了,因为软件显示了一个错误,指出“观察的数量必须至少是系数数量的两倍。”

如果您能提出一些解决此问题的方法/技术或策略,我将不胜感激。谢谢并恭祝安康。

3个回答

我的建议是“不要尝试这样做”。

15 个变量的 25 个观测值是非常过拟合的,即使它满足线性回归的所有假设。共线性会弄乱您的标准错误并使输出对输入的微小变化高度敏感。异常值很可能是有影响的点(尽管它们可能不是)。

如果需要,您可以运行几个简单的回归,每个回归只有一个 IV。

但是,如果您需要使用所有这些 IV 运行某个模型,则需要更多数据。也许是 10 倍,也许更多。然后你可以尝试回归树。但是不要在这么小的数据集上使用它,因为它产生的任何东西也会过拟合(尽管许多树方法将简单地返回不包含此类数据的模型)。

从分析框架开始……我会说你有 15 个自变量可供选择。您没有 15 个必须包含在模型中的自变量。鉴于此,我有几个想法。希望其中之一会有所帮助。在尝试以下任何想法之前,我会仔细检查异常值。我会毫不犹豫地丢弃其中的一些(或在相应的时间段内使用虚拟变量)。

第一个想法是尝试我称之为手动逐步回归的方法。您首先使用与因变量具有最高绝对相关性的一个自变量进行简单的线性回归。接下来,您计算此回归的残差。并且您在与回归残差具有最高相关性的剩余变量中寻找自变量。接下来,您使用这两个自变量重新运行回归。您可以添加第 3 个或第 4 个变量,重复此过程,直到您可以确定没有一个剩余变量与您上次回归的残差足够相关。通常,以这种方式选择 3 或 4 个自变量后,您就完成了。当您添加更多内容时,模型通常会分解。这个过程通常是稳健的,

我的第二个想法是尝试适用于处理多重共线性变量的主成分分析 (PCA)。为了让它工作,你可能不得不减少变量的数量。在进行逐步回归探索之后,哪些变量是多余的就会变得清晰。PCA 的挑战在于它相当困难。除非你有合适的统计软件,否则它是相当难以访问的。它还经常产生一些黑匣子。主成分本质上是自变量组合的指标。有时,这些变量组合可能具有解释性说明(标准普尔 500 指数是一个很好的指数,可以捕捉 500 只不同股票的表现)。不幸的是,大多数主要成分都没有标准普尔 500 指数那样清晰的解释。

无论如何,我希望这些想法有所帮助。

如果这是一项调查分析,那么您可能想尝试一种称为“结构方程建模”的方法。这是定性分析的整个领域,但您可以使用像 Stata 这样的软件快速运行它。

您说您的数据是共线的事实正是 SEM 处理的问题。