ข้ามไปยังเนื้อหาหลัก

สหสัมพันธ์ลวง: กับดักทางสถิติสำคัญ (และวิธีหลีกเลี่ยง)

การรู้ว่าความสัมพันธ์ลวงเกิดจากอะไร ตั้งแต่ตัวแปรกวนไปจนถึงอคติจากการสุ่มตัวอย่าง คือสิ่งที่แยกข้อค้นพบจริงออกจากความบังเอิญทางสถิติ
อัปเดตแล้ว 29 ก.ค. 2569  · 9 นาที อ่าน

สำรวจด้วย AI

เปิดใน ChatGPTเปิดใน Claudeเปิดใน Perplexity

ในสถิติและการเรียนรู้ของเครื่อง รูปแบบไม่เท่ากับคำตอบ

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

สหสัมพันธ์ลวงคือความสัมพันธ์ที่ดูเหมือนจะมีระหว่างสองตัวแปร แต่ไม่ได้เกิดจากความเชื่อมโยงจริงใด ๆ เป็นเพียงความบังเอิญหรือมีตัวแปรแฝงที่ไม่ได้เฝ้าติดตาม หากเผลอปฏิบัติต่อมันเสมือนข้อมูลที่มีค่า ก็จะเสียเวลาไล่ตามรูปแบบที่ไม่สมเหตุสมผลและไม่แปลผลสู่โลกจริง

ในบทความนี้ ฉันจะอธิบายว่าทำไมสหสัมพันธ์ลวงจึงเกิดขึ้น วิธีสังเกต และวิธีหลีกเลี่ยงการตัดสินใจบนพื้นฐานของมัน

แต่ความสัมพันธ์คืออะไรอยู่ดี? อ่านบล็อกของเราเรื่องการวัดความสัมพันธ์ในข้อมูลเพื่อทำความรู้จักค่าสัมประสิทธิ์สหสัมพันธ์ประเภทต่าง ๆ และการประยุกต์ใช้

สหสัมพันธ์ลวงคืออะไร?

สหสัมพันธ์ลวงคือความสัมพันธ์ทางสถิติที่ดูเหมือนมีระหว่างสองตัวแปร ทั้งที่จริงไม่ได้เกิดจากความเชื่อมโยงระหว่างกัน

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

สิ่งที่ขาดหายไปคือเหตุและผล

ไม่มีสิ่งใดในตัวแปรหนึ่งที่ทำให้อีกตัวแปรเกิดขึ้น ทั้งสองอาจเคลื่อนไหวสอดคล้องกันด้วยเหตุผลที่ไม่เกี่ยวกันเลย หรือไม่มีเหตุผลจริงใด ๆ ความแตกต่างระหว่างสิ่งที่ข้อมูลแสดงกับสิ่งที่เกิดขึ้นจริง นั่นแหละคือสาระของสหสัมพันธ์ลวง

ทำไมสหสัมพันธ์ลวงจึงเกิดขึ้น

สหสัมพันธ์ลวงมักอธิบายได้ด้วยไม่กี่กลไก และเมื่อรู้ว่าจะมองหาอะไร ก็จะไม่เชื่อค่าความสัมพันธ์แบบหลับหูหลับตา

ตัวแปรกวน (confounding variables)

ตัวแปรกวนคือตัวแปรแฝงที่ส่งอิทธิพลต่อทั้งสองสิ่งที่กำลังวัด

ยกตัวอย่างคลาสสิกเรื่องไอศกรีมกับการจมน้ำ ยอดขายไอศกรีมไม่ได้ทำให้คนจมน้ำ อากาศร้อนต่างหากที่ขับเคลื่อนทั้งสอง—คนซื้อไอศกรีมมากขึ้น และคนลงว่ายน้ำมากขึ้น ซึ่งทำให้การจมน้ำเพิ่มขึ้น

อุณหภูมิทำหน้าที่เป็นตัวแปรกวน หากข้อมูลไม่ได้เฝ้าติดตาม ก็พลาดได้ง่าย

ความบังเอิญ

บางครั้งสองตัวแปรเคลื่อนไหวร่วมกันโดยไม่มีเหตุผลเลย

