我的任务是为许多变量找到相关矩阵。其中许多有缺失值。我在这里读到,成对删除可能不是处理这种情况的最佳方法,但如果我使用列表删除,恐怕我最终会得到太少的数据。
我想知道是否可以使用最小二乘法估计缺失值,并使用现在完整的数据集计算相关性。
我的任务是为许多变量找到相关矩阵。其中许多有缺失值。我在这里读到,成对删除可能不是处理这种情况的最佳方法,但如果我使用列表删除,恐怕我最终会得到太少的数据。
我想知道是否可以使用最小二乘法估计缺失值,并使用现在完整的数据集计算相关性。
是的,您“可以”使用最小二乘法来做到这一点。但是,您可能需要一些参数假设才能做到这一点,这反过来可能需要一些有关相关矩阵的知识......
回到你原来的问题,我实际上反对你关于成对删除的参考。他发现的怪异行为主要是因为估算器是使用太小的数据集计算的。Pearson 相关性的经验估计量不能保证是正定的。此外,其缺失数据中存在某种模式:仅当的条目才会丢失。相反,让我们假设条目完全随机丢失。
:=计算的估计器对于数据矩阵仍然很有意义。与非缺失数据情况的最大区别在于,您现在得到了一些的条目,这些条目是在较少的数据上计算的;但他们仍然会估算您希望估算的数量。cor(X, use="pairwise.complete.obs")
不太清楚的是如何在所需的应用程序中使用:一些条目是在较少的数据上计算的这一事实意味着一些条目可能比其他条目更不可靠。但是,请注意,即使在经典情况下,某些条目也比其他条目更不可靠(这取决于基础分布)。
要了解在存在缺失数据的情况下使用所有可用的成对数据计算的影响,请考虑以下两种情况:
情况 1:您有一个数据矩阵 :=计算经验相关性。cor(X)
情况 2:您有一个数据矩阵,其中您对变量和其他任何地方成对观察。在这种情况下,您计算与 :=的经验相关性。NAcor(X, use="pairwise.complete.obs")
在这两种情况下,您都有相同数量的非NA对(尽管NA在第二种情况下更多的非条目)。但是,对于
假设您的变量确实相关,并且
不知何故,我倾向于认为估计之间的零相关性可能是一件好事更糟糕的是...
综上所述,成对删除不一定是一种不好的方法。