ความสัมพันธ์กับตัวแปรหมวดหมู่ที่ไม่ได้เรียงลำดับ


123

ฉันมีชื่อไฟล์ที่มีข้อสังเกตและตัวแปรมากมาย บางส่วนมีการจัดหมวดหมู่ (ไม่เรียงลำดับ) และอื่น ๆ เป็นตัวเลข

ฉันกำลังมองหาความสัมพันธ์ระหว่างตัวแปรเหล่านี้ ฉันสามารถคำนวณสหสัมพันธ์ของตัวแปรเชิงตัวเลข (Spearman's correlation) ได้ แต่:

  • ฉันไม่ทราบวิธีการวัดความสัมพันธ์ระหว่างตัวแปรเด็ดขาดที่ไม่เรียงลำดับ
  • ฉันไม่รู้วิธีวัดความสัมพันธ์ระหว่างตัวแปรเด็ดขาดที่ไม่เรียงลำดับกับตัวแปรตัวเลข

ไม่มีใครรู้ว่าสิ่งนี้สามารถทำได้? ถ้าเป็นเช่นนั้นมีฟังก์ชั่น R ที่ใช้วิธีการเหล่านี้หรือไม่?


คำตอบ:


113

มันขึ้นอยู่กับความรู้สึกของความสัมพันธ์ที่คุณต้องการ เมื่อคุณเรียกใช้ความสัมพันธ์โมเมนต์ของ Pearson ซึ่งเป็นผลิตภัณฑ์ต้นแบบคุณจะได้รับการวัดความแข็งแกร่งของการรวมกลุ่มและคุณจะได้รับการทดสอบความสำคัญของการเชื่อมโยงนั้น อย่างไรก็ตามโดยทั่วไปแล้วการทดสอบความสำคัญและการวัดขนาดของเอฟเฟกต์จะแตกต่างกัน

การทดสอบความสำคัญ:

  • เมื่อเทียบกับการต่อเนื่องปกติ: เรียกใช้การวิเคราะห์ความแปรปรวน ในการวิจัยคุณสามารถใช้? AOV
  • เทียบกับที่กำหนดปกติ: เรียกใช้การทดสอบไคสแควร์ ใน R, คุณใช้? chisq.test

ขนาดผล (ความแข็งแรงของสมาคม):

  • เมื่อเทียบกับการต่อเนื่องปกติ: คำนวณความสัมพันธ์ intraclass ใน R คุณสามารถใช้? ICCในแพ็กเกจpsych ; นอกจากนี้ยังมีแพ็คเกจ ICC
  • เล็กน้อยเมื่อเทียบกับปกติ: คำนวณแครมเมอวี ใน R คุณสามารถใช้? assocstatsในแพ็คเกจ vcd

5
คำอธิบายอย่างละเอียดมากอย่างต่อเนื่องกรณีเล็กน้อยเมื่อเทียบกับที่สามารถพบได้ที่นี่: ความสัมพันธ์ระหว่างเล็กน้อย (IV) และต่อเนื่องตัวแปร
gung

3
ในไบนารีเทียบกับกรณีที่ช่วงเวลาก็มีความสัมพันธ์จุดไบซีเรีย
Glen_b

อะไรจะเป็นทางเลือกที่ดีกว่าในการทดสอบแบบไคสแควร์สำหรับตัวอย่างขนาดใหญ่
Waldir Leoncio

2
@WaldirLeoncio ใช่ แต่ถ้า null เป็นจริงจะเท่ากับเพียงของเวลา นั่นคือวิธีที่มันควรจะทำงาน หากคุณต้องการทราบขนาดของเอฟเฟกต์เช่นเดียวกับการทดสอบโมฆะคุณอาจต้องการคำนวณ Cramer's V พร้อมกับการทดสอบไคสแควร์ p<.055%
gung

1
ดังที่ @ gung ชี้ให้เห็นความสัมพันธ์ระหว่างตัวแปรที่ระบุ (IV) และตัวแปรต่อเนื่อง (DV)เป็นลิงค์ที่ยอดเยี่ยมสำหรับความสัมพันธ์ของตัวแปรผสมที่สามารถทำได้ Hmisc::rcorrทำสิ่งนี้ได้อย่างสวยงามและเราสามารถตรวจสอบได้ (สำหรับตัวแปรข้อมูลแบบผสม) ดังต่อไปนี้:as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P) as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
KarthikS

15

ฉันเคยเห็นสูตรชีทต่อไปนี้เชื่อมโยงมาก่อน:

https://stats.idre.ucla.edu/other/mult-pkg/whatstat/

มันอาจเป็นประโยชน์กับคุณ มันยังมีลิงค์ไปยังไลบรารี R เฉพาะ


3
ปัญหาของสูตรนี้คือมันเกี่ยวข้องกับตัวแปรเด็ดขาด / ลำดับ / ช่วงเวลาเท่านั้น สิ่งที่ฉันกำลังมองหาคือวิธีการที่ทำให้ฉันสามารถใช้ตัวแปรอิสระทั้งเชิงตัวเลขและเชิงหมวดหมู่
Clément F

6

หากคุณต้องการเมทริกซ์สหสัมพันธ์ของตัวแปรเด็ดขาดคุณสามารถใช้ฟังก์ชัน wrapper ต่อไปนี้ (ต้องการแพ็คเกจ 'vcd'):

catcorrm <- function(vars, dat) sapply(vars, function(y) sapply(vars, function(x) assocstats(table(dat[,x], dat[,y]))$cramer))

ที่ไหน:

vars เป็นเวกเตอร์สตริงของตัวแปรเด็ดขาดที่คุณต้องการสร้างความสัมพันธ์

