2012-06-20 56 views
9

我有兩組等長數據的數據集,或者我可以創建一個兩項條目的數組,我想計算數據表示的相關性和統計顯着性(可能是緊密相關的,或者可能沒有統計學顯着的相關性)。在Python中,如何計算兩個數據數組之間的相關性和統計顯着性?

我在Python中編程,並安裝了scipy和numpy。我看了看,發現Calculating Pearson correlation and significance in Python,但似乎希望數據被操縱,以便它落入指定的範圍。

我假設,問scipy或numpy給我兩個數組的相關性和統計顯着性的正確方法是什麼?

+3

爲什麼你認爲'scipy.stats.pearsonr'需要操縱數據所以它屬於一個特定的範圍? – ecatmur

+2

_相關係數_在-1和+1之間。這是輸出,而不是輸入。 –

回答

2

您可以在這兩個數組之間使用Mahalanobis distance,這將考慮到它們之間的相關性。

的功能是在SciPy的軟件包:scipy.spatial.distance.mahalanobis

有一個很好的例子here

7

如果你想計算皮爾遜相關係數,然後scipy.stats.pearsonr是要走的路;儘管這個意義只對更大的數據集有意義。該功能不需要將數據操作到指定範圍內。相關值落在[-1,1]的時間間隔內,這可能是混淆?如果重要性不重要,可以使用numpy.corrcoef()

Mahalanobis距離確實考慮了兩個數組之間的相關性,但它提供了一個距離度量,而不是相關性。 (數學上,Mahalanobis距離不是一個真正的距離函數;但是,它可以在某些情況下用作很大的優勢。)

相關問題