我有两个数组,我们会打电话给他们AR1和AR2(大小(192289)),代表LAT-LON标准偏差的地图,我有一个同样大小的数组区别。我想绘制这个差异,并且在两个阵列之间的差异在统计上显着的95%置信水平(α= 0.05)上的点状模式上。
我是用我的coding-这个例子的代码
How do I do a F-test in python
我用乔尔·科内特的解决方案,替代ar1
并在X ar2
和Y
F = np.var(ar1)/np.var(ar2)
print np.var(ar1), np.var(ar2)
print F
0.118586507371 0.161485609461 0.734347213766
对于下一部分,我想要N-2自由度用于我的分析,其中N是阵列中的点数,在本例中为55848(192 x 289)。 len(ar1)
和len(ar2)
在这里不起作用,因为它们只给出第一维的长度,所以我尝试将数组展平为正确的长度。
df1 = len(np.ndarray.flatten(sdmod)) - 2
df2 = len(np.ndarray.flatten(sdcon)) - 2
print df1, df2
55486 55486
然而,这个我结束了9.88365269356e-289的p值(基本为0)前进。这是一个单一的值,正如我在这个特殊情况下所预期的那样,统计上并不重要,但是我需要一个值为的数组,以便进行点划分,以便我可以查看网格中是否存在差异显着的地方。我只是不确定如何在二维数组上执行此测试,因为我找到的所有示例都使用了列表或其他一维数据类型,而且我以前也从未做过这样的分析。 (我正在应我的顾问的要求,他不使用Python)。
如何执行上的两个2 d阵列,其中的结果给出了一个类似尺寸的阵列,让你为每个网格点的p值的t-检验的问题?
我可以修改这个,如果可能的话填写任何我可能由于缺乏对主题的理解而丢失的东西(并且让我知道是我得到的p值看起来不正确),但是如果这样复杂或不完整的帮助,我会删除它。
感谢您的回复。我已经尝试过你的方法,并将p_value < (>)alpha的值赋给一个数组,其中它们的值为1(0)。然而,在结果数组中,我的“重要”结果并不符合我所期望的ar1和ar2之间差别很大的区域。需要说明的是,df1和df2 = F中使用的尺寸大小? – ChristineB