dat เป็น data.frame ที่มีตัวแปร

ผลลัพธ์ที่ได้คือเมทริกซ์ของ Cramer's V


6

ขึ้นอยู่กับสิ่งที่คุณต้องการบรรลุ ให้เป็นตัวแปรเชิงตัวเลขและต่อเนื่องและตัวแปรที่ไม่มีการเรียงลำดับ แล้ววิธีการที่เป็นไปได้อย่างใดอย่างหนึ่งคือการกำหนดตัวเลขคะแนนแต่ละค่าที่เป็นไปได้ของ ,พี เกณฑ์หนึ่งที่เป็นไปได้คือการเพิ่มความสัมพันธ์ระหว่างและคะแนนXKtiKi=1,,pXti. มีเพียงหนึ่งตัวแปรแบบต่อเนื่องและหมวดหมู่เดียวสิ่งนี้อาจไม่เป็นประโยชน์มากเนื่องจากความสัมพันธ์สูงสุดจะเป็นหนึ่งเสมอ (เพื่อแสดงให้เห็นและพบว่าคะแนนดังกล่าวเป็นการออกกำลังกายในการใช้ตัวคูณแบบลากรองจ์! ค้นหาคะแนนการประนีประนอมสำหรับตัวแปรเด็ดขาดอาจพยายามเพิ่มความสัมพันธ์หลายค่าให้มากที่สุดจากนั้นแต่ละความสัมพันธ์จะไม่มากขึ้น (ยกเว้นกรณีพิเศษมาก!) เท่ากับหนึ่ง R2

การวิเคราะห์ดังกล่าวสามารถเห็นได้ว่าเป็นการวางหลักเกณฑ์ทั่วไปของการวิเคราะห์การติดต่อหลายทางและเป็นที่รู้จักกันในชื่อต่าง ๆ เช่นการวิเคราะห์สหสัมพันธ์แบบแคนนอนการวิเคราะห์ความสม่ำเสมอและอื่น ๆ อีกมากมาย การนำไปใช้ใน R อยู่ในhomalsแพ็คเกจ (บน CRAN) googling สำหรับบางส่วนของชื่อนี้จะให้ความมั่งคั่งของข้อมูลมีหนังสือเล่มสมบูรณ์: Albert Gifi, "การวิเคราะห์หลายตัวแปรไม่เชิงเส้น" โชคดี!


1
(+1) เหตุใดจึงต้องใช้ตัวคูณตัวคูณ Lagrange เพียงใช้ค่าของตัวแปรต่อเนื่องเพื่อให้คะแนนหมวดหมู่ สิ่งนี้ยังแสดงให้เห็นว่าทำไมค่าสหสัมพันธ์สูงสุดไม่จำเป็นต้องซึ่งสามารถบรรลุได้ก็ต่อเมื่อแต่ละหมวดหมู่ถูกจับคู่กับชุดที่ไม่เปลี่ยนแปลงของค่าของตัวแปรต่อเนื่อง 1
whuber

ฉันจะแก้ไขเพื่อพิจารณาความคิดเห็นนี้
kjetil b halvorsen

2

ฉันมีปัญหาที่คล้ายกันและฉันลองทดสอบ Chi-squared-Test ตามที่แนะนำ แต่ฉันสับสนมากในการประเมินค่า P กับค่า NULL สมมติฐาน

ฉันจะอธิบายวิธีตีความตัวแปรเด็ดขาด ฉันไม่แน่ใจว่าเกี่ยวข้องกับกรณีของคุณอย่างไร ฉันมี Response Variable Y และ Predictor Variables x1 และ X2 สองตัวโดยที่ X2 เป็นตัวแปรเด็ดขาดโดยมีสองระดับบอกว่า 1 และ 2 ฉันพยายามปรับให้เป็นแบบจำลองเชิงเส้น

ols = lm(Y ~ X1 + X2, data=mydata)

แต่ฉันต้องการที่จะเข้าใจว่าระดับ X2 แตกต่างกันอย่างไรกับสมการข้างต้น ฉันเจอฟังก์ชัน R โดย ()

by(mydata,X2,function(x) summary(lm(Y~X1,data=x)))

สิ่งที่รหัสนี้ทำคือพยายามปรับให้เป็นแบบจำลองเชิงเส้นสำหรับแต่ละระดับของ X2 สิ่งนี้ทำให้ฉันมีค่า P-value และ R-square ทั้งหมด, ข้อผิดพลาดมาตรฐานส่วนที่เหลือซึ่งฉันเข้าใจและสามารถตีความได้

อีกครั้งฉันไม่แน่ใจว่านี่คือสิ่งที่คุณต้องการ ฉันเปรียบเทียบค่าต่าง ๆ ของ X2 ในการทำนาย Y


1

ในการวัดความเชื่อมโยงระหว่างตัวแปรเด็ดขาดสองตัวฉันอยากจะแนะนำให้ใช้ cross tab กับ chisquare stat

เพื่อวัดความเชื่อมโยงระหว่างตัวแปรเชิงตัวเลขและตัวแปรคุณสามารถใช้การเปรียบเทียบค่าเฉลี่ยเพื่อดูว่ามันเปลี่ยนจากหมวดหมู่หนึ่งไปเป็นอีกกลุ่มหรือไม่


2
ยินดีต้อนรับสู่เว็บไซต์ @DaSilvaLionel คุณอาจสังเกตเห็นว่าการใช้การทดสอบไคสแควร์กับตัวแปรเด็ดขาดสองตัวนั้นได้รับการแนะนำไว้ข้างต้น
gung
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.