שְׁאֵלָה:
אינטואיציה מאחורי אינטראקציות בין מוצרי טנזור ב- GAM (חבילת MGCV ב- R)
generic_user
2012-12-09 03:30:24 UTC
view on stackexchange narkive permalink

מודלים של תוספים כלליים הם כאלה שבהם $$ y = \ alpha + f_1 (x_1) + f_2 (x_2) + e_i $$ למשל. הפונקציות חלקות, ולפי הערכה. בדרך כלל על ידי עונשים שנענשו. MGCV היא חבילה ב- R שעושה זאת, והסופר (סיימון ווד) כותב ספר על החבילה שלו עם דוגמאות R. רופרט ואח '. (2003) כתבו ספר נגיש הרבה יותר על גרסאות פשוטות יותר של אותו דבר.

השאלה שלי היא על אינטראקציות בתוך סוגים כאלה של מודלים. מה אם אני רוצה לעשות משהו כזה: $$ y = \ alpha + f_1 (x_1) + f_2 (x_2) + f_3 (x_1 \ times x_2) + e_i $$ אם היינו בארץ OLS (שם ה- $ f $ זה רק בטא), לא תהיה לי שום בעיה לפרש $ \ hat {f} _3 $. אם אנו מעריכים באמצעות עונשים נענשים, אין לי שום בעיה בפרשנות בהקשר התוסף.

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

במקום קידוד

  normal = gam (y ~ s (x1) + s (x2) + s (x1 * x2))  

מוצר טנסור יעשה את אותו הדבר (?) על ידי

  מה = gam ( y ~ te (x1, x2))  

כשאני מבצע

  עלילה (מה)  

או

vis.gam(what)

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

האם מישהו יכול לעזור גם לי וגם לדורות הבאים על ידי מתן מעט מכניקה ואינטואיציה על המתרחש כאן מתחת למכסה המנוע? באופן אידיאלי בכך שאומרים קצת על ההבדל בין מקרה האינטראקציה התוסף הרגיל למקרה הטנסור? נקודות בונוס על אמירת הכל באנגלית פשוטה לפני שעוברים למתמטיקה.
דוגמה פשוטה, שנלקחה מספר מחבר החבילה: נתוני ספרייה (mgcv) (עצים) ct5 <- gam (Volume ~ te (גובה, היקף, k = 5), משפחה = גמא (קישור = יומן), נתונים = עצים) ct5 vis.gam (ct5) עלילה (ct5, too.far = 0.15)
אחד תשובה:
Josh
2015-09-18 06:14:50 UTC
view on stackexchange narkive permalink

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

1) חלקה חד-משתנה

נניח שיש לנו כמה נתוני תגובה $ y $ שאנחנו משערים שהם פונקציה לא ידועה $ f $ של משתנה מנבא $ x $ בתוספת שגיאה כלשהי $ ε $. המודל יהיה:

$$ y = f (x) + ε $$

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

$$ y = β_1 + β_2x + ε $$

בצורת מטריצה, יהיה לנו:

$$ Y = Xβ + ε $$

כאשר $ Y $ הוא וקטור עמודות n-by-1, $ X $ הוא מטריצת מודל n-by-2, $ β $ הוא 2-by-1 וקטור עמודות של מקדמי המודל ו- $ ε $ הוא וקטור עמודות n-by-1 של שגיאות. ל- $ X $ יש שתי עמודות מכיוון שיש שני מונחים בהרחבת הבסיס שלנו: המונח הליניארי והיירט.

אותו עיקרון חל על הרחבת בסיס ב- MGCV, אם כי פונקציות הבסיס מתוחכמות הרבה יותר. באופן ספציפי, אין צורך להגדיר פונקציות בסיס בודדות מעל התחום המלא של המשתנה הבלתי תלוי $ ​​x $. לעתים קרובות זה המקרה בעת שימוש בבסיסים מבוססי קשר (ראה "דוגמה מבוססת קשר"). המודל מיוצג אז כסכום פונקציות הבסיס, שכל אחת מהן מוערכת בכל ערך של המשתנה הבלתי תלוי. עם זאת, כפי שציינתי, חלק מפונקציות הבסיס הללו מקבלות ערך של אפס מחוץ למרווח נתון ולכן אינן תורמות להרחבת הבסיס מחוץ למרווח זה. לדוגמא, קחו בחשבון בסיס קו מעוקב שבו כל פונקציית בסיס היא סימטרית לגבי ערך (קשר) אחר של המשתנה הבלתי תלוי - במילים אחרות, כל פונקציית בסיס נראית זהה אך היא פשוט זזה לאורך ציר המשתנה הבלתי תלוי (זהו פשטנות יתר, שכן כל בסיס מעשי יכלול גם יירוט ומונח ליניארי, אך אני מקווה שתקבל את הרעיון).

