是否有一些标准程序(以便可以引用它作为参考)从具有最大相关性(仅二维)的较大池中选择数据点的子集?
例如,假设您有100个数据点。您需要一个40个点的子集,这些子集在X和Y维度上可能具有最强的相关性。
我意识到编写代码来做到这一点相对简单,但是我想知道是否有任何资料可以引用?
是否有一些标准程序(以便可以引用它作为参考)从具有最大相关性(仅二维)的较大池中选择数据点的子集?
例如,假设您有100个数据点。您需要一个40个点的子集,这些子集在X和Y维度上可能具有最强的相关性。
我意识到编写代码来做到这一点相对简单,但是我想知道是否有任何资料可以引用?
Answers:
我要说的是,您的方法适合此Wikipedia文章中描述的一般类别,如果您需要的不只是Wikipedia,还可以参考其他参考。该文章中的某些链接也将适用。
其他可能适用的术语(如果您想进行更多搜索)包括“数据挖掘”和“对数据进行折衷直到认罪”。
请注意,如果只选择x或y值不同的2个点,则始终可以得到1的相关性。几年前,《机会》杂志上有一篇文章表明,当您拥有x和y变量而基本上没有相关性时,您可以找到一种方法来对x进行分箱,并对bin中的y取平均值,以显示出上升或下降趋势(机会2006年,视觉启示:通过不幸的结果归类发现什么不存在:孟德尔效应,第49-52页)。同样,使用显示出中等正相关的完整数据集,可以选择显示出负相关的子集。有了这些,即使您有合理的理由去做您的建议,您也会给任何怀疑论者以很多论据来反对您的结论。
RANSAC算法听起来像您想要的。基本上,它假定您的数据由内部数据和异常数据组成,并尝试通过重复采样数据的子集,对模型进行拟合,然后尝试将所有其他数据点与模型进行拟合来识别内部数据。这是有关它的维基百科文章。
在您的情况下,您可以继续重复该算法,同时保存适合至少40点的当前最佳模型,因此它不能保证绝对的最佳相关性,但它应该接近。
我很难想象一个好的做法,但是让我们暂时假设您确实有这样做的充分理由。
蛮力算法可能是这样的:
您可以从N的整体样本中计算出n的所有可能的子样本。大多数统计数据包都具有无需替换即可计算组合的功能,将为您完成此任务。
您估计每个子样本的x和y之间的相关性,然后从该集合中选择最大值。
我刚刚看到了原始张贴者关于此过程参考的评论。我不确定是否有人为此程序指定了特定的名称,毕竟您只是在生成数据集中所有可能相关性的经验分布并选择最大值。进行引导时,使用了类似的方法,但是在这种情况下,您对经验变异性感兴趣,因此请勿使用它们来选择与最大值相关的特定子样本。