สถิติเชิงพรรณนาและสถิติเชิงอนุมาน

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

EbunOluwa Andrew

Data Scientist

สถิติเชิงพรรณนา

  • ตัวชี้วัดพื้นฐานสำหรับอธิบายข้อมูลจากแบบสำรวจ
  • ตัวอย่าง: ค่าเฉลี่ย, มัธยฐาน, ฐานนิยม, พิสัย, ส่วนเบี่ยงเบนมาตรฐาน เป็นต้น
  • .describe()

ภาพโดย Lukas - กราฟใกล้ชิด

1 Photo by Lukas
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ฟังก์ชัน .describe()

data.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
data.describe(include = np.object)
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การตีความ .describe()

  • ค่าผิดปกติ = ค่าสูงสุด > ค่าเฉลี่ยและมัธยฐาน
  • ค่าที่ไม่สมเหตุสมผล = ค่าที่ไม่มีความเป็นไปได้ในทางตรรกะ
|       | year     | satisfaction_rating |
|-------|----------|---------------------|
| count |       42 |                  42 |
| mean  | 2012.381 |            7192.857 |
| std   |    4.196 |             945.178 |
| min   |     2006 |                5500 |
| 25%   |     2009 |                6325 |
| 50%   |   2012.5 |                7400 |
| 75%   |     2016 |                8000 |
| max   |     2019 |                8600 |
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การตีความ .describe()

  • top = ฐานนิยม = คลาสที่พบบ่อยที่สุด
  • freq = จำนวนครั้งที่คลาสนั้นปรากฏ
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

.describe() กับ electric_satisfaction

import pandas as pd

electric_satisfaction = pd.read_csv("austin-energy-customer-satisfaction.csv")
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

.describe() กับ electric_satisfaction

electric_satisfaction.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
  • satisfaction_rating มีค่าผิดปกติ
  • เปอร์เซ็นไทล์ที่ 50 = มัธยฐาน
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

.describe() กับ electric_satisfaction

|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
  • ฐานนิยม = ผู้ตอบแบบสำรวจประเภทที่อยู่อาศัย
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

สถิติเชิงอนุมาน

  • ระบุว่าข้อมูลนำไปใช้กับประชากรในวงกว้างได้หรือไม่
  • ขนาดตัวอย่าง < ขนาดประชากร -> เกิดความคลาดเคลื่อนจากการสุ่มตัวอย่าง
  • ประมาณค่าพารามิเตอร์ประชากร
    • ช่วงความเชื่อมั่น
      • ฟังก์ชัน norm.interval()

ภาพโดย Andrea Piacquadio จาก Pexels - ผู้หญิงถือหลอดไฟ

1 Photo by Andrea Piacquadio on Pexels
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ฟังก์ชัน norm.interval()

  • สำหรับชุดข้อมูลขนาดใหญ่
  • สมมติว่าการแจกแจงการสุ่มตัวอย่างของค่าเฉลี่ยเป็นแบบปกติ
import scipy.stats
scipy.stats.norm.interval(alpha, loc, scale)
  • alpha = ระดับความเชื่อมั่น
  • loc = ค่าเฉลี่ยตัวอย่าง
  • scale = ค่าความคลาดเคลื่อนมาตรฐานของตัวอย่าง
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การตีความ norm.interval() กับ electric_satisfaction

electric_satisfaction = pd.read_csv(
  "austin-energy-customer-satisfaction.csv")

conf_interval = st.norm.interval(
  alpha = 0.99,
  loc = np.mean(electric_satisfaction.satisfaction),
  scale=st.sem(electric_satisfaction.satisfaction))

print(conf_interval)
(6817.187361704269, 7568.526924010017)
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

มาฝึกกันเถอะ!

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

Preparing Video For Download...