在掩码数组上运行scipy.stats的测试

x4shl7ld  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(97)

如果我对一个掩码数组的掩码组件运行一个统计测试,我认为它不应该工作,但是当我运行scipy.stats测试时,我得到了实际的数字。
这是一个简单的例子:

import numpy as np
from scipy import stats
x=np.ma.array(np.random.randn(100,2),mask=False)
x.mask[:,0]=True
stats.wilcoxon(x[:,0])

字符串
请注意,x[:,0]是一组掩码组件,因此没有可以运行测试的值。
这是否意味着当对同一数组的未屏蔽组件(例如x[:,1])运行相同的测试时,结果同样不可靠?

ltskdhd1

ltskdhd11#

从SciPy 1.9.0开始,scipy.stats.wilcoxon就开始考虑掩码数组了。
你的代码的结果是:

WilcoxonResult(statistic=nan, pvalue=nan)

字符串
它也有一个axis参数,所以你可以这样做:

stats.wilcoxon(x, axis=0)
# WilcoxonResult(statistic=array([  nan, 2399.]), pvalue=array([       nan, 0.66484846]))


这是否意味着当对同一数组的未屏蔽组件(例如x[:,1])运行相同的测试时,结果同样不可靠?
否,对于未掩蔽的组分,结果可靠的时间更长。

相关问题