סיבתיות היא לא מתאם

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

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

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

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

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

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

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

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

 GDP = f(Jewish) 

יחד עם:

Jewish= f(GDP)

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

(1) GDP_{i} =\alpha_{0}+\alpha_{1}Jewish_{i}+\alpha_{2}Resources_{i}+e_{i}

(2) Jewish_{i} =\beta_{0}+\beta_{1}GDP_{i}+\beta_{2}Persecution_{i}+r_{i}

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

חזרה לסיפור – Resources, Persecution הוגרלו מתוך התפלגות נורמלית סטנדרטית, ו-e ו-r הם שגיאה אקראית ("רעש") אשר הוגרלו גם הם מתוך התפלגות נורמלית סטנדרטית. ערכי הפרמטרים הם:

\alpha_{0} = 5000 \,\, \alpha_{1} = 500 \,\, \alpha_{2} = 200

\beta_{0} = 10 \,\, \beta_{1} = 30 \,\, \beta_{2} = -10

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

מכאן, שהקשר הסיבתי בין משאבים לכלכלה הוא חיובי. בואו נבדוק זאת על סימולציה של 1,000 תצפיות (מדינות) שונות, ונבחן ראשית את המתאם בין GDP למשאבים:

GDP_Resources

ניתן לראות שהקורלציה מאוד נמוכה ואף שלילית (0.0461-). זאת למרות שראינו שהקשר הסיבתי בין המשתנים חיובי! והנה ההוכחה (בפועל) כי מתאם יכול להיות מאוד מאוד חלש ואף שלילי – בעוד שהקשר הסיבתי יהיה גם קיים וגם חיובי.

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

olsreg

עכשיו נכניס לפעולה את משתנה העזר. משתנה עזר הוא פרקטיקה נפוצה בכלכלה לאמידת קשר סיבתי בין X ל-Y. משתנה עזר הוא איזשהו משתנה Z אשר מתואם עם X, ומתואם עם Y אך ורק דרך המתאם עם X. דוגמאות למשתני עזר ישנם בשפע, אחת הדוגמאות המפורסמות הוא מאמרם של אנגריסט ולביא לאמידת הקשר הסיבתי בין גודל כיתה לציוני תלמידים, על ידי שימוש במשתנה עזר של "כלל הרמב"ם", הקובע פיצול של כיתות אם יש בהן מעל 40 תלמידים. נחזור לעניינו – זוכרים את הסיפור מההתחלה? מה קובע בעולם שלנו את מספר היהודים וקשור לתוצר אך ורק דרך מספר היהודים? הרדיפות! נשתמש ברדיפות כמשתנה עזר לשיעור היהודים במדינה, ונקבל אומדים שמשחזרים כמעט במדוייק את האמת – אמת שאנו יודעים באופן חד משמעי – כי אני יצרתי אותה. אני אלוהי פרמטרייך ומשתנייך, אשר הוצאותייך מארץ רדיפות והבאתי אותך לארץ זבת משאבי טבע ו-GDP:

ivreg

הערות אחרונות לסיום:

  • גם מקטרגי "סיבתיות מחייבת מתאם" לא יטענו כי היעדר מתאם גורר בהכרח היעדר סיבתיות, כיוון שיש להגדיר על איזה מתאם ואיזה קשר סיבתי אנחנו מדברים. מתאם (לינארי) יכול להיות אפס אך הקשר הסיבתי הלא לינארי מאוד חזק (דמיינו מעגל). כאן בדוגמא גם המתאם וגם הקשר הסיבתי הוא לינארי.
  • הקוד נוצר ב-Stata, אפשר לתרגם אותו די בקלות לכל שפה, אין בו כמעט שום פונקציונלית ספציפית ל-Stata מלבד פקודות ספציפיות לגרף ולטבלאות הרגרסיה.
  • באחת השורות הראשונות תבחינו בפקודה set seed. פקודה זו מטרתה לייצב את מייצר המספרים האקראיים על ערך התחלתי כלשהו, על מנת לאפשר שחזור מדויק של תוצאות שהוגרלו באופן אקראי. באופן טבעי, שימוש ב-seed שונה או בתוכנה שונה ייתן מספרים שונים במעט – והמתאם הראשוני בין Resources ל-GDP יכול גם בהחלט לצאת חיובי.

