העקומה הנורמלית
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 9 מתוך 64.
גבהים, ציוני בחינות, שקי אורז: מדידות רבות מצטברות לכדי התפלגות נורמלית, עקומת הפעמון. 500 שקיות ממכונה אחת:
שני מספרים מגדירים אותה: הממוצע קובע את השיא, וסטיית התקן קובעת את הרוחב. SciPy, ספריית המדע, מכירה את הנוסחה:
from scipy import stats
ax.hist(bags, bins=16, density=True)
xs = np.linspace(bags.min(), bags.max(), 100)
ax.plot(xs, stats.norm.pdf(xs, bags.mean(), bags.std()))stats.norm.pdf(x, mean, std) הוא גובה העקומה ב־x, ערך יחיד או מערך. השטח שלה הוא 1, כמו השטח של היסטוגרמת צפיפות, ולכן אפשר להציג את שניהם באותו תרשים.
חלק מהמודלים מעדיפים מאפיינים בעלי התפלגות נורמלית בקירוב. התרשים הזה בודק זאת.
אתגר
קלאורך הברגים אמור להיות 50 mm. קוד הפתיחה מאחסן 240 אורכים שנמדדו ב־lengths ומגדיר את התרשים. בדוק אותם מול עקומה נורמלית:
- הדפס את הממוצע ואת סטיית התקן שלהם (
np.std), מעוגלים ל־2 ספרות אחרי הנקודה העשרונית, כמו למטה. - צייר היסטוגרמת צפיפות עם
bins=15. - צייר מעליה את העקומה המותאמת: 100 נקודות מהבורג הקצר ביותר ועד הארוך ביותר.
- הצג את התרשים.
עבור אצווה אחרת:
Fitted curve: mean 49.99 mm, std 0.42 mmוהתרשים:
נסו בעצמכם
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# אין לשנות את השורות שלהלן
rng = np.random.default_rng(31)
lengths = np.round(rng.normal(50, 0.4, size=240), 2)
fig, ax = plt.subplots()
ax.set_title("Bolt Lengths")
ax.set_xlabel("Length (mm)")
ax.set_ylabel("Density")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין