คำนวณค่าสหสัมพันธ์ด้วย Python พร้อมตัวอย่างธุรกิจ

目次

1. วิธีคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ด้วย Python คืออะไร?

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

ข้อดีของการใช้ค่าสัมประสิทธิ์สหสัมพันธ์

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

2. วิธีพื้นฐานในการหาค่าสัมประสิทธิ์สหสัมพันธ์ด้วย Python

ใน Python คุณสามารถคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ได้อย่างง่ายดายโดยใช้ NumPy และ Pandas

คำนวณค่าสัมประสิทธิ์สหสัมพันธ์ด้วย NumPy

NumPy เป็นไลบรารีที่เชี่ยวชาญด้านการคำนวณเชิงตัวเลข โดยเมื่อใช้ฟังก์ชัน numpy.corrcoef() จะสามารถคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างลิสต์หรืออาร์เรย์ได้。
import numpy as np

# เตรียมข้อมูล
data1 = [1, 2, 3, 4, 5]
data2 = [5, 4, 3, 2, 1]

# คำนวณค่าสัมประสิทธิ์สหสัมพันธ์
correlation = np.corrcoef(data1, data2)
print(correlation)

คำนวณค่าสัมประสิทธิ์สหสัมพันธ์ด้วย Pandas

Pandas สามารถสร้างเมทริกซ์สหสัมพันธ์ระหว่างหลายตัวแปรได้ด้วยเมธอด .corr() ของ DataFrame ช่วยให้เข้าใจความสัมพันธ์ของทั้งชุดข้อมูลได้สะดวก。
import pandas as pd

# สร้างข้อมูลตัวอย่าง
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 4, 5, 6]
}
df = pd.DataFrame(data)

# คำนวณเมทริกซ์สหสัมพันธ์
correlation_matrix = df.corr()
print(correlation_matrix)
年収訴求

3. ความแตกต่างระหว่างสหสัมพันธ์และความเป็นเหตุเป็นผล

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

ความแตกต่างระหว่างสหสัมพันธ์และความเป็นเหตุเป็นผล

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

4. ประเภทของค่าสัมประสิทธิ์สหสัมพันธ์และตัวอย่างการประยุกต์ใช้

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

5. วิธีการแสดงภาพค่าสัมประสิทธิ์สหสัมพันธ์

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

การแสดงภาพโดยใช้ฮีตแมป

ใช้ Seaborn และฟังก์ชัน heatmap() เพื่อแสดงเมทริกซ์สหสัมพันธ์ด้วยสี ความเข้ม-อ่อนของสีช่วยให้ตรวจสอบระดับความแรงของสหสัมพันธ์ได้ จึงสามารถมองเห็นความสัมพันธ์ระหว่างหลายตัวแปรได้ในทันที。
import seaborn as sns
import matplotlib.pyplot as plt

# คำนวณเมทริกซ์สหสัมพันธ์
correlation_matrix = df.corr()

# สร้างฮีตแมป
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.show()

การแสดงภาพด้วยกราฟแท่ง

หากต้องการเน้นตรวจสอบสหสัมพันธ์ระหว่างตัวแปรหนึ่งกับตัวแปรอื่นๆ กราฟแท่งจะได้ผลดี
target_corr = df.corr()['A'].sort_values()
target_corr.plot.barh()
plt.show()

6. ตัวอย่างการนำไปใช้จริงในบริบทธุรกิจและข้อควรระวัง

ตัวอย่างการนำไปใช้ในธุรกิจ

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

ข้อควรระวัง

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

7. สรุป

ได้อธิบายตั้งแต่วิธีคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ด้วย Python ความแตกต่างระหว่างความสัมพันธ์กับความเป็นเหตุเป็นผล ตลอดจนตัวอย่างการประยุกต์ใช้ในธุรกิจและข้อควรระวัง การวิเคราะห์ความสัมพันธ์เป็นเครื่องมือที่ทรงพลังในการทำความเข้าใจความสัมพันธ์ระหว่างข้อมูล แต่เพื่อหลีกเลี่ยงการตีความที่ผิดพลาด ควรระมัดระวังในการตรวจสอบความเป็นเหตุเป็นผล
侍エンジニア塾