משפט הגבול המרכזי: הצדקה לשימוש במבחנים הדורשים התפלגות נורמלית גם על נתונים לא נורמליים
משפט הגבול המרכזי central limit theorem חשוב ללמידת מכונה כיוון שהוא מאפשר לנו להניח שהתפלגות הדגימות של אוכלוסייה היא נורמלית מה שמאפשר לנו לעבוד עם טכניקות סטטיסטיות שמניחות התפלגות נורמלית אפילו אם האוכלוסייה לא נורמלית.
משפט הגבול המרכזי הוא מושג חשוב ביותר בסטטיסטיקה שאומר שככל שניקח יותר מדגמים מהאוכלוסייה וכל מדגם יכיל מספר גדול יותר של פריטים, ההתפלגות של ממוצעי המדגמים תתקרב יותר להתפלגות נורמלית. בנוסף, ממוצע המדגם יהיה קרוב יותר לממוצע של האוכלוסייה המקורית, והשונות תקטן בשיעור n (גודל המדגם).
כדי ליישם את משפט הגבול המרכזי, חשוב שיהיו מספר מספיק של פריטים בכל מדגם. כאשר כלל האצבע הוא שיהיו לפחות 25 פריטים בכל מדגם.
המשמעות המעשית של משפט הגבול המרכזי קשורה בקביעתו שאם גודל המדגם גדול מספיק, אנו יכולים להניח ולהשתמש בהתפלגות נורמלית ללא קשר להתפלגות המקורית של הנתונים (בין אם היא נורמלית או לא). עיקרון זה חזק עד כדי כך שגם אם הנתונים מחולקים באופן אחיד או אקראי לחלוטין, כל עוד ניקח מספר מספיק של דגימות (עם לפחות 25 פריטים בכל דגימה), התפלגות ממוצעי המדגמים יתקרבו להתפלגות נורמלית, וממוצע ההתפלגות יהיה שווה לממוצע האוכלוסייה המקורית. לכן, עם מספר גבוה מספיק של דגימות, אנו יכולים להניח שאמצעי המדגם עוקבים אחר התפלגות נורמלית, מה שמאפשר לנו לבצע משימות למידת מכונה והסקת מסקנות סטטיסטיות המיועדות לנתונים עם התפלגות נורמלית.
כדי להוכיח לעצמנו את משפט הגבול המרכזי בוא נראה מה קורה כשאנחנו עובדים עם נתונים מאוד לא נורמליים. לדוגמה, נתונים המציגים התפלגות אחידה.
פייתון ייצור בשבילנו את הנתונים:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# Generate 10,000 samples with a uniform distribution
samples = np.random.uniform(size=10000)
# Plot the distribution
sns.displot(samples)
plt.show()
הקוד יצר בשבילנו 10,000 דוגמאות בעלות התפלגות אחידה:
הפונקציה הבאה תדגום את הדוגמאות ותחשב את ממוצע הדגימות:
import numpy as np
def sample(population, sample_size, n_samples):
sample_means = []
for i in range(n_samples):
sample = np.random.choice(population, size=sample_size, replace=False)
sample_means.append(sample.mean())
return sample_means
נבקש מהפונקציה לדגום 5 פעמים כשבכל מדגם 25 דוגמאות, ונציג את התוצאה:
sns.displot(sample(samples, 25, 5), kde=True);
- לקחנו רק 5 דגימות, וממוצעי הדגימות אינם מתפלגים באופן נורמלי.
נבקש מהפונקציה לדגום 50 פעמים, ונציג את התוצאה:
sns.displot(sample(samples, 25, 50), kde=True);
- כאשר לקחנו 50 דגימות ראינו שממוצעי הדגימות מתחילים להתקרב להתפלגות נורמלית.
נבקש מהפונקציה לדגום 1000 פעמים, ונציג את התוצאה:
sns.displot(sample(samples, 25, 1000), kde=True);
- במקרה של 1,000 דגימות ממוצעי הדוגמאות מתפלגים באופן נורמלי.
לסיכום עם גודל מדגם מספיק גדול, משפט הגבול המרכזי מאפשר לנו להניח שממוצעי המדגמים מתפלגים באופן נורמלי. זה מאפשר לנו להשתמש באלגוריתמי למידת מכונה ובטכניקות של הסקה סטטיסטית שפותחו עבור נתונים בעלי התפלגות נורמלית. לדוגמה, שימוש במבחני t במטרה לקבוע האם קיים הבדל משמעותי בין ממוצעי שתי קבוצות אפילו אם האוכלוסייה אינה מתפלגת נורמלית או שכלל איננו יודעים כיצד היא מתפלגת.
עבור גודל מדגם מספיק גדול, משפט הגבול המרכזי מאפשר לנו להניח שממוצעי המדגמים מתפלגים באופן נורמלי, ולפיכך, ניתן להשתמש בהסקה סטטיסטית המבוססת על התפלגות נורמלית.
מדריכים נוספים בסדרה על למידת מכונה שעשויים לעניין אותך
בחינת השערות באמצעות מבחן t-test
מבחן ANOVA - האם ממוצעי קבוצות שונים סטטיסטית
לכל המדריכים בנושא של למידת מכונה
אהבתם? לא אהבתם? דרגו!
0 הצבעות, ממוצע 0 מתוך 5 כוכבים
המדריכים באתר עוסקים בנושאי תכנות ופיתוח אישי. הקוד שמוצג משמש להדגמה ולצרכי לימוד. התוכן והקוד המוצגים באתר נבדקו בקפידה ונמצאו תקינים. אבל ייתכן ששימוש במערכות שונות, דוגמת דפדפן או מערכת הפעלה שונה ולאור השינויים הטכנולוגיים התכופים בעולם שבו אנו חיים יגרום לתוצאות שונות מהמצופה. בכל מקרה, אין בעל האתר נושא באחריות לכל שיבוש או שימוש לא אחראי בתכנים הלימודיים באתר.
למרות האמור לעיל, ומתוך רצון טוב, אם נתקלת בקשיים ביישום הקוד באתר מפאת מה שנראה לך כשגיאה או כחוסר עקביות נא להשאיר תגובה עם פירוט הבעיה באזור התגובות בתחתית המדריכים. זה יכול לעזור למשתמשים אחרים שנתקלו באותה בעיה ואם אני רואה שהבעיה עקרונית אני עשוי לערוך התאמה במדריך או להסיר אותו כדי להימנע מהטעיית הציבור.
שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.
המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?
השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.