אם להיות מפורש, הרחבת בסיס של מימד $ i-2 $ יכול להיראות כך:

$$ y = β_1 + β_2x + β_3f_1 (x) + β_4f_2 (x) + ... + β_if_ {i-2} (x) + ε $$

כאשר כל פונקציה $ f $ היא, אולי, פונקציה מעוקבת של המשתנה הבלתי תלוי $ ​​x $.

משוואת המטריצה ​​$ Y = Xβ + ε $ עדיין יכולה לשמש לייצוג המודל שלנו. ההבדל היחיד הוא ש- $ X $ היא כעת מטריצה ​​n-by-i; כלומר יש בו טור לכל מונח בהרחבת הבסיס (כולל המונח והמונח הליניארי). מאחר שתהליך התרחבות הבסיס אפשר לנו לייצג את המודל בצורה של משוואת מטריצה, אנו יכולים להשתמש בריבועים זעירים ביותר כדי להתאים למודל ולמצוא את המקדמים $ β $. של רגרסיה לא מפונלדת, ואחד החוזקות העיקריות של MGCV הוא אומדן החלקות שלה באמצעות מטריצת עונשין ופרמטר החלקה. במילים אחרות, במקום:

$$β=(X^TX)^{-1}X^TY$$

יש לנו:

$$ β = (X ^ TX + λS) ^ {- 1} X ^ TY $$

כאשר $ S $ הוא מטריצת קנס ריבועית $ i $ -by- $ i $ ו- $ λ $ הוא פרמטר החלקה סקלרי. לא אכנס למפרט של מטריצת העונשין כאן, אך די אם נאמר שלכל התרחבות בסיסית של משתנה עצמאי כלשהו והגדרה של עונש ריבועי "פאה" (למשל עונש נגזר שני), אחד יכול לחשב את מטריצת הקנס $ S $.

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

2) חלק רב-משתני

ניתן להכליל את ההסבר לעיל למספר ממדים. בואו נחזור למודל שלנו שנותן את התגובה $ y $ כפונקציה $ f $ של מנבאים $ x $ ו- $ z $. ההגבלה לשני משתנים בלתי תלויים תמנע את עומס ההסבר בסימן ארקאי. המודל הוא אז:

$$ y = f (x, z) + ε $$

עכשיו, זה צריך להיות ברור מאליו שאנחנו הולכים לייצג $ f (x , z) $ עם הרחבת בסיס (כלומר סופרפוזיציה של פונקציות בסיס) בדיוק כמו שעשינו במקרה החד-משתני של $ f (x) $ לעיל. צריך להיות ברור מאליו שלפחות אחת, וכמעט בוודאות הרבה יותר, מפונקציות בסיס אלה צריכות להיות פונקציות של $ x $ ו- $ z $ (אם זה לא היה המקרה, אז באופן משתמע ניתן יהיה להפריד בין $ f $ כך ש $ f (x, z) = f_x (x) + f_z (z) $). המחשה חזותית לבסיס קו רב-ממדי ניתן למצוא כאן. הרחבת בסיס דו מימדי מלאה של הממד $ i-3 $ יכולה להראות בערך כמו:

$$ y = β_1 + β_2x + β_3z + β_4f_1 (x, z) + ... + β_if_ {i- 3} (x, z) + ε $$

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

$$ Y = Xβ + ε $$

פשוט על ידי הערכת כל פונקציית בסיס בכל שילוב ייחודי של $ x $ ו- $ z $. הפתרון עדיין:

$$ β = (X ^ TX) ^ {- 1} X ^ TY $$

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

$$β=(X^TX+λS)^{-1}X^TY$$

