2つのブールベクトル間のピアソン相関またはスピアマン相関を計算することは意味がありますか?


42

0と1のみを含む2つのブールベクトルがあります。ピアソン相関またはスピアマン相関を計算する場合、それらは意味がありますか、それとも妥当ですか?


2
両方の変数が二分する場合、ピアソン=スピアマン=ケンドールのタウ。はい、意味があるかもしれません。真のバイナリ(ブール)データを使用すると、データの「ピアソン」をセンタリングせずに計算することも意味があります。これは余弦です。
ttnphns

1
... and = Phi(標準化されたカイ2乗)は、スケールから分割表に導きます。
ttnphns 14年

回答:


34

ピアソンとスピアマンの相関関係は、2つのバイナリ変数、たとえばyxの両方に01がある限り定義されます。2つの変数の散布図を考えることで、それらが何を意味するのかについての定性的なアイデアを簡単に得ることができます。明らかに、4つの可能性(0,0)、(0,1)、(1、0)、(1,1)しかありません(したがって、視覚化のために同一のポイントをバラバラに揺らすことは良い考えです)。たとえば、2つのベクトルが同一であり、それぞれに0と1がある場合、定義によりy = xであり、相関は必然的に1です。同様に、y = 1 -xの可能性がありますyx(0,0),(0,1),(1,0),(1,1)y=x1y=1xそして、相関は1です。

このセットアップでは、線形ではない単調な関係の範囲はありません。通常のミッドランク規則の下で0秒と1秒のランクを取る場合、ランクは元の0秒と1秒の線形変換であり、スピアマン相関はピアソン相関と必然的に同一です。したがって、スピアマンの相関をここで個別に検討する理由はまったくありません。

またはを含むいくつかの問題、たとえば時間または空間でのバイナリプロセスの研究では、自然に相関が生じます。ただし、全体としては、主にそのような研究の動機に応じて、そのようなデータについてより良い考え方があります。たとえば、相関が意味をなすという事実は、線形回帰がバイナリ応答をモデル化する良い方法であることを意味しません。バイナリ変数の1つが応答である場合、ほとんどの統計上の人々はロジットモデルを検討することから始めます。01


1
この状況で、ピアソンまたはスピアマンの相関係数は、この2つのバイナリベクトルの良好な類似性メトリックではないということですか?
志隆嘉14

はい、それは類似性を測定せず、いずれかのベクトルのすべての0またはすべての1に対して未定義であるという意味で。
ニックコックス14年

2つの同一または「反対」ベクトルのケースは私には明らかではありません。x = c(1,1,1,1,1,1)およびy =(0,0,0,0,0)の場合、y = 1-xであり、これは定義上そうであると言っているように聞こえます、-1の相関を意味します。同様に、y = x-1は+1の相関を意味します。散布図には1つのポイント(5つの複製)しかないため、直線を描くことができます。このインスタンスでは相関関係が定義されていないように感じます。あなたの言うことを誤解してすみません。@NickCox
PM。

2
番号; 最初の文で指摘しているように、相関を定義するには0と1を混在させる必要があると言っているわけではありません。それ以外の場合、いずれかの変数のSDが0であれば、相関関係は未定義です。しかし、私はそれを2回言及するように回答を編集しました。
ニックコックス

15

次のような、バイナリベクトル用の特殊な類似性メトリックがあります。

  • ジャカード・ニーダム
  • サイコロ
  • ユーレ
  • ラッセル・ラオ
  • ソカル・ミヒェナー
  • ロジャーズ・タニモト
  • クルジンスキー

詳細については、こちらをご覧ください


5
確かに多くの信頼できる包括的な参照があります。著者の名前を正しくするレベルでさえ、KulczyńskiとTanimotoに注意してください。たとえば、Hubálek、Z. 1982を参照してください。連想係数と類似性、バイナリ(存在-不在)データに基づく:評価。生物学的レビュー 57:669–689。
ニックコックス

5
彼らは明らかに「タニモト」のつづりを間違っていますが、「クルジンスキー」は意図的に簡略化されています。あなたの参照は間違いなくより信頼できますが、誰もがアクセスできるわけではありません。
ディジオ

0

バイナリデータにピアソンの相関係数を使用することはお勧めしません。次の反例を参照してください。

set.seed(10) 
a = rbinom(n=100, size=1, prob=0.9) 
b = rbinom(n=100, size=1, prob=0.9)

ほとんどの場合、両方とも1

table(a,b)

> table(a,b)
   b
a    0  1
  0  0  3
  1  9 88

しかし、相関関係はこれを示していません

cor(a, b, method="pearson")

> cor(a, b, method="pearson")
[1] -0.05530639

ただし、Jaccardインデックスなどのバイナリの類似性の尺度は、はるかに高い関連性を示しています。

install.packages("clusteval")
library('clusteval')
cluster_similarity(a,b, similarity="jaccard", method="independence")

> cluster_similarity(a,b, similarity="jaccard", method="independence")
[1] 0.7854966

どうしてこれなの?ここで簡単な二変量回帰を参照してください

plot(jitter(a, factor = .25), jitter(b, factor = .25), xlab="a", ylab="b", pch=15, col="blue", ylim=c(-0.05,1.05), xlim=c(-0.05,1.05))
abline(lm(a~b), lwd=2, col="blue")
text(.5,.9,expression(paste(rho, " = -0.055")))

下のプロット(ポイント数を明確にするために小さなノイズを追加) 二変量回帰線

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.