אנליזה נומרית/אינטרפולציה: מינימום ריבועים

מתוך testwiki
גרסה מ־18:02, 15 בספטמבר 2012 מאת imported>יעל י
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

תבנית:אנליזה נומרית שיטה זו נקראת גם "שיטת הריבועים הפחותים" או "מינימום ריבועים" (Least Squares, Least Mean Squares, Least Squares Fitting), והיא שימושית ביותר עבור מציאת קירוב פונקציונלי לפיזור נקודות. בדרך כלל משתמשים בפולינומים ממעלות שונות, אך ניתן להפעילה עבור קבוצות פונקציות שונות, כגון סינוסים וקוסינוסים. כמו-כן, קיימות שיטות עבור "הפרשים-משולשים", "הפרשים-מרובעים" וכו', אך הם פחות נפוצים ולא נעסוק בהם כאן.

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

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

שימו לב כי לעיתים אין אנו יודעים את f, אך אין אנו זקוקים לה כי כל שמעניין הוא הערך בכל נקודה.

נסמן:

  1. הפונקציה (הנקודות) שרוצים לקרב:  yi=f(xi).
  2. הפונקציה המקרבת:  F(x).
  3. הפרש (מרחק) נקודתי בין הפונקציה המקרבת לפונקציה המקורבת:  di=yiF(xi).
  4. סכום ההפרשים (המרחקים):  S=i=0ndi2.

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

 F(x)=j=0Najϕj(x)

יש לציין כי בדרך כלל נבחר במשפחת פולינומים.

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

 Sak=0, k=0..N

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

 S=i=0n(yij=0Najϕj)2Sak=i=0n2(yij=0Najϕj)ak(j=0Najϕj)ϕk=0

מכיוון שמשווים ל-0 ניתן לצמצם את הקבוע 2 ואת סימן ה"-" (מינוס) של φk, כך שנשאר עם:

 i=0n(yiϕkj=0Najϕjϕk)=0i=0nj=0Najϕjϕk=i=0nyiϕk

כאן המקום להזכיר כי  ϕ=ϕ(xi) ולכן:

 i=0nj=0Najϕj(xi)ϕk(xi)=j=0Naji=0nϕj(xi)ϕk(xi)=a0i=0nϕ0(xi)ϕk(xi) + a1i=0nϕ1(xi)ϕk(xi) + ... = i=0nyiϕk ,k=0..N

מהמשוואה האחרונה ניתן לבנות את המערכת המטריציונית הבאה:

 [i=0nϕ0(xi)ϕ0(xi)i=0nϕ1(xi)ϕ0(xi)i=0nϕN(xi)ϕ0(xi)i=0nϕ0(xi)ϕ1(xi)i=0nϕ1(xi)ϕ1(xi)i=0nϕN(xi)ϕ1(xi)i=0nϕ0(xi)ϕN(xi)i=0nϕ1(xi)ϕN(xi)i=0nϕN(xi)ϕN(xi)]ψ{a0a1aN}a={i=0nyiϕ0i=0nyiϕ1i=0nyiϕN}Γ

ונהוג לסמן:

 ψlm=i=0nϕl(xi)ϕm(xi) ,Γl=i=0nyiϕl(xi)

מקרה פרטי: פולינום

במקרה זה:

 ϕk(x)=xk {ϕ0(x)=1ϕ1(x)=xϕ2(x)=x2ϕN(x)=xN F(x)=j=0Najxj;ψlm=i=0nxil+m ,Γl=i=0nxilyi

מקרה פרטי: רגרסיה לינארית

(להשלים)


קישורים חיצוניים

תבנית:מיזמים

קישורים חיצוניים

תבנית:מיזמים

תבנית:אנליזה נומרית