הקוד:

cls
clear all
set seed 20171101
set obs 1000

gen Resources = rnormal(0,1)
gen Persecution = rnormal(0,1)
gen e1 = rnormal(0,1)
gen e2 = rnormal(0,1)

local a0 = 5000
local a1 = 500
local a2 = 200
local b0 = 10
local b1 = 30
local b2 = -10

gen GDP = (`a0' + `a1'*`b0' + `a1'*e2 + `a2'*Resources + e1 + `a1'*`b2'*Persecution)/(1-`a1'*`b1')

gen Jewish = (`b0' + `b1'*`a0' + `b1'*`a2'*Resources + `b1'*e1 + e2 + `b2'*Persecution)/(1-`b1'*`a1')

corr GDP Resources

twoway scatter GDP Resources || lfit GDP Resources, ///
scheme(plottigblind) xlabel(none) ylabel(none) xtick(none) xmtick(none) ytick(none) ymtick(none) ///
xtitle("Resources") ytitle("GDP") legend(off) text(-0.6 -3.23 "{&rho}= -0.0461", place(e))

eststo: reg GDP Resources
eststo: reg GDP Jewish
eststo: reg GDP Resources Jewish
esttab * using table1.tex , star(* 0.1 ** 0.05 *** 0.01) label se title("OLS Regression") replace

eststo clear
eststo: ivregress 2sls GDP (Jewish=Persecution) Resources, first
esttab * using table2.tex , star(* 0.1 ** 0.05 *** 0.01) label se title("IV Regression") replace

מודעות פרסומת

פורסם ב-03/01/2018,ב-Uncategorized. סמן בסימניה את קישור ישיר. 6 תגובות.

  1. משתמש אנונימי (לא מזוהה)

    למה אתה מחלק ב-(1-`a1'*`b1')?

  2. משתמש אנונימי (לא מזוהה)

    הסרת את התוצאות בהן מספר היהודים שלילי?

  3. כמה הערות:
    1) לא ראיתי את הגרף של קרן כצנלסון בזמן הדיון בטוויטר, וכעת, כשראיתי אותו, יש לי ביקורת עליו (צירים כפולים, ויותר מכך, נתוני שכר המינימום אינם בערכים ריאליים).
    2) בקונטקסט של שכר המינימום: שכר המינימום כמעט ולא השתנה באופן ריאלי בשנים 2004-2014, בעוד שאכן חלה ירידה משמעותית ורצופה באבטלה לאורך אותן שנים. עליה משמעותית בשכר המינימום החלה רק בשנת 2015 (כ-11% בשנים 2015-2016), יש לנו לכן רק שתי נקודות זמן (2015 ו-2016) וקשה לשפוט מה ההשפעה של עלייה בשכר המינימום על רמת האבטלה, אם כי עדיין הייתה ירידה באבטלה בשנתיים האלה. מכאן ניתן להסיק, לדעתי, כי אפשר להעלות את שכר המינימום ללא עליה מיידית בשיעור האבטלה (ייתכן כי שכר המינימום לא גורם לעליה באבטלה, וייתכן כי שכר המינימום כן גורם לעליה באבטלה, אך במקביל להעלאת שכר המינימום אפשר לנקוט במדיניות משלימה שתבלום את העלייה באבטלה בעקבות העלאת שכר המינימום, אם כי לדעתי האישית זה לא מה שקורה בישראל בפועל. יש כמובן עוד הרבה אפשרויות.).
    3) אני לא מזלזל בגריינג'ר, נהפוך הוא. אולם, עיון בקישור שהבאת מעלה כי הטענה לסיבתיות על פי גריינג'ר מתבססת על מתאמים. הבסיס לדיון הוא סדרה עיתית אוטו-רגרסיבית, והסיבתיות לפי גריינג'ר נקבעת כאשר יש מתאם חיובי (עד כדי פער) בין שתי הסדרות העיתיות.
    4) לדעתי האישית, מדד גריינג'ר לא מוכיח סיבתיות, אלא רק מתאם ברמה אולי גבוהה יותר ובקונטקסט מסויים. זו גם הסיבה לכך שמקפידים לקרוא למדד הזה "מדד סיבתיות לפי גריינג'ר" ולא סתם מדד סיבתיות. אני מבין שבמדעי החברה ובפרט בכלכלה זוהי כנראה האפשרות הכי טובה שיש (לרוב אי אפשר לבצע ניסויים מבוקרים). גם בתחומים יותר "קשים" כגון רפואה, לא תמיד ניתן לערוך ניסוים מבוקרים. כך למשל, הקשר בין עישון סיגריות ובין הגדלת הסיכון לסרטן לא הוכח בניסוי מבוקר, אלא הודגם במחקר תצפיתי (מי שמעוניין ביותר פרטים מוזמן לחפש בגוגל את ג'רום קורנפילד). ניתן לטעון כי גם ניסוי מבוקר לא מוכיח סיבתיות, אלא רק ברמה מסויימת עד כדי טעות, אבל זו כבר טענה פילוסופית. ניסוי מבוקר הוא כיום סטנדרט הזהב המדעי לקביעת סיבתיות.
    5) למרות זאת, ניתן לומר ברמה גבוהה של ביטחון כי יש סיבתיות, גם על סמך מדד גריינג'ר וגם על סמך מתודולוגיות אחרות, כאשר מצטברות מספר עדויות בלתי תלויות לאפשרות של סיבתיות. לדוגמא, יהיה ניתן לטעון כי העלאה בשכר המינימום תגרום לעליה באבטלה, אם יהיו בידינו די תצפיות התומכות בטענה הזו, למשל ממספר רב של מדינות. ראה גם את תגובתו של גיל גרינגרוז לפוסט שלי על מתאם וסיבתיות: http://www.sci-princess.info/archives/2276#comment-268368 (ואני מסכים עימו).

  4. משתמש אנונימי (לא מזוהה)

    אני מבין קטן מאוד בסטטיסטיקה, ולא ממש מכיר את התאוריה או הפרקטיקה של משתני עזר. אבל הרצתי את הסימולציה, ונראה לי שהפרשנות שנתת אתה, אלוהי הפרמטרים והמשתנים, לסיבתיות בעולם שיצרת אינה נכונה.
    אתה כותב ש״ירידה של כמות משאבי הטבע ב-1 מקטינה את התוצר ב-200״, וזה פשוט לא נכון. זה היה נכון אם מספר היהודים היה נותר קבוע, אבל זו אינה מערכת המשתנים של המודל. במודל ישנם שני משתנים בלתי תלויים (משאבים ורדיפות), ושני משתנים תלויים (תוצר ויהודים). התלות של התוצר במשתנים הבלתי תלויים ניתנת ע״י המשוואה שמופיעה בקוד שלך:
    (`a0' + `a1'*`b0' + `a1'*e2 + `a2'*Resources + e1 + `a1'*`b2'*Persecution)/(1-`a1'*`b1')
    שים לב שהמכנה הוא שלילי, ולכן התרומה של המשאבים היא שלילית. בהינתן שרמת הרדיפות נותרת קבועה, עליה של 1 במשאבים תוביל _לירידה_ של 0.0133 בתוצר – מכאן המקדם השלילי בקורלציה בין התוצר למשאבים. הקורלציה נותנת ערך לא מדוייק כיוון שהתרומה העיקרית לתוצר נובעת מהרדיפות (באופן פורמלי a1*b2 >> a2). ההשפעה של המשאבים היא תיקון קטן על התרומה של הרדיפות, ולכן נדרש מספר גדול מאוד של דגימות עד שהקורלציה תתכנס לערך הנכון.
    ֿֿהתרומה של הרדיפות היא חיובית (כיוון שהן b2 והן המכנה שליליים). זוהי התרומה העיקרית ולכן הקורלציה מחלצת מיד את הערך הנכון: עליה של 1 ברדיפות מעלה את התוצר ב-0.33.
    בקיצור, בעולם שיצרת, ממשלה רציונלית היתה עוצרת מיד את כל ההפקה של משאבי הטבע, ומעודדת את הכורים שזה עתה הפכו למובטלים לכלות את זעמם בקהילה היהודית. התוצר היה קופץ מיד.

  1. פינגבק: מדעי החברה הופכים ליותר מדעיים | דעת מיעוט

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s

%d בלוגרים אהבו את זה: