Skip to content

נסיכת המדעים

אלוהים משחק ביקום בקוביות

  • עמוד הבית
  • אודות נסיכת המדעים
  • ייעוץ סטטיסטי
  • מבוא לסטטיסטיקה
  • מצגות Presentations
  • יצירת קשר
  • Toggle search form

ניתוח מרכיבים ראשיים (PCA) – למה, איך ואיך לא

Posted on 25 בנובמבר 201710 בפברואר 2018 By יוסי לוי 16 תגובות על ניתוח מרכיבים ראשיים (PCA) – למה, איך ואיך לא

ברשימה זאת אתן הסבר אינטואיטיבי ולא מתמטי אודות שיטת ה-PCA, ואסביר כיצד להשתמש בה בצורה נכונה.

למה להשתמש ב-PCA?

PCA, או בעברית ניתוח מרכיבים ראשיים, היא שיטה סטטיסטית פופולרית בקרב Data Scientists. כאשר יש קובץ נתונים ובו מספר גדול של משתנים, מעוניינים לצמצם את מספר המשתנים כדי להקל על החישובים. יש מספר דרכים לעשות זאת, ו-PCA היא אחת הדרכים האלה. ה-PCA יכול להחליף קבוצה של משתנים בקבוצת משתנים אחרת, קטנה יותר.

איך להשתמש ב-PCA

לצורך ההדגמה אשתמש בקובץ נתונים body, המכיל נתונים אודות מימדי הגוף של 507 נבדקים. הקובץ זמין לציבור בארכיון הנתונים של ה-Journal of Statistical Education. הקובץ נמצא כאן, והסבר על הנתונים שבקובץ תוכלו למצוא כאן. אני אתרכז בשלושה משתנים בקובץ, המודדים שלושה אספקטים של היקף החזה: ,Chest_depth  Chest_diameter ו- Chest_girth.

איך אפשר להחליף את שלושת המשתנים האלה במשתנה אחד? אפשרות אחת היא להחליף את המשתנים בממוצע שלהם. מחברים את הערכים של שלושת המשתנים, ומחלקים בשלוש. יש כאן בעיה – איבדנו אינפורמציה. קודם היו לנו הערכים של כל שלושת המשתנים, עכשיו יש לנו רק את הממוצע שלהם. כמה אינפורמציה איבדנו? אפשר לחשב. אבל השאלה המעניינת היא: האם אפשר ליצור משלושת המשתנים משתנה אחר, כך שאיבוד האינפורמציה יהיה קטן יותר? האם יש שקלול של שלושת המשתנים כך שאיבוד האינפורמציה יהיה מינימלי?

את התשובה לשאלה האחרונה נתן קרל פירסון בשנת 1901. כן, אפשר למצוא שקלול כך שאיבוד האינפורמציה יהיה מינימלי.

הרעיון הבסיסי של פירסון יוסבר כעת, תוך כדי שימוש מינימלי במתמטיקה.

האינפורמציה שבנתונים מתבטאת בשוניות שבין המשתנים ובשונויות המשותפות שבינהם. לכן הציע פירסון הציע להסתכל על טבלת השונויות המשותפות המשתנים (( שונות משותפת בין שני משתנים דומה בתכונותיה למקדם המתאם בין המשתנים למעשה, מקדם המתאם מחושב על ידי שקלול של השונות המשותפת. )) . (( כן, אני יודע על  centering ו-scaling ודברים כאלה ))

Chest_depth Chest_girth Chest_diameter
20.35 4.59 6.33 Chest_diameter
23.93 7.59 4.59 Chest_girth
100.555 23.99 20.35 Chest_depth

בטבלה שמוצגת כאן אנו רואים, למשל, כי השונות המשותפת של המשתנים Chest_diameter ו-Chest_girth היא 23.93. גם מקדם המתאם בין שני המשתנים גבוה, וערכו הוא 0.87. גם המתאמים האחרים גבוהים. ככל שהמתאמים בין המשתנים גבוהים יותר, כך ה-PCA יביא יותר תועלת. לכן מומלץ לבדוק את מקדמי המתאם בין המשתנים לפני הפעלת ה-PCA.

