使用多種治療方法處理 diff 中的差異,但每種治療方法對不同的組應用一次
假設每年我都會在兩個時期(治療前和治療後)觀察電影級處理對 10 部電影(1 部經過處理的電影和 9 部未處理的電影)的評論的影響。每年,治療涉及 10 部不同的電影。
如何使用 diff-in-diff 方法分析這些數據?
我懷疑下面的傳統 diff-in-diff 方法是錯誤的,因為它會將所有電影匯集在一起,而不考慮它們屬於不同的年份/處理方式:
$$ (1) y_{ijt} = \alpha_j + \phi_t + \beta I_{jt} + \epsilon_{ijt} $$ 在哪裡 $ y_{ijt} $ 是審查的結果 $ i $ 電影的 $ j $ 期間 $ t $ , $ \alpha_j $ 是電影固定效果, $ \phi_t $ 是治療後時期的假人,並且 $ I_{jt} $ 如果電影是一個等於 1 的虛擬變數 $ j $ 在後期治療期間進行治療。
我也認為交錯的 diff-in-diff 方法不適合,因為 (i) 我有一個重複的橫截面數據集而不是一個面板,以及 (ii) 每次處理都涉及不同的電影,這意味著沒有電影被處理幾個次。
預先感謝您的幫助。
根據OP在問題和評論中的解釋,假設經過處理和未經處理的電影就像
----------------------------------------- month treated movie untreated movies -------- -------------- ---------------- 1 1 2, 3, ..., 10 2 11 12, 13, ..., 20 3 21 22, 23, ..., 30 ... -----------------------------------------
每個月都有多個評論。我猜 OP 想要一種方便的方法來獲得平均治療效果(平均數月)。假設數據是合併的。
OP 在對問題的第二條評論中考慮的方法是 (i)
reg y i.tgroup##i.post x1 x2 if month==1, vce(r)
等,然後對 DID 估計值進行平均。讓我們看看我們是否可以使用單個回歸來做類似的事情。讓我們一步一步來。考慮回歸 (ii)
reg y i.month##(i.tgroup##i.post x1 x2), vce(r)
。那麼 (ii) 應該與 (i) 相同。標準誤應該沒問題,因為使用了異變異數穩健的標準誤。(ii) 的問題是有 $ m $ (月數)治療效果,OP 想要平均。因此,讓我們限制互動項的係數是共同的(所有月份都相同),我們的回歸是 (iii)
reg y i.month##(tgroup post x1 x2) i.tgroup#i.post, vce(r)
。然後估計一種“平均治療效果”,所有其餘係數都是特定月份的。到目前為止,一切都很好。值得注意的是,(一) $ \neq $ (iii) 一般而言;(i) 是未加權平均值 $ \hat\beta_k $ ’s 和 (iii) 是它們的特定加權平均值。原因如下。由於 Frisch-Waugh 分解,(i) 等於 $ m^{-1} \sum_{k=1}^m \hat\beta_k $ , 在哪裡 $ \hat\beta_k = (X_k’M_{Z_k} X_k)^{-1} X_k’ M_{Z_k} y_k $ (月份的 DID 係數 $ k $ ), $ X_k $ 是月份互動項的向量 $ k $ , $ Z_k $ 所有其他回歸量的矩陣,以及 $ y_k $ 月評論率向量 $ k $ , 而 (iii) 給出 (根據代數) $ (\sum_{k=1}^m X_k’M_{Z_k} X_k)^{-1} \sum_{k=1}^m X_k’M_{Z_k} y_k = \sum_{k=1}^m C_k \hat\beta_k $ , 在哪裡 $$ C_k = \left( \sum_{j=1}^m X_j’M_{Z_j} X_j \right)^{-1} X_k’M_{Z_k} X_k. $$ 請注意,(i)的平均組估計量使用 $ 1/m $ 為了 $ C_k $ . (注意 $ X_k $ 是一個列向量所以 $ C_k $ 是一個標量。)如果 $ X_k’M_{Z_k} X_k $ 所有人都一樣 $ k $ (月),然後 $ C_k = 1/m $ 因此 (iii) = (i)。
$ C_k\ne 1/m $ 由於兩個原因。首先,不同月份的觀察(評論)數量不同。其次,協變數(
x1
和x2
回歸中的)。(i) 和 (iii) 是平均不同的處理。我認為這是一個選擇問題。你也可以考慮其他更受限制的模型,reg y i.tgroup##t.post x1 x2, vce(r)
只要你能分辨出來。為什麼不?我沒有嚴格檢查以下內容。
如果沒有協變數,我們可以將 (iii) 更改為 WLS 以建構 (i) 的結果,其中權重為 $ 1/\sqrt{n_k} $ 和 $ n_k $ 表示月份的觀察次數 $ k $ . (注:建構均值組回歸是WLS,與GLS無關。)也就是說,
by month, sort: gen nobs = 1/sqrt(_N) reg y i.tgroup##t.post [aw = wgt], vce(r)
如果有
x
變數,那麼我們可以計算 $ C_k $ 手動建構 WLS 的權重。因為 $ 1/\sqrt{X_k’M_{Z_k} X_k} $ 可以用作權重(對於 WLS)和 $ X_k’M_{Z_k} X_k $ 只不過是回歸的 SSR $ X_k $ 上 $ Z_k $ ,計算在概念上很簡單,儘管 Stata 編碼可能有些混亂。gen tr = tgroup*post gen xmx = . forv k=1/m { reg tr tgroup post x1 x2 if month==`k' replace xmx = e(rss) if month==`k' /* does it work? */ } gen wgt = 1/sqrt(xmx) reg y i.tgroup##i.post [aw = wgt], vce(r)