Blog

ทำความรู้จัก Spearman’s Rank Correlation: ตัวช่วยวิเคราะห์ความสัมพันธ์เมื่อข้อมูลไม่เป็นไปตามเกณฑ์ปกติด้วย โปรแกรม R

ทำความรู้จัก Spearman’s Rank Correlation: ตัวช่วยวิเคราะห์ความสัมพันธ์เมื่อข้อมูลไม่เป็นไปตามเกณฑ์ปกติ

ในการทำงานวิจัยหรือวิเคราะห์ข้อมูล หลายครั้งที่เราพบว่าข้อมูลของเราไม่ได้มีการกระจายตัวแบบปกติ (Non-normal distribution) หรือความสัมพันธ์ไม่ได้เป็นเส้นตรง (Non-linear) ในกรณีเช่นนี้ Spearman’s Correlation คือเครื่องมือทางสถิติที่เหมาะสมที่สุดครับ


Spearman’s Rank Correlation คืออะไร?

มันคือการวัด "ความแข็งแกร่ง" และ "ทิศทาง" ของความสัมพันธ์ระหว่างตัวแปร 2 ตัว โดยพิจารณาในรูปแบบของ Monotonic Relationship (ความสัมพันธ์ที่เพิ่มขึ้นหรือลดลงอย่างต่อเนื่องแต่ไม่จำเป็นต้องเป็นเส้นตรง)


เราควรใช้ Spearman เมื่อไหร่?

  1. ข้อมูลไม่มีการกระจายตัวแบบปกติ (Not normally distributed)
  2. ความสัมพันธ์ไม่ใช่เส้นตรง (Not linear)
  3. ข้อมูลอยู่ในรูปลำดับที่ (Ordinal / Ranked data)
  4. มีข้อมูลที่ผิดปกติหรือโดดเด่นออกมา (Outliers)


ขั้นตอนการวิเคราะห์ด้วยโปรแกรม R

Step 1: เตรียมข้อมูล

สมมติว่าเราวัดค่าความเข้มข้นของสารอาหาร (X) และความสูงของพืช (Y):

x <- c(12, 15, 14, 18, 20, 22, 19)
y <- c(30, 35, 33, 40, 45, 47, 43)

หมายเหตุ: ลำดับของข้อมูลใน x และ y ต้องตรงกันตามหน่วยทดลอง (Replicates)


Step 2: ตรวจสอบข้อมูล (เบื้องต้น)

ลองพลอตกราฟดูทิศทาง: plot(x, y) หากจุดมีการเพิ่มขึ้นหรือลดลงอย่างต่อเนื่อง (แม้จะไม่เป็นเส้นตรงเป๊ะ) แสดงว่าใช้ Spearman ได้


Step 3: รันการทดสอบ Spearman

ใช้คำสั่ง:

cor.test(x, y, method = "spearman")


Step 4: การแปลผลลัพธ์ (Interpretation)

ในผลลัพธ์ (Output) ให้ดูค่าสำคัญ 2 ค่าคือ:

1 rho (ρ): ค่าสัมประสิทธิ์สหสัมพันธ์

+1 = มีความสัมพันธ์เชิงบวกที่แข็งแกร่งมาก
0 = ไม่มีความสัมพันธ์เลย
-1 = มีความสัมพันธ์เชิงลบที่แข็งแกร่งมาก


2 p-value: นัยสำคัญทางสถิติ

p < 0.05 = มีนัยสำคัญ (Significant)
p ≥ 0.05 = ไม่มีนัยสำคัญ (Not significant)


เทคนิคเพิ่มเติมสำหรับการใช้งานจริง

  1. ต้องการแค่ค่า rho อย่างเดียว: ใช้ cor(x, y, method = "spearman")
  2. จัดการข้อมูลที่ขาดหาย (NA): ใช้ use = "complete.obs" ในคำสั่ง
  3. วิเคราะห์แบบ Matrix: หากมีหลายตัวแปรใน Data frame สามารถใช้ cor(data, method = "spearman") เพื่อนำไปทำ Heatmap ต่อได้


ทำไมผลทดสอบถึง "ไม่ซิก" (Non-significant)?

ปัญหาที่พบบ่อยในงานด้านชีววิทยาหรือพืชศาสตร์:

  1. Sample size น้อยเกินไป: จำนวนซ้ำน้อยทำให้พลังทางสถิติต่ำ
  2. ความแปรปรวนสูง: ข้อมูลกระจัดกระจายมากเกินไป
  3. มีค่าที่เท่ากันเยอะ (Tied values): ส่งผลต่อการจัดลำดับ (Rank)
  4. Biological Noise: ธรรมชาติของสิ่งมีชีวิตมีความผันแปรสูง


จำไว้ว่า: การที่ผลออกมา "ไม่ซิก" ไม่ได้แปลว่าข้อมูลของคุณผิดเสมอไป แต่มันคือการบอกความจริงของความสัมพันธ์ในชุดข้อมูลนั้น


ตารางเปรียบเทียบ: Pearson vs Spearman

สถานการณ์ ควรเลือกใช้
ข้อมูลกระจายแบบปกติ & เป็นเส้นตรง Pearson
ข้อมูลไม่เป็นปกติ (Non-normal) Spearman
มี Outliers ในข้อมูล Spearman
ข้อมูลเป็นลำดับที่ (Ranked data) Spearman
บทความนี้มีประโยชน์หรือไม่? (1)
Share
Share Facbook Share Twitter
 

e-Profile RMUTL

เว็บไซต์สำหรับแสดงโปรไฟล์ ผลงาน และข้อมูลวิชาการของบุคลากร

มหาวิทยาลัยเทคโนโลยีราชมงคลล้านนา