ניתוח גורמים ראשיים

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
דוגמה לניתוח גורמים ראשיים בשני ממדים. הווקטורים המאויירים מתאימים לגורם ראשי ראשון (הארוך) ולגורם ראשי שני (הקצר). הווקטורים הם וקטורים עצמיים של מטריצת השונות המתואמת שנורמלו על ידי שורשי הערכים העצמיים המתאימים, והוסטו כך שזנבם נמצא על ממוצע ההתפלגות. פיזור הנקודות בתמונה הוא לפי התפלגות גאוסיאנית דו-ממדית (עם ממוצע (1,3), סטית תקן 3 בכיוון (0.478, 0.878) וסטית תקן 1 בכיוון המאונך).

ניתוח גורמים ראשיים (באנגלית: Principal Components Analysis, בראשי תיבות: PCA) היא שיטה סטטיסטית להתמרה ליניארית של נתונים למערכת קואורדינטות חדשה שבה המידע בקואורדינטות השונות הוא אורתוגונלי ובעל שונות הולכת וקטנה. שימוש נפוץ בשיטה הוא לצורך מציאת ייצוג מממד נמוך למידע מממד גבוה. שיטה זו הומצאה בשנת 1901 על ידי קרל פירסון והיא שימושית מאוד בסטטיסטיקה ובלמידת מכונה.

בהינתן מדגם של וקטורים מממד d (שהממוצע שלהן הוא אפס), ניתוח גורמים ראשיים ממיר אותם לקואורדינטות אחרות שגם בה הם מממד d, ולקואורדינטה הראשונה (הנקראת הגורם הראשי הראשון) יש את השונות (של איברים באותה הקואורדינטה בכל הווקטורים במדגם) הגדולה ביותר האפשרית, לקואורדינטה השנייה (הגורם הראשי השני) יש את השונות הגדולה ביותר האפשרית תחת האילוץ שהיא אורתוגונלית לקואורדינטה הראשונה, וכן הלאה. ההתמרה ניתנת לייצוג ככפל של המטריצה המייצגת את ההתמרה במטריצה שעמודותיה הן וקטורי המדגם. כך, כל גורם ראשי הוא מכפלה פנימית עם שורה במטריצה המייצגת את ההתמרה, ושורות אלה נקראות הווקטורים הראשיים. הורדת המימד נעשית על ידי לקיחת מספר קטן של גורמים ראשיים בלבד, שהשונות שלהם היא הגדולה ביותר.

לדוגמה, נניח כי בידינו תוצאות של ניסוי הבוחן משקל, גובה וגיל. דגימות אלו נמצאות במרחב וקטורי תלת ממדי שהרכיבים של כל נקודה בו הם משקל, גובה וגיל. באמצעות ניתוח גורמים ראשיים ניתן להוריד את הממד של המידע לממד נמוך יותר אשר יכול לגלות קשרים בין המשתנים השונים. כך, במקום לאפיין אדם על ידי שלושת הפרמטרים - משקל, גובה וגיל, ייתכן כי ניתן לאפיין אותו על ידי שני פרמטרים בלבד, ומתוכם לשחזר את המשקל, הגובה והגיל שלו. לשם כך נחפש את ההטלה הליניארית האופטימלית אשר עליה השונות של המדגם היא רבה ככל הניתן, ואחר כך נפחית אותה מהמדגם ונחפש את ההטלה הבאה עם השונות הכי גדולה. אלו שני הווקטורים העיקריים הראשונים, שאם נטיל את המשקל, הגובה והגיל של אדם עליהם נקבל שני פרמטרים שממזערים את המידע שהולך לאיבוד.

ניתוח גורמים ראשיים ניתן לחישוב באופן הבא:

  1. מפחיתים את הווקטור הממוצע מכל דגימה. לרוב גם מנרמלים כל דגימה לשונות של 1, אך בניגוד להפחתת הממוצע, פעולה זו אינה חובה.
  2. מחשבים את מטריצת השונות המשותפת (covariance) על ידי הכפלת מטריצת הדגימות (לאחר הפחתת הממוצע) במטריצה המשוחלפת שלה.
  3. מלכסנים את המטריצה. המטריצה חיובית לחלוטין, ולכן כל ערכיה העצמיים ממשיים וחיוביים. ממיינים את הערכים העצמיים בסדר יורד (ואת הווקטורים העצמיים בהתאם), ומנרמלים את הווקטורים העצמיים.
  4. הווקטורים העצמיים הם הווקטורים העיקריים. אם מטרתנו היא לבצע הורדת מימד, לוקחים כמה מהווקטורים העצמיים הראשונים (המתאימים לערכים העצמיים הגדולים ביותר).
  5. המטריצה אשר שורותיה הם הווקטורים העצמיים היא ההעתקה הליניארית המבצעת ניתוח גורמים ראשיים.

באמצעות פירוק לערכים סינגולריים של מטריצת הדגימות, ניתן למצוא את הווקטורים העיקריים מבלי לחשב באופן מפורש את מטריצת השונות המשותפת, ולרוב שיטה זו מועדפת על פני לכסון.

מאפיינים[עריכת קוד מקור | עריכה]

  • זו השיטה הליניארית להורדת מימד שעבורה השגיאה הריבועית הכוללת של שחזור הנתונים היא מינימלית.
  • מיקסום השונות למעשה ממקסם את המידע שיש בנתונים, מתוך הנחה שמה שמעניין במדגם הוא ההבדלים בין הדגימות ולא הממוצע שלהן.
  • על אף שמקובל לזנוח את רוב הגורמים הראשיים מלבד הגדולים ביותר, ייתכן כי דווקא הגורמים הקטנים יותר מכילים מידע מעניין.
  • ישנה הרחבה לשיטה המאפשרות לבצע התמרה לא ליניארית. דוגמה פשוטה למקרה שבו זה שימושי היא מדגם אחיד של נקודות ממעגל היחידה. שימוש ב-PCA בצורתו הרגילה לא יועיל במקרה כזה משום שהשונות זהה בכל כיוון. אולם, המרת הדגימות לקואורדינטות קוטביות תאפשר לנו לזנוח את הגורם הראשי השני (שהוא הרדיוס הקבוע עם אפס שונות), ולשמר את הגורם הראשי הראשון - זווית הדגימות.

קישורים חיצוניים[עריכת קוד מקור | עריכה]