כעת, החלק החלק הדו-ממדי הזה כולל את עונש איזוטרופי em: פירוש הדבר ששווי יחיד של $ λ $ חל בשני הכיוונים. זה עובד בסדר כאשר שניהם $ x $ וגם $ z $ נמצאים בקנה מידה זהה בערך, כגון יישום מרחבי. אך מה אם נחליף את המשתנה המרחבי $ z $ למשתנה הזמני $ t $? היחידות של $ t $ עשויות להיות הרבה יותר גדולות או קטנות יותר מהיחידות של $ x $, וזה יכול לזרוק את האינטגרציה של הנגזרות השנייה שלנו מכיוון שחלק מהנגזרות הללו יתרמו באופן לא פרופורציונלי לאינטגרציה הכוללת (למשל, אם נמדוד $ t $ בשניות ננו ו- $ x $ בשנות אור, האינטגרל של הנגזרת השנייה ביחס ל- $ t $ עשוי להיות גדול בהרבה מהאינטגרל של הנגזרת השנייה ביחס ל- $ x $, וכך "פיחות" בכיוון $ x $ עשויה להיות בלתי מפונלת במידה רבה). בשקופית 15 של "ארגז הכלים החלק" שקישרתי יש פרטים נוספים בנושא זה.

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

3) מוצר טנסור מחליק

החלקות של מוצרי טנסור עוסקות בנושא של דוגמנות לתגובות לאינטראקציות של מספר תשומות עם יחידות שונות. נניח שיש לנו תגובה $ y $ שהיא פונקציה $ f $ של המשתנה המרחבי $ x $ והמשתנה הזמני $ t $. המודל שלנו הוא אז:

$$ y = f (x, t) + ε $$

מה שאנחנו רוצים לעשות זה לבנות בסיס דו ממדי למשתנים $ x $ ו- $ t $. זה יהיה הרבה יותר קל אם נוכל לייצג $ f $ כ:

$$ f (x, t) = f_x (x) f_t (t) $$

ב- במובן האלגברי / אנליטי, זה לא בהכרח אפשרי. אך זכרו, אנו קובעים את התחומים של $ x $ ו- $ t $ (דמיינו "סריג" דו-ממדי המוגדר על ידי מיקומי הקשרים בצירים $ x $ ו- $ t $) כך שהפונקציה "האמיתית" $ f $ מיוצג על ידי סופרפוזיציה של פונקציות בסיס. בדיוק כפי שהנחנו כי ניתן לבקר פונקציה חד-משתנית מורכבת מאוד על ידי פונקציה מעוקבת פשוטה במרווח מסוים של התחום שלה, אנו יכולים להניח כי הפונקציה הלא-ניתנת להפרדה $ f (x, t) $ עשויה להיות מקורבת על ידי המוצר של פונקציות פשוטות יותר $ f_x (x) $ ו- $ f_t (t) $ במרווח - בתנאי שבחירתנו במידות הבסיס תהפוך את המרווחים הללו למספיק מספיק!

הרחבת הבסיס שלנו, בהינתן ממדי $ i $ בסיס ב- $ x $ ו- $ j $ -בממדי ב- $ t $, ואז ייראה כך:

\ begin {align} y = &β_ {1} + β_ {2} x + β_ {3 } f_ {x1} (x) + β_ {4} f_ {x2} (x) + ... + \\ &β_ {i} f_ {x (i-3)} (x) + β_ {i + 1} t + β_ {i + 2} tx + β_ {i + 3} tf_ {x1} (x) + β_ {i + 4} tf_ {x2} (x) + ... + \\ &β_ {2i} tf_ { x (i-3)} (x) + β_ {2i + 1} f_ {t1} (t) + β_ {2i + 2} f_ {t1} (t) x + β_ {2i + 3} f_ {t1} (t) f_ {x1} (x) + β_ {i + 4} f_ {t1} (t) f_ {x2} (x) {\ small + ... +} \\ &β_ {2i} f_ {t1} (t) f_ {x (i-3)} (x) + \ ldots + \\ &β_ {ij} f_ {t (j-3)} (t) f_ {x (i-3)} (x) + ε \ end {align}

אשר עשוי להתפרש כמוצר טנזור. תאר לעצמך שהערכנו כל פונקציית בסיס ב- $ x $ ו- $ t $, ובכך בנינו מטריצות מודל n-by-i ו- n-by-j $ X $ ו- $ T $, בהתאמה. לאחר מכן נוכל לחשב את $ n ^ 2 $ -by- $ ij $ מוצר טנסור $ X \ otimes T $ של שתי מטריצות הדגם הללו ולהתארגן מחדש לעמודות, כך שכל עמודה ייצגה שילוב ייחודי $ ij $. כזכור, למטריצות המודל השוליות היו עמודות $ i $ ו- $ j $ בהתאמה. ערכים אלה תואמים את ממדי הבסיס שלהם. הבסיס החדש של שני המשתנים שלנו אמור להיות בעל ממד $ ij $, ולכן אותו מספר עמודות במטריצת המודל שלו.

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

