การแสดงผลค่า Correlation ใน Python

การแสดงผลค่า Correlation ใน Python
Photo by Christina Morillo: https://www.pexels.com/photo/woman-programming-on-a-notebook-1181359/

การแสดงผล (Visualization) ค่า Correlation ใน Python โดยใช้ Pandas Library

สมมติว่ามี DataFrame ดังนี้ (มี 4 Columns ที่เป็น Numeric Values)

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randint(0, 100, size=(15, 4)), columns=list("ABCD"))

ทำการคำนวณ และ Visualize Correlation

df.corr().style.background_gradient(cmap="Blues")

สามารถเปลี่ยนสีได้ โดยกำหนดที่ Parameter -> cmap

ประเภทต่างๆ ของ Correlations

  • กรณีเรียกใช้ Correlation ใน Pandas ค่า Default จะเป็น Pearson อย่างไรก็ตาม Pandas ยังมี Correlation ประเภทอื่น ๆ อีก เช่น
  • Kendall Correlation — โดยเรียกใช้ df.corr(‘Kendall’)
  • Spearman Correlation — โดยเรียกใช้ df.corr(‘spearman’)
  • Spearman Correlation มักใช้ในการประเมินความสัมพันธ์ที่เกี่ยวข้องกับ Ordinal Variables เช่น อาจใช้Spearman เพื่อประเมินว่าลำดับในการทำแบบทดสอบนั้น สัมพันธ์กับ จำนวนเดือนที่ได้รับจ้างงานหรือไม่ ?
  • Spearman’s Rank Correlation จะใช้ได้ สำหรับ Testing Null Hypothesis ของความเป็นอิสระระหว่างสองตัวแปร แต่เป็นการยากที่จะตีความเมื่อ Null Hypothesis ถูก Rejected Kendall’s Rank Correlation จะช่วยในเรื่องนี้ โดยสะท้อนถึงความแข็งแกร่งของ Dependencr ระหว่างตัวแปร ที่ถูกเปรียบเทียบ
df.corr('spearman').style.background_gradient(cmap="Blues")
เปรียบเทียบ Person (ขวา) และ Spearman (ซ้าย) จะให้ค่าที่แตกต่างกัน

******

ข้อมูลอ้างอิง - https://towardsdatascience.com/the-fastest-way-to-visualize-correlation-in-python-ce10ed533346