繁体   English   中英

不同大小阵列的协方差逼近

[英]Approximation of covariance for differently sized arrays

NumPy / SciPy中是否有任何常用工具用于计算相关度量,即使输入变量的大小不同,该度量也可以使用? 在协方差和相关的标准公式中,要求每个不同的待测变量具有相同数量的观察结果。 通常,您必须传递矩阵,其中每行是不同的变量,每列代表一个不同的观察。

在我的例子中,我有9个不同的变量,但是对于每个变量,观察的数量不是恒定的。 一些变量比其他变量有更多的观察。 我知道像传感器融合这样的领域会研究这样的问题,那么有哪些标准工具用于计算不同长度数据系列的关系统计数据(最好是用Python)?

“问题在于每个变量对应于调查的响应,而不是每个调查者都回答每个问题。因此,我想要一些衡量问题2的答案,例如,如何影响问题8答案的可能性,例如“。

这是缺少数据的问题。 我认为令人困惑的是你一直把你的样品称为不同长度。 我想你可能会像这样想象他们:

样本1:

question number: [1,2,3,4,5]
response       : [1,0,1,1,0]

样本2:

question number: [2,4,5]
response       : [1,1,0]

当样本2应该更像这样:

question number: [  1,2,  3,4,5]
response       : [NaN,1,NaN,1,0]

这是问题编号,而不是回答的重要问题。 没有问题与对应的对应关系,就不可能像协方差矩阵那样计算任何东西。

无论如何, ddodev提到的 numpy.ma.cov函数通过利用求和元素的事实来计算协方差,每个函数仅取决于两个值。

所以它计算它可以。 然后,当涉及除以n的步骤时,它除以计算的值的数量(对于该特定的协方差矩阵元素),而不是样本的总数。

我会检查这个页面:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.cov.html

更新:

假设数据矩阵的每一行对应一个特定的随机变量,并且该行中的条目是观察值。 你所拥有的是一个简单的缺失数据问题,只要你有观察结果之间的对应关系。 也就是说,如果你的一行只有10个条目,那么这10个条目(即试验)是否对应于第一行中随机变量的10个样本? 例如,假设您有两个温度传感器并且它们同时采集样品,但一个是有缺陷的,有时会错过样品。 那么你应该将错误传感器错过的试验视为“缺失数据”。 在你的情况下,它就像在NumPy中创建两个长度相同的向量一样简单,将零(或任何值,实际)放在对应于缺失试验的两个向量中较小的一个中,并创建一个掩码矩阵,表示您的遗漏值在数据矩阵中存在。

将这样的矩阵提供给与上面链接的函数应该允许您完全执行所需的计算。

从纯粹的数学观点来看,我认为它们必须是一样的。 为了使它们相同,您可以应用与缺失数据问题相关的一些概念。 我想我说如果矢量大小不同,它不再是一个严格的协方差。 无论你使用什么工具,都会以一些聪明的方式组成一些点来制作相同长度的向量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM