gpt4 book ai didi

python - 缺失值屏蔽数组相关性 (numpy.ma)

转载 作者:行者123 更新时间:2023-11-28 18:51:44 26 4
gpt4 key购买 nike

我正在尝试使用 numpy.ma.corrcoef 在存在缺失数据的情况下计算相关性。

根据文档:除了处理缺失数据外,此函数与 numpy.corrcoef 的功能相同。有关详细信息和示例,请参阅 numpy.corrcoef

这是一个双变量数据集,其中只有第一点和第二点有两个变量的数据。

array([[ 0.00494576, -0.01331578],
[-0.00146498, -0.01349548],
[ 0.00430321, nan],
[-0.00937105, nan],
[ nan, -0.01356873],
[ nan, -0.01375538],
[ nan, -0.00277393],
[ nan, 0.0082988 ],
[ nan, 0. ],
[ nan, 0.00275103],
[ nan, 0.00547947],
[ nan, -0.01375538],
[ nan, 0.0110194 ],
[ nan, -0.00549452],
[ nan, 0.01910017],
[ nan, -0.02462505],
[ nan, -0.01676017],
[ nan, 0.0112046 ],
[ nan, 0.01108045],
[ nan, 0.01639381],
[ nan, 0.01078178],
[ nan, -0.01078178]])

当我将其转换为屏蔽数组(np.ma.masked_array(t,np.isnan(t)),其中 t 是上面的数组)并在其上运行 np.ma.corrcoef(rowvar=False)时变量之间的相关性为 -86.52(绝对值,而不是百分比!)。而单独在前两个点上运行 np.corrcoef 会产生 1 的相关性(再次是绝对值)。根据文档,后一个值是我认为我应该从第一次操作中得到的值。

我的 Python 版本(Mac OS X.6.8 上的 Enthought 64 位 PyLab)信息如下,我使用的是 Numpy 版本 1.6.1。

Python 2.7.3 |EPD 7.3-1(64 位)| (默认,2012 年 4 月 12 日,11:14:05)输入“copyright”、“credits”或“license”以获取更多信息。

请告知我在这里缺少什么!提前致谢。

最佳答案

我认为这可能是 numpy.ma.corrcoef 中的错误(或者更确切地说,可能是 np.ma.extras._covhelper 中的错误,我认为对于单个数组,掩码不能从一列正确传播到另一列输入,但也许我看错了地方)。

使用 np.ma.corrcoef(b[:,0], b[:,1]) 并创建错误报告... np.ma.corrcoef(b[ :,0], b[:,1]) 给出了预期的结果,因此它是一个简单的解决方法,直到它被修复。

关于python - 缺失值屏蔽数组相关性 (numpy.ma),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com