מבוא לשיטות נומריות/התאמת עקומים - רגרסיה

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

- בניית מודלים לקשרים בין משתנים - תוצאות ניסוי וכיוב'.

- מערכות משוואות overdetermined.

- נתונים עם שגיאות משמעותיות.

- אינטרפולציה אינה מתאימה - overfitting.

קובץ:Numeriot (14).png


  • הגדרות:

- נקודות נתונות:

 (xn,yn)n=1,2,3,...,N

משתנה בלתי תלוי -  xn

משתנה תלוי -  yn


- העקום המתאים ביותר לנקודות הנתונות:  y^(x)


- שגיאת העקום (שארית):  ϵn=yny^(xn) -שגיאה

- קריטריון התאמה: least squares (סכום השגיאות הריבועיות המזערי)

 minSSR=Σn=1Nϵn2=Σn=1N(yny^(xn))2

ע"י קריטריון זה קובעים מהו העקום המתאים ביותר. עקום מסדר כלשהו שיתן ערך מינימלי של SSR יהיה המתאים ביותר.

- SSR של קו ישר: רגרסיה לינארית.

 y^n=b0+b1xn


אמידת קו הרגרסיה

  • עבור רגרסיה לינארית קריטריון ההתאמה הוא:

 minb0,b1SSR=Σn=1Nϵn2=Σn=1N(ynb0b1xn)2

 b0,b1 הם מקדמי הרגרסיה. כדי למצוא אותם, נגזור ונשווה לאפס:

 SSRb0=2Σn=1N(ynb0b1xn)=0

 SSRb1=2Σn=1N(ynb0b1xn)xn=0

  • מתקבלת מערכת משוואות לינאריות עם פתרון יחיד:


 {Nb0+(Σn=1Nxn)b1=Σn=1Nyn(Σn=1Nxn)b0+(Σn=1Nxn2)b1=Σn=1Nynxn

הפתרון:

 {b1=NΣxnynΣxnΣynNΣxn2(Σxn)2b0=ΣynNb1ΣxnN=y¯b1x¯

אלה הם  b0,b1 האופטימליים.


השגיאה במודל הרגרסיה

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

סטיית תקן - התפלגות הנקודה סביב הקו.

פיזור רחב יותר של נקודות סביב קו הרגרסיה ייתן סטיית תקן גדולה יותר.

 Se(y)=SSRN2=Σ(yy^)2N2 - שגיאת התקן של y.

איכות התאמת העקום

 SSR=Σ(yny^n)2 - השגיאה (ככל שיותר קטנה - המודל מתאים טוב יותר)

=> תמיד  SSRSST

 SST=Σ(yny¯)2 - שגיאות נתונים במודל הנאיבי. ( y¯ הוא הממוצע)

 SSE=SSTSSR=Σ(y^ny¯)2 - ההפרש

 R2=SSESST=Σ(y^ny¯)2Σ(yny¯)2

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


ככל ש-  R2 גדול יותר - ההתאמה יותר טובה. זה מעיד על כמה המודל שלנו טוב בהשוואה למודל הנאיבי. אם ההתאמה מושלמת אז  R2=1 אם אין קשר בין המשתנה התלוי והמשתנים הבלתי תלויים אז  R2=0.

קובץ:Numeriot (11).png

רגרסיה במשתנים מרובים

 yn=b0+b1xn1+b2Xn2++bk1xnk1+ϵn

בכתיב מטריציוני:  y[Nx1]=x[NxK]b[kx1]+ϵ[Nx1]

  • Least square:

 min[b]SSR=ϵϵ=(yxb)(yxb)

 SSRb=2x(yxb)=0xy=xxb

זהו b האופטימלי בכתיב מטריציוני:   b=(xx)1xy
  • סטיית התקן ו-  R2:

 Se=SSRNK=Σ(yy^)2nk

 R2=SSESST=Σ(y^ny¯)2Σ(yny¯)2

  • אם מוסיפים משתנים אז  R2 גם כן משתנה:

 R¯2=1SSR/NK1SSR/N1=1(1R2)(N1)NK1


התאמת עקומים לא לינאריים

עקום לא לינארי יהיה כזה שהפרמטרים שלו  b0,b1,b2,...,bn אינם בקשר לינארי.

- לינארית:  ln(y)=b0+b11x

- לא לינארית:  y=b0+b1xb2

- כשאנו מחפשים עקום מתאים ביותר עלינו למצוא את [b] (הפרמטרים) האופטימליים ולכן הפרמטרים הם הנעלמים שלנו ולא המשתנים x, y .

שיטות פתרון אפשריות:

1) לינאריזציה של משתנים.

2) רגרסיה לא לינארית.


1) לינאריזציה של משתנים

  • נשנה את המשתנים כך שהמודל יהיה לינארי בפרמטרים.

דוגמאות:

 y=b0xb1ln(y)=ln(b0)+b1ln(x)

 y=b0eb1xln(y)=ln(b0)+b1x

 y=b0xb1+x1y=b1b01x+1b0


2) רגרסיה לא לינארית

סכום הריבועים  minbSSR=ϵϵ=(yf(x,b)))(yf(x,b))=

כאשר  (yf(x,b))) הוא וקטור עמודה ו-  (yf(x,b)) הוא וקטור שורה.

 SSRb=0


  • מתקבלת מערכת משוואות לא לינאריות. פותרים ע"י:

- פתרון איטרטיבי למערכת משוואות לא לינאריות.

-לינאריזציה של המערכת סביב הפתרון הקיים.