背景介紹
白飯之亂是指2023/07/08,北科大資財營的學生去一家熱炒店吃飯,結果白飯不夠,因此學生憤而在google map上評價1星。老闆覺得受委屈,因此在隔天投書媒體,這才開始導致事情的爆發。接續的狀況可以看這個懶人包。整個報導基本上是從 2023/07/09 到 2023/07/14。
這個Project就是要看看白飯之亂這件事情導致北科大的搜尋提升了多少,我們所使用的是 google trend 從 2023/06/14 到 2023/07/14。資料如下:
黑色虛線為2023/07/08,而2023/07/09是新聞出來的第一天。而不同顏色的線表示不同的大學,分別為:
- NTUST: 台科大
- YunTech: 雲科大
- NTUT: 北科大
- NTU: 台大
- NTHU: 清大
接下來會用三種方式來看待這個事件的影響力: Difference-in-Difference, Synthenic Control, 和 Regression Kink Discontinuity
Difference-in-Difference
要使用DiD的方法之前,必須要找到可以做control group的對象。在這邊,我找的比較對象為雲科大。我們來看這張圖:
我們利用linear two-way fixed effect model來找到兩者間的因果關係:
其中 $G = {0,1}$ 是指是否為實驗組(v.s. 控制組),$T = {0,1}$ 為是否在事件之前或之後。 $\tau$ 就是我們的目標。結果如下:
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 2.3600 | 1.672 | 1.411 | 0.164 | -0.992 | 5.712 |
treatment $(G)$ | 1.0000 | 2.365 | 0.423 | 0.674 | -3.741 | 5.741 |
threshold (T) | -0.1100 | 4.502 | -0.024 | 0.981 | -9.136 | 8.916 |
treatment:threshold ($\tau$) | 53.7500 | 6.367 | 8.442 | 0.000 | 40.985 | 66.515 |
我們可以看到說 $\tau = 53.75$,並且因為p-value極小,可以拒絕"白飯事件對北科大搜尋量沒有影響"這個假設。
然而,因為我認為上面的53.75並不能呈現出北科大受到白飯事件報導的影響,所以我又做了另一個模型:
其中 $G$ 是指是否為實驗組(v.s. 控制組),$X$ 為三立新聞的報導白飯事件的新聞數,資料來源於巴哈姆特。 $\eta$ 就是我們的目標。結果如下:
coef | std err | t | P-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 2.3304 | 0.314 | 7.413 | 0.000 | 1.700 | 2.961 |
treatment | 1.4223 | 0.445 | 3.199 | 0.002 | 0.531 | 2.314 |
News | 0.0015 | 0.010 | 0.149 | 0.882 | -0.018 | 0.021 |
treatment:News ($\eta$) | 0.7139 | 0.014 | 51.013 | 0.000 | 0.686 | 0.742 |
我們可以看到說 $\eta = 0.7139$,並且因為p-value極小,可以拒絕"白飯事件的報導對北科大搜尋量沒有影響"這個假設。並且每一篇報導,都會增加0.7139北科大的搜尋量。
為什麼不用NTUST
一般來說,我們都是用台科大和北科大來互相比較,但是這邊DiD並沒有用NTUST來當比較組,原因如下:
這個現象違反了一個假設稱為 No Simultaneous Spillover Effects,或是叫Stable Unit Treatment Value Assumption (SUTVA)。簡單來說就是每個被測試的unit不能互相影響。我們可以做NTUST的DiD來看:
而結果為:
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 2.3600 | 0.298 | 7.925 | 0.000 | 1.764 | 2.956 |
treatment | 2.6400 | 0.421 | 6.269 | 0.000 | 1.797 | 3.483 |
threshold | -0.3600 | 0.677 | -0.532 | 0.597 | -1.715 | 0.995 |
treatment:threshold | 4.1933 | 0.957 | 4.380 | 0.000 | 2.277 | 6.110 |
可以看到 $\tau = 4.19$,並且因為p-value極小,可以拒絕"白飯事件對台科大搜尋量沒有影響"這個假設。
Synthetic Control
可能有人再想,也許這樣還是不夠準確,例如雲科大和北科大一南一北的學校怎麼比。當遇到沒有好的控制組的時候,我們就可以Synthetic control來做,概念就是沒有控制組,我們就做一個出來。
我們利用linear Regression 和其他的學校查詢量來製造一個假的控制組,同時為了不要overfitting,我們控制所有係數在0和1之間,並且所有係數和為1。Synthetic control的結果如下:
$$Synthetic = 0.9787\times YunTech + 0.0213\times NTU$$
圖如下:
為了和DiD比較,所以之後的做法和DiD一樣,結果如下:
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 3.4548 | 1.672 | 2.066 | 0.044 | 0.102 | 6.808 |
treatment | -0.0948 | 2.365 | -0.040 | 0.968 | -4.836 | 4.647 |
threshold | -0.0839 | 4.503 | -0.019 | 0.985 | -9.111 | 8.943 |
treatment:threshold | 53.7239 | 6.368 | 8.437 | 0.000 | 40.957 | 66.490 |
其實結論和DiD一樣的。同時,我也做了新聞量的版本:
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 3.4230 | 0.315 | 10.856 | 0.000 | 2.791 | 4.055 |
treatment | 0.3297 | 0.446 | 0.739 | 0.463 | -0.564 | 1.224 |
News | 0.0021 | 0.010 | 0.209 | 0.835 | -0.018 | 0.022 |
treatment:News | 0.7133 | 0.014 | 50.821 | 0.000 | 0.685 | 0.741 |
結論也是和DiD一樣的。
Regression Kink Design
這個case也可以用 Regression Kink Design 來看,但是他必須要在多一個變數,由於我們是要比較兩者資料斜率的影響。我這邊的3個資料:時間 t、搜尋量 Y、以及新的變數:三立新聞數量 N,剛好巴哈 有人做了整理,我就直接用了。
首先我們建立First-Stage Estimation:
$$N_i=\delta_0+\delta_1 (t-c)+\delta_2 D_i (t-c)+\eta_i$$
其中 $c$ 為發生變化日期,$(t-c)$ 就是離發生日的差異天數,$D_i$ 為是否在發生新聞之後。結果如下:
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | -3.1966 | 2.125 | -1.504 | 0.145 | -7.565 | 1.172 |
relative_date (t-c) | -0.1957 | 0.154 | -1.272 | 0.215 | -0.512 | 0.120 |
relative_date:threshold D(t-c) | 31.9946 | 1.345 | 23.788 | 0.000 | 29.230 | 34.759 |
再來我們要建Reduced-form Estmation:
$$Y_i=\gamma_0+\gamma_1 (t-c)+\gamma_2 D_i (t-c)+\varepsilon_i$$
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 1.3020 | 0.928 | 1.403 | 0.173 | -0.606 | 3.210 |
relative_date | -0.1442 | 0.067 | -2.146 | 0.041 | -0.282 | -0.006 |
relative_date:threshold | 23.2435 | 0.587 | 39.571 | 0.000 | 22.036 | 24.451 |
最後,causal effect of treatment為
$$\alpha=\cfrac{\delta_2}{\gamma_2}=\cfrac{23.2435}{31.9946}=0.7265$$
但我們也可以直接用2SLS來做:
$$Y_i=\beta_0+\beta_1 (t-c)+\alpha N_i +\varepsilon_i$$
coef | std err | t | p-value | 0.025 | 0.975 | |
---|---|---|---|---|---|---|
Intercept | 4.0396 | 0.767 | 5.264 | 0.000 | 2.462 | 5.617 |
relative_date | 0.0252 | 0.056 | 0.449 | 0.657 | -0.090 | 0.141 |
News | 0.7118 | 0.016 | 45.789 | 0.000 | 0.680 | 0.744 |
得到的答案0.7118和上面得到的一樣。給個最後的圖: