วิทยาศาสตร์ข้อมูล- สหสัมพันธ์ทางสถิติ
ความสัมพันธ์
สหสัมพันธ์วัดความสัมพันธ์ระหว่างสองตัวแปร
เรากล่าวว่าฟังก์ชันมีวัตถุประสงค์ในการทำนายค่า โดยการแปลงอินพุต (x) เป็นเอาต์พุต (f(x)) เราสามารถพูดได้อีกอย่างว่าฟังก์ชันใช้ความสัมพันธ์ระหว่างสองตัวแปรในการทำนาย
ค่าสัมประสิทธิ์สหสัมพันธ์
ค่าสัมประสิทธิ์สหสัมพันธ์วัดความสัมพันธ์ระหว่างสองตัวแปร
สัมประสิทธิ์สหสัมพันธ์ต้องไม่น้อยกว่า -1 หรือสูงกว่า 1
- 1 = มีความสัมพันธ์เชิงเส้นตรงที่สมบูรณ์แบบระหว่างตัวแปร (เช่น Average_Pulse เทียบกับ Calorie_Burnage)
- 0 = ไม่มีความสัมพันธ์เชิงเส้นตรงระหว่างตัวแปร
- -1 = มีความสัมพันธ์เชิงเส้นเชิงลบที่สมบูรณ์แบบระหว่างตัวแปร (เช่น ชั่วโมงทำงานน้อยลง นำไปสู่การเผาผลาญแคลอรีที่สูงขึ้นในระหว่างการฝึก)
ตัวอย่างความสัมพันธ์เชิงเส้นที่สมบูรณ์แบบ (สัมประสิทธิ์สหสัมพันธ์ = 1)
เราจะใช้ scatterplot เพื่อแสดงภาพความสัมพันธ์ระหว่าง Average_Pulse และ Calorie_Burnage (เราใช้ชุดข้อมูลขนาดเล็กของนาฬิกาสปอร์ตที่มีการสังเกต 10 รายการ)
คราวนี้เราต้องการแปลงกระจาย เราจึงเปลี่ยนชนิดเป็น "กระจาย":
ตัวอย่าง
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage',
kind='scatter')
plt.show()
เอาท์พุท:
ดังที่เราเห็นก่อนหน้านี้ มีความสัมพันธ์เชิงเส้นตรงที่สมบูรณ์แบบระหว่าง Average_Pulse และ Calorie_Burnage
ตัวอย่างความสัมพันธ์เชิงเส้นเชิงลบที่สมบูรณ์แบบ (สัมประสิทธิ์สหสัมพันธ์ = -1)
เราได้วางแผนข้อมูลสมมติไว้ที่นี่ แกน x แสดงถึงจำนวนชั่วโมงทำงานที่งานของเราก่อนเซสชั่นการฝึกอบรม แกน y คือ Calorie_Burnage
หากเราทำงานเป็นเวลานานขึ้น เรามักจะเผาผลาญแคลอรีน้อยลงเพราะเราหมดแรงก่อนการฝึก
ค่าสัมประสิทธิ์สหสัมพันธ์คือ -1
ตัวอย่าง
import pandas as pd
import matplotlib.pyplot as plt
negative_corr =
{'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage':
[220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)
negative_corr.plot(x ='Hours_Work_Before_Training',
y='Calorie_Burnage', kind='scatter')
plt.show()
ตัวอย่างไม่มีความสัมพันธ์เชิงเส้น (สัมประสิทธิ์สหสัมพันธ์ = 0)
ที่นี่ เราได้พล็อต Max_Pulse เทียบกับ Duration จากชุด full_health_data แล้ว
อย่างที่คุณเห็น ไม่มีความสัมพันธ์เชิงเส้นตรงระหว่างตัวแปรทั้งสอง หมายความว่าเซสชั่นการฝึกที่ยาวนานขึ้นไม่ได้ทำให้ Max_Pulse สูงขึ้น
สัมประสิทธิ์สหสัมพันธ์นี่คือ 0
ตัวอย่าง
import matplotlib.pyplot as plt
full_health_data.plot(x ='Duration', y='Max_Pulse',
kind='scatter')
plt.show()