我有兩個數組,我們會打電話給他們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