หากทำการเปรียบเทียบมากพอในชุดข้อมูลมากพอ บางคู่จะสอดคล้องกันด้วยความบังเอิญ นี่เองคือที่มาของสหสัมพันธ์ระหว่างภาพยนตร์ของ Nicolas Cage กับการเสียชีวิตในสระ—ชุดข้อมูลอนุกรมเวลาที่ไม่เกี่ยวกันสองชุดที่บังเอิญเป็นแนวโน้มไปในทิศทางเดียวกันในช่วงปีเดียวกัน

เมื่อมีตัวแปรมากพอ บางระดับของการเรียงตัวแบบสุ่มย่อมคาดหมายได้

แนวโน้มร่วม

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

ลองนึกถึงจำนวนประชากร GDP การใช้งานอินเทอร์เน็ต และการผลิตพลาสติก หลายอย่างเติบโตมาหลายทศวรรษ หากนำมาจับคู่เปรียบเทียบกันสองตัว ก็จะได้ค่าสหสัมพันธ์สูง เพียงเพราะทั้งคู่มีแนวโน้มเพิ่มขึ้น

แต่สิ่งที่เหมือนกันมีเพียงทิศทาง ไม่ได้มีความเชื่อมโยงระหว่างตัวแปรโดยตรง

อคติจากการสุ่มตัวอย่าง

สหสัมพันธ์ลวงอาจเกิดจากข้อมูลที่เก็บมา ไม่ใช่จากโลกความเป็นจริงที่ข้อมูลควรแทน

หากตัวอย่างไม่สะท้อนประชากรที่กำลังศึกษา ก็อาจได้ความสัมพันธ์ที่มีอยู่แค่ในชุดข้อมูลของตนเอง เช่น สำรวจลูกค้าเฉพาะผ่านแอป ก็จะพบว่า “การใช้งานแอป” สัมพันธ์กับสารพัดอย่าง ไม่ใช่เพราะการใช้งานแอปทำให้เกิดสิ่งเหล่านั้น แต่เพราะตัวอย่างลำเอียงไปทางคนใช้แอป

ตัวอย่างของสหสัมพันธ์ลวง

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

ตัวอย่างทางสถิติคลาสสิก

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

กรณี Nicolas Cage ต่างออกไป ปริมาณภาพยนตร์ของเขาในแต่ละปีมีสหสัมพันธ์กับจำนวนการจมน้ำในสระในช่วงเวลาเดียวกัน โดยไม่มีตัวแปรกวนใดเกี่ยวข้องเลย เป็นความบังเอิญ—แนวโน้มที่ไม่เกี่ยวกันสองเส้นที่บังเอิญขนานกัน

ทั้งสองตัวอย่างชี้ให้เห็นประเด็นของสหสัมพันธ์ลวง แต่ในโลกจริงมักมองเห็นได้ไม่ชัดเท่านี้

ตัวอย่างในธุรกิจและงานวิจัย

ในการวิเคราะห์ธุรกิจ สหสัมพันธ์ลวงมักแอบซ่อนอยู่หลังตัวเลขที่ดูเหมือนจะเข้ากันดี

ลองนึกถึงบริษัทที่ติดตามงบการตลาดรายสัปดาห์และรายได้รายสัปดาห์ตลอดสองปี คุณใช้โค้ด Python นี้ทำตามได้:

import numpy as np
import pandas as pd

np.random.seed(42)
weeks = 104

# Seasonal effect
seasonality = 10 * np.sin(np.linspace(0, 8 * np.pi, weeks)) + 20

marketing_spend = seasonality + np.random.normal(0, 2, weeks)
revenue = seasonality * 50 + np.random.normal(0, 30, weeks)

df = pd.DataFrame({
    "week": range(1, weeks + 1),
    "marketing_spend": marketing_spend,
    "revenue": revenue
})

print(df["marketing_spend"].corr(df["revenue"]))
Output: 0.9707905810711147

คุณจะได้สหสัมพันธ์เชิงบวกที่แข็งแรงระหว่าง marketing_spend และ revenue ชวนให้อ่านว่า “เพิ่มงบการตลาดแล้วรายได้เพิ่ม” และมันอาจจะจริง แต่โค้ดข้างบนไม่ได้พิสูจน์อะไร ทั้งสองตัวแปรถูกขับเคลื่อนด้วยวัฏจักรอุปสงค์ตามฤดูกาลเดียวกัน หากบริษัทยิ่งใช้เงินในสัปดาห์ที่ความต้องการสูงตามธรรมชาติ สหสัมพันธ์ก็จะปรากฏไม่ว่าตัวกิจกรรมการตลาดจะมีผลจริงหรือไม่

