数据集的皮尔逊相关性可能具有零标准偏差?


12

我在计算标准偏差可能为零的数据集的皮尔逊相关系数时遇到问题(即所有数据具有相同的值)。

假设我有以下两个数据集:

float x[] = {2, 2, 2, 3, 2};
float y[] = {2, 2, 2, 2, 2};

相关系数“ r”将使用以下公式计算:

float r = covariance(x, y) / (std_dev(x) * std_dev(y));

但是,由于数据集“ y”中的所有数据都具有相同的值,因此标准偏差std_dev(y)将为零,而“ r”将不确定。

这个问题有什么解决办法吗?还是在这种情况下我应该使用其他方法来测量数据关系?


在此示例中没有“数据关系”,因为y不变。给r任何数值将是一个错误。
whuber

1
@whuber-的确,是未定义的,但不一定是无法估计“真实”未知相关性。只需使用一些不同的东西来估计它。ρrρ
概率

@概率您假设这是一个估计问题,而不仅仅是一个表征问题。但是接受这一点,您将在示例中提出什么估计量?没有答案可能是普遍正确的,因为这取决于估计器的使用方式(实际上是损失函数)。在许多应用程序(例如PCA)中,似乎使用任何将值插值到可能比其他无法识别过程更糟。ρρρ
ub

1
@whuber-估计对我来说是一个不好的选择(您可能已经注意到我不是最好的词匠),我的意思是,尽管可能没有唯一标识,但这并不意味着数据在告诉我们有关。我的回答从代数的角度给出了(丑陋的)证明。ρρρ
概率

@概率看来您的分析是矛盾的:如果确实以正态分布对y建模,则五个5的样本表明此模型不合适。最终,您一无所获:您的结果在很大程度上取决于对先验的假设。识别的原始问题仍然存在,但被所有这些其他假设隐藏了。恕我直言,这似乎只是掩盖了问题,而不是澄清它们。ρ
ub

Answers:


9

“抽样理论”人士会告诉您,不存在这样的估计。但是您可以得到一个,您只需要对先验信息有一个合理的了解,并做很多困难的数学工作即可。

如果您指定了贝叶斯估计方法,并且后验与前验相同,那么您可以说数据对参数什么也没说。因为事情可能会在我们身上变得“奇异”,所以我们不能使用无限的参数空间。我假设因为您使用Pearson相关,所以您具有双变量正态似然:

Q=X-μX2

p(D|μx,μy,σx,σy,ρ)=(σxσy2π(1ρ2))Nexp(iQi2(1ρ2))
其中
Qi=(xiμx)2σx2+(yiμy)2σy22ρ(xiμx)(yiμy)σxσy

现在表明一个数据集可能是相同的值,写,然后我们得到:yi=y

小号2X=1

iQi=N[(yμy)2σy2+sx2+(x¯μx)2σx22ρ(x¯μx)(yμy)σxσy]
其中
sx2=1Ni(xix¯)2

因此,您的可能性取决于四个数字。因此,您需要一个的估计值,因此需要乘以一个先验值,并整合出讨厌的参数。现在为集成做准备,我们“完成平方” sx2,y,x¯,Nρμx,μy,σx,σy

iQi1ρ2=N[(μy[y(x¯μx)ρσyσx])2σy2(1ρ2)+sx2σx2(1ρ2)+(x¯μx)2σx2]

现在,我们应该谨慎行事,并确保正确归一化的概率。这样我们就不会遇到麻烦。一种这样的选择是使用信息量较弱的先验,这仅限制了每种方法的范围。因此对于具有平坦先验的均值,我们具有对于具有jeffreys的标准差,我们具有先验。可以通过一些“常识”问题来轻松设置这些限制。我将对使用一个未指定的,这样我们就可以了(如果没有在处截断奇点,则制服应该可以正常工作):Lμ<μx,μy<UμLσ<σx,σy<Uσρ±1

p(ρ,μx,μy,σx,σy)=p(ρ)Aσxσy

其中。这给出了以下条件:A=2(UμLμ)2[log(Uσ)log(Lσ)]2

p(ρ|D)=p(ρ,μx,μy,σx,σy)p(D|μx,μy,σx,σy,ρ)dμydμxdσxdσy

=p(ρ)A[2π(1ρ2)]N2LσUσLσUσ(σxσy)N1exp(Nsx22σx2(1ρ2))×
LμUμexp(N(x¯μx)22σx2)LμUμexp(N(μy[y(x¯μx)ρσyσx])22σy2(1ρ2))dμydμxdσxdσy

