עיכובים ברכבות
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 61 מתוך 64.
שני קווי רכבת פרבריים, Maple ו-Birch, חולקים תחנה. במשך 24 ימים תועד בכמה איחרה רכבת שעת העומס של כל קו, בקובץ trains.csv:
שלוש תקלות באיתות עיכבו רכבות בשעה או יותר: נתון אמיתי, אבל גדול מספיק כדי להטות כל ממוצע.
המנהל שואל: האם Maple באמת מאוחרת יותר, או שהפער יכול להיות מקרי? רסנו את הערכים הקיצוניים, ואז תנו לערבוב להכריע.
אתגר
קשההתוכנית קוראת את גורם הגבול k; 1.5 הוא הכלל של תרשים הקופסה.
- תחמו את כל זמני העיכוב בגבולות
Q1 - k * IQRו-Q3 + k * IQR, ספרו את הערכים החריגים, ואז הגבילו כל זמן עיכוב באמצעותnp.clip. - הדפיסו את ממוצע זמני העיכוב המוגבלים של כל קו ואת ההפרש, Maple פחות Birch.
- ערבבו 2000 פעמים: איחדו תחילה את זמני העיכוב המוגבלים של Maple ואז את אלה של Birch, השתמשו ב-
rng.permutationאחד בכל סבב, וחשבו את 24 הערכים הראשונים כאילו היו של Maple. - הדפיסו את ערך ה-p, בלי להתחשב בסימן, ואת המסקנה:
unlikely to be chanceאם הוא קטן מ-0.05, אחרתcould be chance.
עגלו ל-2 ספרות אחרי הנקודה, ואת p ל-3. עבור k = 2:
Fences: 0.25 to 26.5 (3 outliers)
Maple mean: 15.27
Birch mean: 12.21
Difference: 3.06
p-value: 0.03
Verdict: unlikely to be chanceהאם המסקנה תקפה גם עבור k מחמיר יותר או מקל יותר?
נסו בעצמכם
import numpy as np
import pandas as pd
k = float(input())
df = pd.read_csv("trains.csv")
delays = df["delay_min"]
# אל תשנו את השורה שלמטה
rng = np.random.default_rng(5)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין