ピアソン相関係数の値が-1未満または1を超えることは可能ですか?


7

大規模なデータセットに対してこの式に従ってピアソン相関係数を計算しようとしています:

ここに画像の説明を入力してください

ほとんどの場合、私の値は-1から1の間ですが、次のような奇妙な数値が表示されることがあります。

1.0000000002
-3 

等々。これをもたらす奇妙なデータがある可能性はありますか、それとも計算にエラーがあることを意味しますか?

たとえば、Xの合計が1で、X ^ 2の合計が1になる場合があることに気づきました。これにより、1.00000002のような値になります。それ以外の場合は、XYの合計を0として、計算結果は-3になります。これは統計的に可能ですか、それとも私の計算にエラーがありますか?


2
どの言語または環境を使用していますか?
P.Windridge 2016

3
扱っていた数値のサイズ、その数、中間計算の精度のレベルについて少し知っておくと役に立ちます。たとえば ...ここに数値の安定性の問題があります。探索する価値があるかもしれません。Σバツy
Silverfish

1
@Silverfishの2番目です。おそらく、私たちが評価できる例を投稿できます。Nb1)Ctrl + Shift + JNb2でChromeのJavaScriptコンソールにアクセスできます2)すべてのJS番号は64ビットダブルですw3schools.com/js/js_numbers.asp
P.Windridge

1
頬の答えの舌:持つことは不可能です R>1 または R<1 数学的に(すなわち RR)、ある持っていることが可能NOT((R>=-1)&(R<=1))であるTrue場合、IEEE演算でバツ および/または y定数です(すべての比較に失敗する0/0equals としてNaN)。
GeoMatt22

1
「Yデータセットの場合、数値は0 <Y <1であり、通常はe-5からe-350の範囲です。Xデータセットの場合、数値は0からe7の範囲です」Okスポーツファン、このような幅広い注文数値の大きさの計算は、特に数値的にロバストではないアルゴリズムの場合、成功の秘訣ではありませんが、多分それほどうまくいきません。
マークL.ストーン

回答:


16

使用している数式は、数値的に不安定であることが長い間知られています。二乗平均が分散と比較して大きい場合、および/または平均積が共分散と比較して大きい場合、分子と分母の括弧で囲まれた項の違いにより、壊滅的なキャンセルの問題が発生する可能性があります。

これにより、計算された分散または共分散が1桁の精度も保持しない(つまり、役に立たないよりも悪い)場合があります。

これらの式は使用しないでください。人々が手作業で計算したとき、彼らはそれを見ることができ、そのような精度の低下が起こったときに対処するとき、それらはある程度理にかなっています。たとえば、これらの数式の使用は、通常、次のような数字を排除することによって行われました。

 8901234.567...
 8901234.575...
 8901234.412...

最初に(少なくとも)8901234が減算されます。これにより、作業時間を大幅に節約するだけでなく、キャンセルの問題を回避できます。その後、平均(および同様の数量)は最後に調整され、分散と共分散はそのまま使用できます。

同様のアイデア(および他のアイデア)をコンピューターで使用できますが、実際には、いつ必要になるかを推測するのではなく、常に使用する必要があります。

この問題に対処する効率的な方法は半世紀以上前から知られていました。たとえば、Welfordの1962年の論文[1]を参照してください(1パスの分散アルゴリズムと共分散アルゴリズムを示しています。安定した2パスのアルゴリズムはすでによく知られています)。Chan et al [2](1983)は、いくつかの分散アルゴリズムを比較し、どれを使用するかを決定する方法を提供します(ほとんどの実装では、一般的に人々は1つのアルゴリズムしか使用しません)。

分散に関するウィキペディアのこの問題に関する議論と分散アルゴリズムに関するその議論を参照してください。

同様のコメントが共分散にも当てはまります。

[1] BPウェルフォード(1962)、
「修正された二乗
和の計算方法と積」、Technometrics Vol。4、Iss。3、419-420
(引用リンク

[2] TF Chan、GH GolubおよびRJ LeVeque(1983)
「サンプル分散を計算するためのアルゴリズム:分析と推奨」、
The American Statistician、Vol。37、No。3(1983年8月)、pp。242-247
Techレポートバージョン


数値の問題については、単純な2パスアルゴリズムは通常十分に信頼できると思います。平均の1パス、(共)分散の2パスです。私の印象では、倍精度を使用する場合、信頼性を高めるために、より洗練されたバリアント(たとえば、補償された合計)が必要になることはほとんどありません。(ただし、効率を上げるために、オンラインバージョンやパラレルバージョンが役立つ場合があります。)私は時々動作がおかしく、不安定な形式を使用します。(画像の移動平均フィルターなどの場合)
GeoMatt22

1
(+1)@Timは、stats.stackexchange.com/a/235151/919 Rでウェルフォードのアルゴリズムの実装を提供します
whuber

8

ピアソン相関係数は確かに 1 そして +1(含む)。これは、コーシーシュワルツの不等式によるものです。

の相関係数を取得する 1.0000000002 数値エラーが原因である可能性があります(可能性は低いです)が、-3はほぼ間違いなく実装のエラー(または数値に適さないプラットフォーム!)を示します。


回答を拡張することを検討していただけますか(例:CS ineq。からそれがどのように続くかを示し、数値エラーについていくつかの言葉で言ってください)。
Tim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.