אי שם בימי נעורינו למדנו בתיכון שכל ישר במישור ניתן לתיאור בתור Y=aX+b,
כאשר X המשתנה הבלתי תלוי ו-Y המשתנה התלוי (כלומר- X קובע את Y); ובנוסף a הוא השיפוע ו-b החיתוך עם ציר Y.
רגרסיה לינארית מטפלת בתופעות בהן יש שני משתנים שאת הקשר בינהם רוצים לתאר באופן לינארי,
כאשר כל מה שמחפשים הוא את a ואת b הנ"ל שיאפשרו לנסח במפורש את המשוואה Y=aX+b,
והיא מחשבת אותם כך שהסטיות של הנתונים האמיתיים מהקו התיאורטי יהיו מינימליות (ליתר דיוק- סכום ריבועי הסטיות מכיוון שהסטיות עצמן מתקזזות).
את הרקע המתמטי אינני זוכר (לדאבוני ולשמחתכם) ולכן נקבל את הנוסחאות שבספרים כמובנות מאליהן.
השיפוע a מחושב בשיטת הריבועים הפחותים כך:
ולמי שנבהל- נתרגם את הנוסחה ל-SQL-ית מדוברת:
החישוב של b פשוט- לאחר שחישבנו את a:
![]()
בפוסט הקודם יצרנו טבלת תושבים של מדינת ישראל לפי שנים, וכעת נעשה בה שימוש כדי לחזות את מספר תושבי המדינה בשנת 2030.
T – הגדרנו מיהו X ומיהו Y.
T1- חישבנו את הערכים השונים עבור הנוסחה.
T2- חישוב a.
T3- חישוב b,
ולסיום- חישוב התחזית (כלומר- להציב במשוואה Y=aX+b את ערכי a,b המחושבים ואת X=2030 ולחשב את Y):
With T As
(Select Cast(Shana As Float) X,
Cast(Toshavim As Float) Y
From T_Toshavim),
T1 As
(Select Avg(X) AvgX,
Avg(Y) AvgY,
Count(X) N,
Sum(X*Y) SumXY,
Sum(X*X) SumXX
From T),
T2 As
(Select (SumXY-N*AvgX*AvgY)/(SumXX-N*AvgX*AvgX) a,
AvgX,
AvgY
From T1),
T3 As
(Select a,
AvgY-a*AvgX b
From T2)
Select a,
b,
a*2030+b Toshavim
From T3;
כלומר- התחזית של המודל (המעט תמים) שלנו הוא שבעוד 19 שנים אוכלוסיית מדינת ישראל תהיה כ-9.3 מיליון תושבים.
עד כמה זה מופרך? הלשכה המרכזית לסטטיסטיקה מעריכה שיהיו 9.6-10.6 מיליון תושבים.
ליתר בטחון- אוסיף לקלנדר שלי תזכורת ל-01/01/2030 לבדוק מי צדק..