web-dev-qa-db-ja.com

ピアソン相関の計算

2つの変数のピアソン相関係数を計算しようとしています。これらの変数は、郵便番号の数と距離の範囲との間に関係があるかどうかを判断するためのものです。ですから、距離の範囲が変わると、郵便番号の数が増減するかどうかを確認したいと思います。

距離範囲内の郵便番号の数をカウントするリストと、実際の範囲を含むリストがあります。

距離の範囲を含むリストがあっても大丈夫ですか?または、この[50、100、500、1000]のようなリストを作成して、各要素にその量までの範囲を含めることをお勧めします。たとえば、リストは最大50 kmを表し、次に50kmから100kmなどを表します。

11
user94628

Scipyを使用する:

scipy.stats.pearsonr(x, y)

非相関をテストするためのピアソン相関係数とp値を計算します。

ピアソン相関係数は、2つのデータセット間の線形関係を測定します。厳密に言えば、ピアソンの相関関係では、各データセットが正規分布している必要があります。他の相関係数と同様に、これは-1から+1の間で変化し、0は相関がないことを意味します。 -1または+1の相関は、正確な線形関係を意味します。正の相関は、xが増加するとyも増加することを意味します。負の相関は、xが増加すると、yが減少することを意味します。

P値は、相関のないシステムが、これらのデータセットから計算されたものと少なくとも同じくらい極端なピアソン相関を持つデータセットを生成する確率を大まかに示します。 p値は完全に信頼できるわけではありませんが、500程度を超えるデータセットにはおそらく妥当です。

パラメーター :

x:1D配列

y:xと同じ長さの1D配列

戻り値 :

(ピアソンの相関係数、:両側p値)

16
lucasg

numpyを使用することもできます。

numpy.corrcoef(x, y)

これにより、次のような相関行列が得られます。

[[1          correlation(x, y)]
[correlation(y, x)          1]]
7
Antimony

これを試して:

 val=Top15[['Energy Supply per Capita','Citable docs per Capita']].rank().corr(method='pearson')
0
Shaurya