สถิติเชิงพรรณนาและการแจกแจง
ค่าเฉลี่ย มัธยฐาน ความแปรปรวน std ความเบ้ ความโด่ง และการแจกแจงปกติ/ทวินาม/ปัวซง
สถิติเชิงพรรณนาและการแจกแจง เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
การสรุปข้อมูล
สถิติเชิงพรรณนา ย่อชุดข้อมูลให้เหลือตัวเลขไม่กี่ค่าเพื่ออธิบายค่ากลาง การกระจาย และรูปร่างของข้อมูล สถิติเหล่านี้เป็นสิ่งแรกที่ควรคำนวณเมื่อเริ่มใช้ชุดข้อมูลใหม่
import numpy as np
data = np.array([4, 8, 6, 5, 3, 7, 9, 6])ค่าเฉลี่ยและมัธยฐาน
mean คือค่าเฉลี่ยเลขคณิต ส่วน median คือค่าตรงกลาง มัธยฐานไม่ไวต่อค่าผิดปกติ ดังนั้นหากค่าทั้งสองต่างกันมาก ย่อมบ่งชี้ว่าข้อมูลมีความเบ้
print(np.mean(data)) # 6.0
print(np.median(data)) # 6.0ความแปรปรวนและส่วนเบี่ยงเบนมาตรฐาน
ความแปรปรวน คือค่าเฉลี่ยของกำลังสองของความเบี่ยงเบนจากค่าเฉลี่ย ส่วน ส่วนเบี่ยงเบนมาตรฐาน คือรากที่สองของความแปรปรวนนั้น และมีหน่วยเดียวกับข้อมูล
print(np.var(data)) # population variance
print(np.std(data)) # standard deviationตัวอย่างเทียบกับประชากร (ddof)
NumPy หารด้วย N โดยค่าเริ่มต้น (ประชากร) หากต้องการค่าประมาณจาก SAMPLE ให้หารด้วย N-1 โดยใช้ ddof=1 ซึ่งช่วยแก้ความเอนเอียง
print(np.std(data, ddof=0)) # population
print(np.std(data, ddof=1)) # sample (unbiased)เปอร์เซ็นไทล์และ IQR
เปอร์เซ็นไทล์แบ่งข้อมูลที่เรียงลำดับแล้ว เปอร์เซ็นไทล์ที่ 25 และ 75 (ควอร์ไทล์) กำหนดขอบเขตของข้อมูลตรงกลาง 50 เปอร์เซ็นต์ และผลต่างระหว่างสองค่านี้คือ IQR
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
print(q1, q3, q3 - q1) # IQRความเบ้
ความเบ้ ใช้วัดความไม่สมมาตร ความเบ้เป็นบวกมีหางด้านขวาที่ยาว (เช่น ข้อมูลรายได้) ส่วนความเบ้เป็นลบมีหางด้านซ้ายที่ยาว scipy.stats.skew ใช้คำนวณค่านี้
from scipy import stats
print(stats.skew(data)) # near 0 -> symmetricความโด่ง
ความโด่ง ใช้วัดความหนักของหางข้อมูล ความโด่งสูงหมายถึงมีค่าผิดปกติที่รุนแรงมากกว่าเส้นโค้งปกติ scipy รายงานความโด่งส่วนเกิน (ค่าของการแจกแจงปกติ = 0)
print(stats.kurtosis(data)) # 0 means normal-like tailsการแจกแจงปกติ
การแจกแจงปกติที่มีรูปร่างคล้ายระฆังถูกกำหนดด้วยค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐาน ค่าประมาณ 68 เปอร์เซ็นต์อยู่ภายในส่วนเบี่ยงเบนมาตรฐานหนึ่งหน่วย และ 95 เปอร์เซ็นต์อยู่ภายในสองหน่วย
sample = stats.norm.rvs(loc=0, scale=1, size=1000, random_state=0)
print(np.mean(sample), np.std(sample)) # near 0 and 1การแจกแจงทวินาม
การแจกแจงทวินามนับจำนวนความสำเร็จจากการทดลองแบบใช่หรือไม่ใช่ที่เป็นอิสระกันจำนวน n ครั้ง โดยมีความน่าจะเป็นที่จะสำเร็จเท่ากับ p เช่น การออกหัวจากการโยนเหรียญ
print(stats.binom.pmf(k=3, n=10, p=0.5)) # P(exactly 3 heads in 10)การแจกแจงปัวซง
การแจกแจงปัวซงใช้จำลองจำนวนเหตุการณ์ที่เกิดขึ้นไม่บ่อยในช่วงเวลาคงที่ เมื่อกำหนดอัตราเฉลี่ยแลมบ์ดา เช่น จำนวนผู้มาถึงต่อนาที
print(stats.poisson.pmf(k=2, mu=3)) # P(2 events when avg is 3)ฮิสโตแกรม
ฮิสโตแกรมแบ่งค่าเป็นช่วงเพื่อเผยให้เห็นรูปร่างของการแจกแจง np.histogram ส่งคืนจำนวนและขอบเขตของช่วง ส่วนไลบรารีวาดกราฟจะใช้วาดฮิสโตแกรม
counts, edges = np.histogram(sample, bins=10)
print(counts)
# import matplotlib.pyplot as plt; plt.hist(sample, bins=30)ตรวจสอบอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับสถิติเชิงพรรณนา
สรุปทบทวน
เครื่องมือสำหรับสถิติเชิงพรรณนา:
- ค่ากลาง:
np.mean,np.median - การกระจาย:
np.var,np.std(ใช้ddof=1สำหรับตัวอย่าง), IQR จากเปอร์เซ็นไทล์ - รูปร่าง:
scipy.stats.skew,scipy.stats.kurtosis - การแจกแจง: ปกติ ทวินาม และปัวซงใน
scipy.stats - ฮิสโตแกรมสำหรับแสดงรูปร่างของข้อมูล
คำถามที่พบบ่อย
บทเรียน “สถิติเชิงพรรณนาและการแจกแจง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สถิติเชิงพรรณนาและการแจกแจง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สถิติเชิงพรรณนาและการแจกแจง”
ค่าเฉลี่ย มัธยฐาน ความแปรปรวน std ความเบ้ ความโด่ง และการแจกแจงปกติ/ทวินาม/ปัวซง คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “สถิติเชิงพรรณนาและการแจกแจง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สถิติเชิงพรรณนาและการแจกแจง
- ความน่าจะเป็นและทฤษฎีบทของเบย์
- การทดสอบสมมติฐาน
- สหสัมพันธ์และความแปรปรวนร่วม