นี่เป็นความผิดพลาดที่พบบ่อยมากในการวิเคราะห์ธุรกิจ

พฤติกรรมลูกค้าและผลลัพธ์ทางการตลาดมักเคลื่อนไปตามฤดูกาล สภาพเศรษฐกิจ หรือปัจจัยแฝงอีกนับสิบ สองเมตริกที่มีสหสัมพันธ์กันไม่ได้บอกว่าตัวไหน—ถ้ามี—เป็นเหตุ

ตัวอย่างในแมชชีนเลิร์นนิง

โมเดลแมชชีนเลิร์นนิงไม่รู้ความหมายของ “เหตุ” มันเพียงค้นหารูปแบบใด ๆ ที่ลดค่าความคลาดเคลื่อน และหากทางลัดได้ผลกับข้อมูลฝึก โมเดลก็จะเลือกใช้

ตัวอย่างเช่น:

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

นี่คือแนวคิดเดียวกัน สร้างเป็นตัวอย่างสังเคราะห์ที่คุณรันเองได้ โมเดลทำนายความเสี่ยงเบี้ยวหนี้ และ zip_code ทำหน้าที่เป็นพร็อกซีของ incomeซึ่งเป็นตัวแปรที่สำคัญจริง

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression

np.random.seed(42)
n = 1000

# Zip code correlates with income, income drives default risk
zip_code = np.random.choice([1, 2, 3], size=n)
income = 80000 - zip_code * 15000 + np.random.normal(0, 5000, n)
default_risk = (income < 40000).astype(int)

df = pd.DataFrame({"zip_code": zip_code, "income": income, "default": default_risk})

model = LogisticRegression()
model.fit(df[["zip_code"]], df["default"])
print(model.score(df[["zip_code"]], df["default"]))

คะแนนโมเดลตัวอย่างแมชชีนเลิร์นนิง

คะแนนโมเดลตัวอย่างแมชชีนเลิร์นนิง

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

นี่แหละปัญหาของการเรียนรู้ทางลัด

โมเดลที่สร้างบนสหสัมพันธ์ลวงอาจทำคะแนนได้ดีบนข้อมูลฝึก แต่ล้มเหลวทันทีเมื่อเจอสภาพแวดล้อมที่สหสัมพันธ์นั้นใช้ไม่ได้

วิธีตรวจจับสหสัมพันธ์ลวง

ข่าวร้ายคือไม่อาจกำจัดสหสัมพันธ์ลวงได้หมด แต่สามารถสร้างนิสัยการทำงานที่จับได้เป็นส่วนใหญ่

ต่อไปนี้คือเคล็ดลับเชิงปฏิบัติ:

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

โดยสรุป ค่าสหสัมพันธ์บอกเพียงว่าสองสิ่งเคลื่อนไหวไปด้วยกัน ส่วนมันมีความหมายหรือไม่นั้นยังต้องอาศัยวิจารณญาณของคุณ

สหสัมพันธ์ลวงเทียบกับแนวคิดสถิติอื่น

มีหลายคำที่ถูกใช้แทนกันกับสหสัมพันธ์ลวงจนทำให้สับสน ในส่วนนี้ฉันจะแสดงว่าแนวคิดสถิติเหล่านี้คืออะไรและแตกต่างกันอย่างไร

สหสัมพันธ์ลวง vs ตัวแปรกวน

ตัวแปรกวนเป็นสาเหตุหนึ่งที่เฉพาะเจาะจงของสหสัมพันธ์ลวง ไม่ใช่คำพ้องความหมาย

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

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

ดังนั้นทุกความสัมพันธ์ที่ถูกตัวแปรกวนถือว่าเป็นสหสัมพันธ์ลวง แต่ไม่ใช่ทุกสหสัมพันธ์ลวงจะมีตัวแปรกวน

สหสัมพันธ์ลวง vs เหตุและผล

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

ตารางต่อไปนี้สรุปความแตกต่าง:

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

สหสัมพันธ์ลวงไม่เคยบ่งชี้เหตุและผล ไม่ว่าค่าสหสัมพันธ์จะสูงเพียงใด การพิสูจน์เหตุและผลต้องอาศัยการทดลองควบคุมหรือวิธีการอนุมานเชิงเหตุที่มากกว่าการทดสอบทางสถิติเพียงอย่างเดียว

