การคำนวณสหสัมพันธ์ของเพียร์สันหรือสเปียร์แมนนั้นมีความหมายหรือไม่ระหว่างสองเวกเตอร์บูลีน


42

มีเวกเตอร์บูลีนสองตัวซึ่งมี 0 และ 1 เท่านั้น หากฉันคำนวณความสัมพันธ์ของ Pearson หรือ Spearman พวกเขามีความหมายหรือสมเหตุสมผลหรือไม่


2
หากตัวแปรทั้งสองเป็นแบบคู่เพียร์สัน = สเปียร์แมน = เอกภาพของเคนดัลล์ ใช่มันอาจมีความรู้สึก ด้วยข้อมูลไบนารี (บูลีน) อย่างแท้จริงมันยังให้ความสำคัญในการคำนวณ "เพียร์สัน" บนข้อมูลโดยไม่อยู่ตรงกลางนั่นจะเป็นโคไซน์
ttnphns

1
... และ = Phi (Chi-square ที่ได้มาตรฐาน) ซึ่งนำเราจากตารางไปยังตารางฉุกเฉิน
ttnphns

คำตอบ:


34

เพียร์สันและสเปียร์แมนมีการกำหนดความสัมพันธ์ตราบใดที่คุณมีบาง0และบาง1สำหรับทั้งสองตัวแปรไบนารีพูดyและxxมันเป็นเรื่องง่ายที่จะได้รับความคิดเชิงคุณภาพที่ดีว่าพวกเขาหมายถึงอะไรโดยการคิดพล็อตกระจายของตัวแปรทั้งสอง เห็นได้ชัดว่ามีความเป็นไปได้สี่อย่างเท่านั้น(0,0),(0,1),(1,0),(1,1)(เพื่อให้การเขย่าเพื่อเขย่าจุดที่เหมือนกันสำหรับการสร้างภาพเป็นความคิดที่ดี) ยกตัวอย่างเช่นในสถานการณ์ใด ๆ ที่ทั้งสองเวกเตอร์เหมือนกันเรื่องที่จะมี 0s และ 1s บางอย่างในแต่ละแล้วโดยนิยามy=xและความสัมพันธ์จำเป็นต้อง11ในทำนองเดียวกันก็เป็นไปได้ว่าy=1xแล้วความสัมพันธ์เป็น1 1

0101

01


1
นั่นหมายความว่าในสถานการณ์นี้สัมประสิทธิ์สหสัมพันธ์แบบเพียร์สันหรือสเปียร์แมนไม่ใช่การวัดความคล้ายคลึงกันที่ดีสำหรับเวกเตอร์ไบนารีสองตัวนี้หรือไม่?
Zhilong Jia

ใช่ในแง่ที่ว่ามันไม่ได้วัดความคล้ายคลึงกันและไม่ได้กำหนดไว้สำหรับ 0s ทั้งหมดหรือ 1s ทั้งหมดสำหรับเวกเตอร์ใดก็ได้
Nick Cox

กรณีเวกเตอร์ 2 อันที่เหมือนกันหรือ 'ตรงข้าม' นั้นไม่ชัดเจนสำหรับฉัน ถ้า x = c (1,1,1,1,1) และ y = (0,0,0,0,0) ดังนั้น y = 1-x และดูเหมือนว่าคุณกำลังพูดว่าสิ่งนี้จะต้องเป็นกรณีตามคำนิยาม หมายถึงสหสัมพันธ์ของ -1 y = x-1 ที่สัมพันธ์กันเท่ากับ +1 มีเพียง 1 จุด (5 เรพลิเคท) บนสแคทเทอร์พล็อตเพื่อให้เส้นตรงใด ๆ สามารถวาดผ่านมันได้ รู้สึกเหมือนไม่มีความสัมพันธ์กันในตัวอย่างนี้ ขออภัยถ้าฉันเข้าใจผิดว่าคุณหมายถึงอะไร @NickCox
PM

2
ไม่มี ฉันไม่ได้พูดอย่างนั้นในขณะที่ฉันชี้ให้เห็นในประโยคแรกของฉันว่าคุณจะต้องมีการผสมระหว่าง 0s และ 1s เพื่อกำหนดความสัมพันธ์ มิฉะนั้นถ้า SD ของตัวแปรใดค่าหนึ่งเป็น 0 ค่าสหสัมพันธ์นั้นจะไม่ถูกกำหนด แต่ฉันได้แก้ไขคำตอบของฉันเพื่อพูดถึงสองครั้ง
Nick Cox

15

มีเมทริกความคล้ายคลึงกันเฉพาะสำหรับเวกเตอร์ไบนารีเช่น:

  • Jaccard-นีดแฮม
  • ลูกเต๋า
  • เทศกาลคริสต์มาส
  • รัสเซลราว
  • Sokal-มิเชเนอร์
  • โรเจอร์ส-Tanimoto
  • Kulzinsky

เป็นต้น

ดูรายละเอียดได้ที่นี่


5
แน่นอนว่ามีการอ้างอิงที่น่าเชื่อถือและครอบคลุมอีกมากมาย แม้แต่ในระดับของการทำให้ชื่อผู้แต่งถูกต้องโปรดสังเกตKulczyńskiและ Tanimoto ดูเช่นHubálek, Z. 1982. ค่าสัมประสิทธิ์ของการเชื่อมโยงและความคล้ายคลึงกันขึ้นอยู่กับข้อมูลไบนารี (ไม่มีสถานะ): การประเมินผล ความคิดเห็นทางชีวภาพ 57: 669–689
Nick Cox

5
เห็นได้ชัดว่าพวกเขาสะกดคำว่า 'Tanimoto' แต่ 'Kulzinsky' ถูกทำให้เรียบง่ายขึ้น การอ้างอิงของคุณน่าเชื่อถือมากขึ้นโดยไม่ต้องสงสัย แต่ทุกคนไม่สามารถเข้าถึงได้
Digio

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.