למעשה, תהליך זה מביא להרחבת בסיס כולל של המימד $ ij-i-j + 1 $ מכיוון הכפל המלא כולל הכפלת כל פונקציית $ t $ בסיס בפיתול ה- x β_ {x1} $ (ולכן נגרע $ j $) וכן הכפלת כל פונקציית בסיס $ x $ בפתיחת t $ β_ {t1} $ (אז נפחית $ i $), אך עלינו להוסיף את היירוט חזרה מעצמו (אז נוסיף 1). זה ידוע כמיישם מגבלת זיהוי.

אז נוכל לייצג זאת כ:

$$ y = β_1 + β_2x + β_3t + β_4f_1 (x, t) + β_5f_2 (x , t) + ... + β_ {ij-i-j + 1} f_ {ij-ij-2} (x, t) + ε $$

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

$$ Y = Xβ + ε $$

לאיזה (עדיין) יש את הפתרון :

$$ β = (X ^ TX) ^ {- 1} X ^ TY $$

כאשר מטריצת הדגם $ X $ כוללת עמודות $ ij-i-j + 1 $. באשר למטריצות העונשין $ J_x $ ו- $ J_t $, אלה בנויים בנפרד לכל משתנה עצמאי באופן הבא:

$$ J_x = β ^ T I_j \ otimes S_x β $$

ו-

$$ J_t = β ^ T S_t \ otimes I_i β $$

זה מאפשר עונש אניסוטרופי כולל (שונה לכל כיוון) (הערה: קנסות על הנגזרת השנייה של $ x $ מתווספים בכל קשר בציר $ t $, ולהיפך). כעת ניתן להעריך את פרמטרי ההחלקה $ λ_x $ ו- $ λ_t $ באותה צורה כמו פרמטר ההחלקה היחיד עבור החלקות החד-משתנות והרב-משתנות. התוצאה היא שהצורה הכוללת של מוצר טנסור חלק אינה משתנה לשינוי קנה המידה של המשתנים הבלתי תלויים שלו.

אני ממליץ לקרוא את כל הווינטות באתר MGCV, כמו גם את " דגמי תוסף כללי: והקדמה עם R. " יחי סיימון ווד.

תשובה יפה.מאז למדתי הרבה יותר ממה שידעתי לפני שלוש שנים.אבל אני לא בטוח שהייתי מבין לפני 3 שנים את מה שכתבת היום.או אולי יהיה לי.אני חושב שהמקום להתחיל הוא לחשוב על הרחבת בסיס בממדים רבים כ"נטו "על פני המרחב המשתנה.אני מניח שניתן לתאר טנסורים כרשת עם תבניות מלבניות ... ואולי כוחות "גזירה" שונים הנמשכים מכל כיוון.
בנימה אחרת, הייתי מזהיר אתכם מפני לחשוב על מוצר הטנזור כמייצג משהו מרחבי.הסיבה לכך היא שתוצר הטנסור האמיתי של פונקציות בסיסיות $ x $ ו- $ t $ יכלול טונות של אפסים המייצגים את הערכת פונקציות הבסיס מחוץ לטווח המוגדר שלהם.מוצר הטנסור בפועל יהיה בדרך כלל דליל מאוד.
תודה על הסיכום הנהדר הזה!רק הערה אחת: המשוואה אחרי "הרחבת הבסיס שלנו", אינה נכונה לחלוטין.זה אכן נותן את פונקציות הבסיס הנכונות, אך הוא נותן פרמטריזציה כאשר הפרמטרים המתאימים הם בצורת מוצר ($ \ beta_ {xi} \ beta_ {tj} $).
@jarauh אתה צודק, המקדמים ממש לא שייכים למשוואה הזו;רק תוצרת הבסיסים השוליים (היוצרים את הבסיסים החדשים, ואשר עליהם חלים המקדמים המותאמים).אם תבצע את העריכה אני מאשר אותה.תודה.
@Josh אוקי, ניסיתי.לא קל שיהיה נכון וקל להבין בו זמנית (ולעקוב אחר הסימון של מישהו אחר).אגב, נראה שהקישור ל- smooth-toolbox.pdf נשבר.
נראה טוב.ככל הנראה העריכה שלך נדחתה, אבל אני ביטלתי את הדחייה ואישרתי אותה.כשהתחלתי לכתוב את התשובה הזו לא הבנתי עד כמה ההרחבות יבלבלו.אני כנראה צריך לחזור ולכתוב אותו עם סימון pi (מוצר) באחד הימים הללו.


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