วิธีลดความเสี่ยงจากสหสัมพันธ์ลวง

แม้การตรวจจับสหสัมพันธ์ลวงย้อนหลังจะมีประโยชน์ แต่ยิ่งดีกว่าหากสร้างเวิร์กโฟลว์ที่หลีกเลี่ยงมันได้ตั้งแต่แรก

ในเวิร์กโฟลว์นี้ควรทำดังนี้:

  • เก็บข้อมูลให้ดีกว่าเดิม: สหสัมพันธ์ลวงจำนวนมากเริ่มจากตัวอย่างที่ไม่แทนสิ่งที่ต้องการศึกษา ก่อนวิเคราะห์ใด ๆ ตรวจสอบว่าการเก็บข้อมูลครอบคลุมประชากรและเงื่อนไขที่ถูกต้อง
  • ใช้การทดลองแบบสุ่มเมื่อเป็นไปได้: การสุ่มคือเกราะป้องกันตัวแปรกวนที่ดีที่สุด เพราะกระจายตัวแปรแฝงให้เท่ากันระหว่างกลุ่ม หากรัน A/B test แทนการพึ่งข้อมูลเชิงสังเกตได้ ควรทำ
  • ตรวจความถูกต้องกับชุดข้อมูลใหม่: สหสัมพันธ์ที่ปรากฏแค่ในชุดข้อมูลเดียวเป็นสัญญาณว่ามีบางอย่างผิด ลองทดสอบว่าความสัมพันธ์ยังคงอยู่ในข้อมูลช่วงเวลาอื่น โดยคนละผู้จัดทำ ประชากรต่างกัน หรือแหล่งต่างกัน ก่อนจะเชื่อถือ
  • ทำการวิเคราะห์เชิงเหตุ: เทคนิคอย่างการควบคุมตัวแปรกวนหรือ causal graphs ช่วยก้าวข้าม “สองสิ่งนี้เคลื่อนไหวร่วมกัน” ไปสู่การทดสอบว่าอย่างหนึ่งส่งผลต่ออีกอย่างจริงหรือไม่
  • ดึงผู้เชี่ยวชาญเนื้อหาเข้ามามีส่วนร่วม: ผู้รู้ด้านสาขามักจับความสัมพันธ์ลวงที่การทดสอบสถิติไม่เห็น หากสหสัมพันธ์ไม่สอดคล้องกับความรู้ในสาขา จงตั้งคำถามก่อนจะต่อยอด

ตามตรงแล้ว ไม่มีขั้นตอนไหนรับประกันว่าจะจับสหสัมพันธ์ลวงได้ทั้งหมด แต่เมื่อทำร่วมกันจะช่วยลดโอกาสสรุปผลหรือสร้างโมเดลที่ไม่น่าเชื่อถือ

สรุป

ค่าสหสัมพันธ์สูงอาจดูเหมือนคำตอบ แต่สำหรับมืออาชีพด้านข้อมูลที่มีประสบการณ์ มันกลับเป็นคำถาม

ตัวเลขบอกเพียงว่าสองสิ่งเคลื่อนไหวไปด้วยกัน ไม่ได้บอกว่าทำไม และการปฏิบัติต่อมันเสมือนหลักฐานของเหตุและผลคือจุดที่ทำให้เกิดสมมติฐานผิด ๆ งานวิจัยถูกอ่านคลาดเคลื่อน การตัดสินใจทางธุรกิจผิดพลาด และโมเดลล้มเหลวทันทีที่เห็นข้อมูลใหม่ สิ่งที่อยู่เบื้องหลังตัวเลขสำคัญกว่าตัวเลขเอง

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

หากแนวคิดเรื่องสหสัมพันธ์และสหสัมพันธ์ลวงยังสับสน ลองสำรวจคอร์สความน่าจะเป็นและสถิติของเรา เราครอบคลุมตั้งแต่บทนำสู่การออกแบบการทดลองและการทดสอบสมมติฐาน

หัวข้อ

เรียนรู้กับ DataCamp

Courses

ทำความเข้าใจ Data Science

2 ชม.
863.7K
บทนำสู่ data science โดยไม่ต้องเขียนโค้ด
ดูรายละเอียดRight Arrow
เริ่มหลักสูตร
ดูเพิ่มเติมRight Arrow