现在在第一积分可以通过使变量的变化来进行和第一积分超过变为:μyz=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμyμy

σy2π(1ρ2)N[Φ(Uμ[y(x¯μx)ρσyσx]σyN1ρ2)Φ(Lμ[y(x¯μx)ρσyσx]σyN1ρ2)]

您可以从这里看到没有解析解决方案。但是,还值得一提的是值尚未从方程式中删除。这意味着数据和先验信息仍然对真正的相关性有话要说。如果数据避谈相关性,那么我们就可以简单地留下了作为唯一的功能这些方程。ρp(ρ)ρ

它还显示了传递到到无穷大的极限是如何“丢弃”一些有关的信息的,这些信息包含在看上去很复杂的普通CDF函数。现在,如果您有大量数据,那么传递到极限就可以了,您不会丢失太多,但是,如果您有非常稀少的信息(例如您的情况),那么请务必保留所有废料。这意味着很难看的数学,但是这个例子在数字上并不难。因此,我们可以很容易地评估在值的积分似然。只需在足够小的时间间隔内用求和替换积分-这样您就可以进行三次求和μyρΦ(.)ρ0.99,0.98,,0.98,0.99


@probabilityislogic:哇。简直哇。在看到您的一些答案后,我真的很奇怪:像我这样的痴呆者应该怎么做才能达到如此灵活的贝叶斯心态?
steffen 2011年

1
@steffen-大声笑。它并不那么困难,您只需要练习即可。并且总是永远记住,乘积和总和规则是您永远需要的唯一规则。他们将提取其中的任何信息-无论您是否看到。因此,您应用乘积和求和规则,然后进行数学运算。这就是我在这里所做的全部。
概率

@steffen-和另一条规则-而不是统计数字-数学上的数字-在计算时不要过早达到无限极限,您的结果可能变得任意,或者很少抛出细节。测量误差模型就是一个很好的例子(就像这个问题一样)。
概率

@probabilityislogic:谢谢,我将牢记这一点……在完成“贝叶斯分析”副本时,我将一心一意;)。
steffen 2011年

@probabilityislogic:如果您可以让一位非数学统计学家/研究人员幽默……是否可以将您的答案汇总或翻译给一组牙医或高中校长或统计学入门的学生?
rolando2'2011-4-30

6

我同意sesqu的观点,在这种情况下,相关性是不确定的。根据您的应用程序类型,您可以例如计算两个向量之间的Gower相似度,即: 其中表示kronecker-delta,在上用作函数。 δv1v2gower(v1,v2)=i=1nδ(v1i,v2i)nδv1,v2

因此,例如,如果所有值都相等,则gower(。,。)= 1。另一方面,如果它们仅在一个维度上不同,则gower(。,。)= 0.9。如果它们在每个维度上都不同,则gower(。,。)= 0,依此类推。

当然,这不是相关性的度量,但是它允许您计算s> 0的向量与s = 0的向量有多接近。当然,如果它们更好地满足您的目的,您也可以应用其他指标。


+1这是一个创意。听起来“高相似度”是一个缩放的汉明距离
whuber

@whuber:确实是!
steffen 2011年

0

在这种情况下,相关性是不确定的。如果必须定义它,我将其定义为0,但请考虑一个简单的平均绝对差。


0

这个问题来自程序员,所以我建议插入零。没有相关性的证据,零假设为零(无相关性)。可能还有其他上下文知识可以在一个上下文中提供“典型”关联,但是代码可以在另一上下文中重用。


2
也没有缺乏相关性的证据,那么为什么不插入1?还是-1?还是两者之间?它们都导致可重用的代码!
whuber

@whuber-您插入零是因为数据是独立的,因此“不受约束”-这就是为什么maxent分布是独立的,除非您在约束中明确指定相关性。当您不知道独立性时,可以将其视为保守的假设-实际上,您正在对所有可能的相关性求平均。
概率

1
@问题我质疑为什么对所有相关求平均值的通用过程有意义。实际上,此过程将确定且可能完全错误的答案替换为“零!”。正确答案是“数据不告诉我们”。这种差异对于决策至关重要。
whuber

仅仅因为问题可能来自程序员,并不意味着您应该将未定义的值转换为零。零表示相关性计算中的特定内容。引发异常。让呼叫者决定应如何处理。您的函数应该计算一个相关性,而不是确定如果无法计算该怎么办。
Jared Becksfort
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.