המתמטיקאים מכנים טבלה של מספרים בשם “מטריצה”, ובהתאם טבלת השונויות המשותפות נקראת בפי הסטטיסטיקאים “מטריצת השונויות המשותפות”. למטריצה הזו יש כל מיני תכונות מתמטיות. יש לה, למשל, שלושה מספרים האופייניים לה, שנקראים בפי המתמטיקאים “ערכים עצמיים”  (( ואפשר להוכיח כי הם יהיו ממשיים וחיוביים )) . לכל ערך עצמי מתאים יצור מתמטי שנקרא “וקטור עצמי”, שהוא בעצם, בדוגמא שלנו, סדרה של 3 מספרים.

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

בדוגמה שלנו הערכים העצמיים של המטריצה הם 110.52, 2.33 ו-1.55. הערך העצמי הגדול ביותר הוא, לכן, 110.52. הוקטור העצמי המתאים לערך עצמי זה הוא: (0.953, 0.230, 0.197 ).   לכן השקלול האופטימלי הוא להכפיל את Chest_depth ב-0.197, להכפיל את Chest_diameter ב-0.230, ולהכפיל את Chest_girth ב-0.953, ולבסוף לחבר הכל. המשתנה המתקבל כך נקרא “המרכיב הראשי הראשון”. כמה אינפורמציה נשמרת? ובכן, סכום הערכים העצמיים הוא 114.4. 110.52 חלקי 114.4 זה 0.966. המרכיב הראשי הראשון שומר 96.6% מהאינפורמציה.

באופן דומה אפשר להגדיר את המרכיב הראשי השני והשלישי. בדוגמא שלנו אפשר להסתפק במרכיב הראשי הראשון.

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

 

איך לא להשתמש ב-PCA

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

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

שנית, אם תבחנו היטב את רשימת המשתנים, תראו שבקובץ יש משתנה המתאר את מינו של כל אחד מהאנשים שנמדדו. 1 מציין זכר, 0 מציין נקבה. הבחירה של 0 ו-1 היא שרירותית. זהו משתנה שמי. אין כלל משמעות לשונות של המשתנה הזה, או לשונות המשותפת שלו עם משתנים אחרים. הכלל השני: PCA נועד למשתנים כמותיים, כלומר, למשתנים שנמדדים בסולם מנה או סולם רווח. מה לגבי משתנים שנמדדים בסולם סודר? למשל, שביעות הרצון בסולם 1-5? גם כאן בחירת המספרים היא שרירותית. מי שמכניס משתנה כזה לתוך PCA מניח כי שביעות הרצון הזאת היא משתנה כמותי, כלומר ההפרש בין 1 ל-2, למשל, שווה להפרש בין 4 ל-5. הנחה כזו צריך להצדיק. ההצדקה היחידה שראיתי לגבי התייחסות למשתנה כזה כאל משתנה כמותי היא שכנוע עצמי.

גם כשיש נתוני ספירה (count variables), למשל מספר ההתקפים שעבר חולה במשך תקופת זמן מסויימת, צריך להזהר. זה אמנם משתנה כמותי, אבל הוא עלול להיות skewed (( איך מתרגמים את זה לעברית? )) , ומכאן ייתכן כי המתאם בין משתנה כזה ומשתנים כמותיים אחרים עלול להיות נמוך, ולפיכך לא תהיה תועלת רבה בהכנסתו למודל.

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

דטה סיינס, מה אומרת הסטטיסטיקה Tags:דטה סיינס, סטטיסטיקה

ניווט

Previous Post: מהו גודל המדגם המתאים?
Next Post: סטטיסטיקה רעה, דוגמא מספר 34287

