שְׁאֵלָה:
כיצד להקרין וקטור חדש על שטח PCA?
pixel
2010-09-12 21:11:23 UTC
view on stackexchange narkive permalink

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

חישבתי PCA בשפת R באמצעות prcomp . עכשיו אני אמור להיות מסוגל להכפיל את הווקטור שלי על ידי מטריצת הסיבוב PCA. האם על מרכיבים עיקריים במטריצה ​​זו להיות מסודרים בשורות או בעמודות?

ארבע תשובות:
#1
+26
Ben Rollert
2014-07-23 04:12:44 UTC
view on stackexchange narkive permalink

רק כדי להוסיף לתשובה הפנטסטית של @ chl (+1), אתה יכול להשתמש בפתרון קל יותר:

  # בצע ניתוח רכיבים עיקרייםpca <- prcomp (data) # פרויקט נתונים חדשים על סולם הרווחים של PCA (נתונים חדשים, מרכז pca $, סולם pca $)% *% pca $ סיבוב 

זה שימושי מאוד אם אינך רוצה לשמור את כל ה- pca קוד> אובייקט להקרנת נתונים חדשים על שטח PCA.

#2
+26
chl
2010-09-12 22:03:16 UTC
view on stackexchange narkive permalink

ובכן, @Srikant כבר נתן לך את התשובה הנכונה שכן מטריצת הסיבוב (או העומסים) מכילה וקטורים עצמיים מסודרים בצורה עמודה, כך שאתה פשוט צריך להכפיל (באמצעות % *% ) את הווקטור שלך או מטריצה ​​של נתונים חדשים עם למשל prcomp (X) $ rotation . היזהר, עם זאת, בכל פרמטרים מרכזיים או קנה מידה נוספים שהוחלו בעת חישוב EVA של רכיבי PCA.

ב- R, ייתכן שתמצא שימוש בפונקציה לחזות () , ראה ? predict.prcomp . BTW, אתה יכול לבדוק כיצד מיושם הקרנת נתונים חדשים על ידי הקלדה פשוטה:

  getS3method ("לנבא", "prcomp")  
#3
+7
Tom
2014-10-28 12:21:24 UTC
view on stackexchange narkive permalink

ב- SVD, אם A היא מטריצה ​​mxn, שורות k העליונות של מטריצת היחיד הימנית V, היא ייצוג של מימד k של העמודות המקוריות של A כאשר k < = n

A = UΣV t
=> A t = VΣ t U t = VΣU t
=> A t U = VΣU t U = VΣ ----------- (כי U הוא אורתוגונלי) => A t -1 = VΣΣ -1 = V

אז $ V = A ^ tUΣ $ -1

השורות של A t או העמודות של A מפה לעמודות V.
אם המטריצה ​​של הנתונים החדשים שבהם לבצע PCA להפחתת מימד היא Q, מטריצת aqxn, ואז השתמש בנוסחה כדי לחשב $ R = Q ^ tUΣ $ -1 , התוצאה R היא את התוצאה הרצויה. R הוא מטריצה ​​n על ידי n, ואת שורות ה- k העליונות של R (ניתן לראות כ- k על ידי n מטריצה) היא ייצוג חדש של עמודות Q במרחב ה- k.

#4
+3
user28
2010-09-12 21:24:35 UTC
view on stackexchange narkive permalink

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



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...