Comments (16) on “ניתוח מרכיבים ראשיים (PCA) – למה, איך ואיך לא”

  1. רוני ה. הגיב:
    26 בנובמבר 2017 בשעה 08:54

    תודה, מעניין מאוד.
    נהוג לתרגם skewed כמוטה או כמצודד. בהקשר זה הייתי אולי מתרגם באופן לא פורמלי “בעל הטייה לאחד הצדדים”.
    1. http://www.maot.co.il/lex6/glossary/g_1158.asp
    2. https://he.wikipedia.org/wiki/%D7%A6%D7%99%D7%93%D7%95%D7%93_(%D7%A1%D7%98%D7%98%D7%99%D7%A1%D7%98%D7%99%D7%A7%D7%94)

    הגב
  2. גיל הגיב:
    26 בנובמבר 2017 בשעה 15:22

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

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

    אם אנחנו כבר כאן, שאלה שתמיד גורמת לבלבול. האם PCA נחשב לדוגמא של Factor analysis או שמדובר בשני דברים שונים? כמו כן, מה ההבדל בין PCA לcluster analysis? האם בcluster analysis פשוט בודקים אלו משתנים נמצאים במתאם גבוה אחד עם השני?

    הגב
    1. יוסי לוי הגיב:
      27 בנובמבר 2017 בשעה 14:26

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

      cluster analysis זה משהו אחר לגמרי – סיווג תצפיות וחלוקתן לכמה קבוצות הומוגניות יחסית. אולי אכתוב רשימה גם על זה.

      הגב
      1. אורן הגיב:
        17 בדצמבר 2017 בשעה 13:52

        PCA זה סוג של factor analysis.

        הגב
        1. יוסי לוי הגיב:
          20 בדצמבר 2017 בשעה 08:54

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

          הגב
    2. יוסי לוי הגיב:
      28 בנובמבר 2017 בשעה 15:10

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

      הגב
      1. גיל הגיב:
        28 בנובמבר 2017 בשעה 15:13

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

        הגב
  3. איתי הגיב:
    28 בנובמבר 2017 בשעה 08:58

    האם standardization על הדאטה לפני הרצת האלגוריתם לא אמור לפתור את הבעיה של השוואות בין גובה למנת משכל?

    הגב
    1. יוסי לוי הגיב:
      28 בנובמבר 2017 בשעה 15:09

      איזה בעיה זה בדיוק פותר? אם תמדוד משקל בגרמים במקום בק”ג ותחלק את ה-IQ ב-10, תהיה פתאום משמעות לשקלול שלהם?

      הגב
      1. איתי הגיב:
        28 בנובמבר 2017 בשעה 21:43

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

        הגב
  4. נתנאל הגיב:
    25 באפריל 2018 בשעה 18:51

    אתה יכול להסביר איך המרחב יורד אם התשובה של PCA זה הוקטור העצמי של הע”ע הגדול ביותר?

    בסוף נשארתי באותו מימד

    הגב
  5. יוליוס הגיב:
    8 בדצמבר 2018 בשעה 08:16

    פוסט מצויין!
    מה היית מציע למי שרוצה להבין מי מבין המשתנים המקוריים (לא הווקטורים העצמיים של ה-pca), תורמים הכי הרבה לשונות? בסופו של דבר, הרי לא ברור מה המשמעות המדעית של הווקטורים החדשים….

    הגב
  6. ישראל הגיב:
    10 בדצמבר 2018 בשעה 13:32

    טעות דפוס קטנה – המטריצה של השונות המשותפת צריכה להיות סימטרית והיא לא: הערכים של של השונות המשותפת של girth עם depth שונים משני צידי אלכסון המטריצה.

    הגב
  7. ישראל הגיב:
    10 בדצמבר 2018 בשעה 13:39

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

    הגב
  8. לילי הגיב:
    3 באפריל 2021 בשעה 23:14

    האם תוכל להסביר מה המשמעות של מקדמים שלילייים בוקטורים העצמיםם?

    הגב
  9. לנה הגיב:
    5 ביוני 2023 בשעה 11:55

    במקרה של בניית שאלון חדש, מה יותר נכון לשימוש PCA או FACTOR ANALYSIS, במידה והשאלון מורכב מ-50 שאלות ואמור להתחלק ל-5 מדדים. והאם ניתן לבצע את השיטה על מדגם של 170 איש. תודה רבה.

    הגב

כתיבת תגובה לבטל

האימייל לא יוצג באתר. שדות החובה מסומנים *

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

  • תכנים נוספים בנסיכת המדעים
  • ערוץ היוטיוב של נסיכת המדעים 
  • נסיכת המדעים בפייסבוק
  • חפירות על סטטיסטיקה
  • תכנים מומלצים ברשת בנושאי סטטיסטיקה ו- Data Science
  • Privacy policy
  • מה אומרת הסטטיסטיקה
  • כלכלה וחברה
  • בריאות
  • ביוסטטיסטיקה
  • האנשים שמאחורי הסטטיסטיקה
  • נשים בסטטיסטיקה
  • סטטיסטיקה רעה
  • אותי זה מצחיק
  • בנימה אישית

Copyright © 2025 נסיכת המדעים.

Powered by PressBook WordPress theme

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Accept Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT