標籤:

Stata中因子變數的使用方法

作者:楊柳 | 連玉君 ( 知乎 | 簡書 | 碼雲 )

事倍功半 vs. 事半功倍

當需要控制公司個體效應、面對成千上萬家公司的數據資料時,你會如何處理?或許你會首先想到對每家公司生成虛擬變數,但是這種做法的工作量實在是太大了!那麼,有沒有事半功倍的方法呢?下面,小編就帶你學習Stata軟體中因子變數的使用方法。

1. 問題背景

實證分析中,我們經常需要在模型中加入反映類別的虛擬變數,以便控制不可觀測的組間差異。而在另一些分析中,為了刻畫調節效應,尚需在模型中加入變數的交乘項平方項。傳統的做法是,預先生成虛擬變數或交乘項,進而將它們加入模型。然而,當虛擬變數或交乘項的數目較多時,上述方法就顯得尤為不便,不但浪費計算機內存,也會嚴重降低我們的工作效率。

在Stata中,我們可以使用因子變數(Factor Variable)簡化操作步驟、快捷地在回歸模型中加入虛擬變數交乘項平方項高次項。更為重要的是,由於引入交乘項或平方項後,解釋變數對被解釋變數的邊際影響不再是常數,而是某個變數(調節變數)的函數,在有些模型設定下,這種關係可能是非線性的。此時,若使用因子變數,並配合Stata中的marginsmarginsplot命令,可以非常便捷、直觀地分析關鍵變數的邊際效應

2. 什麼是因子變數

因子變數(Factor Variable)是對現有變數的延伸,是從類別變數中生成虛擬變數、設定類別變數之間的交乘項、類別變數與連續型變數之間的交乘項或連續變數之間的交乘項(或多項式)。在Stata中的大多數回歸命令和回歸後的估計命令中都可以使用這些因子變數[1]

因子變數的五種運算符及其含義如下表1所示:

表1 因子變數的運算符及含義

以研究婦女工資的決定因素為例,使用Stata軟體自帶的數據文件 nlsw88.dta。該數據包含了1988年採集的2246名美國婦女的資料,包括:小時工資wage、每周工作時數hours、種族race、職業occupation、年齡age、是否大學畢業collgrad、當前職業的工作年限tenure、是否結婚married、是否居住在南部地區south、合計工作年限ttl_exp等變數。其中,小時工資wage、每周工作時數hours、年齡age、當前職業的工作年限tenure、合計工作年限ttl_exp為連續型變數;種族race為類別變數(1代表白種人white,2代表黑種人black,3代表其他人種other)、職業occupation為類別變數(13個職業類別);是否大學畢業collgrad、是否結婚married、是否居住在南部地區south為虛擬變數。

在這份數據中有一個表示種族的類別變數race,取值為1、2、3,分別對應白人黑人其他人種。假設我們想在模型中加入一個反映種族的虛擬變數black,當某個婦女是黑人時,black取值為1,否則為0。則傳統的做法如下[3]

. gen black=1. replace black=0 if race!=2. reg wage black

若延續這一思路,但使用因子變數來生成black變數,則命令為:

. gen black = 2.race

只需要一條命令,而且含義非常明確。這裡2.race本質上是一個條件判斷語句:判斷某一行觀察值中的race變數取值是否為2,若是,則返回1到變數black中,否則返回0

然而,在多數情況下,我們的目的只是希望得到虛擬變數black的估計係數,而不希望生成或存儲這個變數[4]。Stata中的因子變數語法完全注意到了這個問題。使用因子變數的標準做法如下:

. sysuse "nlsw88.dta", clear. reg wage 2.race

注意,我們無需預先生成black變數,而是直接在回歸模型中加入了2.race因子變數。有些讀者注意到,race變數有三個取值,因此,我們可以在模型中放入兩個虛擬變數,此時可以書寫如下命令:

. reg wage i.race

回歸結果如下所示:

(部分回歸結果省略)------------------------------------------------------------------------------ wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]-------------+---------------------------------------------------------------- race | black | -1.238 0.276 -4.48 0.000 -1.781 -0.696 other | 0.468 1.133 0.41 0.680 -1.754 2.690 | _cons | 8.083 0.142 57.06 0.000 7.805 8.361------------------------------------------------------------------------------

從上述結果中可以看到,回歸模型中加入了black虛擬變數和other虛擬變數,分別對應race變數的第二個和第三個類別,而第一個類別white被Stata默認作為基準組,目的在於防止完全共線性。black變數的係數值為-1.238,表示黑人的平均工資比白人低1.238個單位,並在統計上顯著;other變數的係數值為0.468,表示其他人種的平均工資比白人高0.468個單位,但是在統計上不顯著。

在實證分析中,有時會根據研究內容的需要改變基準組的設定,此時可使用ib.b.的前綴,具體寫法如下表2中所描述:

表2 基準組的運算符及含義

在實證分析中,變數的交乘項高次項往往是重要的解釋變數。以研究婦女工資的決定因素為例,若我們想在模型中加入黑人每周工作時數的變數,則傳統做法是預先生成一個虛擬變數 black 代表是否黑人,再生成一個新變數 black_x_hours 表示黑人與每周工作時數的交乘項,然後再將這個新變數放入回歸模型中。Stata命令為:

. gen black=1. replace black=0 if race!=2. gen black_x_hours = black * hours. reg wage black_x_hours

若在Stata中使用因子變數實現上述過程,則命令十分簡潔:

. reg wage 2.race#c.hours

下面,我們介紹如何在Stata中使用因子變數表示變數的交乘項高次項。我們以研究婦女工資的決定因素為例進行說明。

(1) 兩個類別變數的交乘項:

在回歸模型中加入種族race和職業類別occupation交乘項,Stata命令為:

. reg wage i.race#i.occupation

若在回歸模型中既要放入種族race和職業類別occupation虛擬變數,又需要同時放入這兩個變數的交乘項,則在回歸命令中使用i.race##i.occupation,相應的命令為:

. reg wage i.race##i.occupation

(2) 類別變數與連續變數的交乘項:

在回歸模型中加入種族race和每周工作時數hours的交乘項,Stata命令為:

. reg wage i.race#c.hours

需要注意的是,在上例中,由於我們把hours變數視為連續變數,因此,需要在其前面加上c.符號以便告知Stata該變數是連續變數

(3) 連續變數與連續變數的交乘項(高次項):

在回歸模型中加入年齡age變數,以及其平方項,Stata命令如下:

. reg wage c.age##c.age

上述命令中c.age表示年齡age變數被當成連續型變數。如果我們在Stata命令中使用i.age,則年齡age變數被當成類別變數處理,此時,類別的個數為年齡age變數中不同取值的個數。

3. 常用回歸模型的因子變數表述

範例1:鄒氏檢驗

由於不同組別之間可能會存在差異(截距項或斜率項存在差異),因此,我們需要檢驗這些差異在統計上是否顯著。這時,我們可以使用鄒氏檢驗。以研究婦女工資的影響因素為例,我們可以使用chowtest命令檢驗工會成員與非工會成員兩個樣本組中工資影響因素是否存在差異(或稱之為存在結構變化),Stata命令如下:

. global xx "hours age tenure ttl_exp married". chowtest wage $xx, group(union) detail

事實上,我們也可以使用因子變數的語法,在回歸模型中加入分組變數其他控制變數交乘項,然後再聯合檢驗分組變數的係數以及分組變數與其他控制變數的交乘項的係數是否都等於0。此時,即使我們不使用chowtest命令,也可以輕鬆實現鄒氏檢驗,Stata命令如下:

. global xx "hours age tenure ttl_exp married". reg wage $xx i.union i.union#c.($xx). testparm i.union i.union#c.($xx)

範例2:雙向固定效應模型

在實證分析過程中,經常需要在模型中加入反映年度、公司或行業特徵虛擬變數。當虛擬變數的數目眾多時,採用手動輸入變數的方式會非常耗時。例如,下述模型(1)是文獻中廣泛應用的雙向固定效應模型

y_{it}=alpha_{i}+lambda_{t}+x_{it}^{}eta+varepsilon_{it} (1)

上式等價於

y_{it}=sum_{i=2}^{N}{D_{i}cdotalpha_{i}}+sum_{t=2}^{T}{W_{t}cdotlambda_{t}}+x_{it}^{}eta+varepsilon_{it} (2)

其中, D_{i} 是對應於公司的虛擬變數,對於第 i 家公司,則有 D_{i}=1,否則 D_{i}=0。對於有 N=1000 家公司的面板數據而言,共有1000個虛擬變數。 W_{t}T-1 個年度虛擬變數[5], 定義方式與 D_{i} 相似。

若使用因子變數,則語法很簡單[6]

. reg y x1 x2 x3 i.id i.year

其中,i.id表示有 N-1 個公司虛擬變數(Stata會默認將一家公司作為基準組),即(1)式中的 alpha_{i}

當然,我們也可以用xtreg命令自帶的fe選項來控制個體效應 alpha_{i} ,同時使用因子變數來加入年度虛擬變數 lambda_{t} ,命令如下:

. xtreg y x1 x2 x3 i.year, fe

範例3:DID模型

在實證分析中,常常需要分析政策實施後帶來的效果。這時,我們就需要採集實驗組控制組兩組樣本(實驗組的樣本代表政策實施前後的情況,控制組的樣本代表不實施政策的情況),再把這兩組樣本合併為一份數據後進行回歸分析。在建模時,我們需要設定一個是否為實驗組或控制組的處理虛擬變數 Treat 放入模型,還需要設定一個反映政策實施時間前與實施後的時間虛擬變數 Time 放入模型,此外,還需要在模型中加入 Treat 變數與 Time 變數的交乘項,該交乘項的係數估計值 a_{3} 就是政策實施後帶來的效果,即實驗組在政策實施後相對於政策實施前的差異。回歸模型如下式(3)所示:

y=a_{0}+a_{1}Treat+a_{2}Time+a_{3}(Treat 	imes Time)+x_{i}eta_{i}+varepsilon (3)

式中,i=1, 2, 3

在Stata中的命令寫法如下:

. reg y Treat Time Treat#Time x1 x2 x3*-或者寫為. reg y Treat##Time x1 x2 x3

在多期DID分析中,我們常常需要加入年度虛擬變數處理變數交乘項來檢驗共同趨勢假設(common trend)以及政策效果。例如,在 Acemoglu and Angrist(2001) 文中,作者採集了1988年至1997年的人口調查數據,將樣本分為殘疾人與非殘疾人,使用多期DID模型研究了1992年美國對殘疾人工作保護法案(ADA)的實施效果。文中模型設定如下(pp.925):

y_{it}=x_{i}^{} cdot pi_{t}+delta cdot d_{i}+alpha_{t} cdot d_{i}+varepsilon_{it} (4)

其中, i 為殘疾人個體; t 為年份; y_{it} 為工作周數或周平均工資; x_{i}^{} 為一系列控制變數, pi_{t} 為時間趨勢項; d_{i} 為是否殘疾,其係數為 deltaalpha_{t} 為隨年份變化的實施ADA與未實施ADA對殘疾人工作保護效應的係數。當 t>1992 年時, alpha_{t} 量化了實施ADA之後對殘疾人工作保護的效應(使用非殘疾人作為控制組);當 t<1992 年時, alpha_{t} 檢驗了實施ADA之前的各年份中殘疾人和非殘疾人的工作周數或周平均工資是否在統計上具有顯著差異,相當於同時進行了DID模型的「共同趨勢假設」的檢驗。Stata命令如下[7]

. use "ABA_JPE2001.dta", clear. global controls "i.age_G i.edu_G i.race_G i.region". reg wkswork1 i.year##($controls) disabled i.year i.disabled#i.year

Stata回歸結果如下:

(部分回歸結果省略)----------------------------------------------------------------------------------- wkswork1 | Coef. Std. Err. t P>|t| [95% Conf. Interval]------------------+----------------------------------------------------------------------------------|----------------------部分回歸結果省略---------------------------- | disabled#year | Disabl#1987 | 4.472484 .7373381 6.07 0.000 3.027319 5.917649 Disabl#1988 | 3.785119 .760311 4.98 0.000 2.294927 5.27531 Disabl#1989 | 3.933974 .7469404 5.27 0.000 2.469989 5.397959 Disabl#1990 | 2.182529 .7364606 2.96 0.003 .7390835 3.625974 Disabl#1991 | 2.313668 .7336903 3.15 0.002 .875652 3.751683 Disabl#1992 | 3.085945 .7296645 4.23 0.000 1.65582 4.51607 Disabl#1993 | 1.729159 .7371601 2.35 0.019 .2843427 3.173975 Disabl#1994 | .5546113 .7603316 0.73 0.466 -.9356204 2.044843 Disabl#1995 | .7698129 .7871247 0.98 0.328 -.7729328 2.312559 Disabl#1996 | 0 (omitted) | _cons | 41.05231 .4546278 90.30 0.000 40.16125 41.94337-----------------------------------------------------------------------------------

範例4:超越對數生產函數

很多文獻使用超越對數生產函數估計生產效率,模型中會包含投入要素 KL 的高階項,包括平方項二者的交乘項[8]。例如在 Kumbhakar(1989) 中,作者通過在模型中加入二次項來捕捉要素的交互影響和潛在的非線性關係,模型如下式(5)所示。

lny=alpha+sum_{k=1}^{K}{eta_{k}lnx_{k}}+frac{1}{2}sum_{k=1}^{K}{sum_{m=1}^{K}{gamma_{km}lnx_{k}lnx_{m}}} (5)

此時,使用因子變數會讓Stata中的命令變得異常簡潔,如下所示:

. webuse frontier1.dta, clear . global y "lnoutput" // y. global x "lnlaborlncapital" // x1 x2*-超越對數生產函數. sfcross $y c.($x)##c.($x) // Eq.(5)

4. 邊際效應分析和圖形化呈現

一些實證研究的文獻中常常加入變數的交乘項以反映可能存在的調節效應,例如 Faulkender and Wang(2006) 、戴魁早和劉友金(2016) 與 張蘇和高揚(2012) [9],此時最重要的是分析 xy邊際效應

y=alpha+xeta_{1}+(x cdot z)eta_{2}+varepsilon (6)

xy 的邊際影響為:

frac{partial y}{partial x}=eta_{1}+zeta_{2}

顯然, partial y / partial x 取決於 z 的取值。這種邊際效應分析若是採用手動計算會非常繁瑣,而後續的圖形呈現則更為複雜。然而,若是藉助因子變數,並配合Stata中的marginsmarginsplot命令,對於包含交乘項的模型中的邊際效應的分析和圖形化展示都變得異常輕鬆。

下面,我們以研究婦女工資的決定因素為例進行說明。使用Stata軟體的自帶數據nlsw88.dta(1988年美國婦女小時工資),以wage(婦女的小時工資)作為被解釋變數,以race(種族類別)collgrad(是否大學畢業)race與collgrad的交乘項作為解釋變數建立線性回歸模型,Stata中的命令如下:

. sysuse "nlsw88.dta", clear. reg wage i.race##collgrad

回歸結果如下所示:

(部分回歸結果省略)------------------------------------------------------------------------------------- wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]--------------------+---------------------------------------------------------------- race | black | -1.442 0.297 -4.85 0.000 -2.026 -0.859 other | -0.380 1.348 -0.28 0.778 -3.024 2.263 | collgrad | college grad | 2.981 0.312 9.54 0.000 2.368 3.593 | race#collgrad |black#college grad | 2.502 0.676 3.70 0.000 1.177 3.827other#college grad | 1.678 2.297 0.73 0.465 -2.826 6.182 | _cons | 7.318 0.158 46.25 0.000 7.008 7.629-------------------------------------------------------------------------------------

我們使用margins命令來計算種族(race)與是否大學畢業(collgrad)的交乘項的各個類別婦女小時工資(wage)預測值,Stata命令和結果如下所示:

. margins i.race#collgrad

計算結果如下所示:

(部分回歸結果省略)----------------------------------------------------------------------------------------- | Delta-method | Margin Std. Err. t P>|t| [95% Conf. Interval]------------------------+---------------------------------------------------------------- race#collgrad |white#not college grad | 7.318 0.158 46.25 0.000 7.008 7.629 white#college grad | 10.299 0.269 38.24 0.000 9.771 10.827black#not college grad | 5.876 0.252 23.32 0.000 5.382 6.370 black#college grad | 11.359 0.544 20.89 0.000 10.292 12.425other#not college grad | 6.938 1.339 5.18 0.000 4.313 9.563 other#college grad | 11.597 1.840 6.30 0.000 7.989 15.205-----------------------------------------------------------------------------------------

使用marginsplot命令將計算結果用圖的形式表示,Stata命令和結果如下所示:

. marginsplot

圖1 種族與是否大學畢業交乘項各類別的婦女小時工資的預測值

從圖1中可以直觀的看到,不論種族類別,大學畢業的婦女的平均工資高於非大學畢業的婦女,該結果符合我們的一般認知;另外,我們從圖中還發現一個有趣的結果,非大學畢業的白人婦女的平均工資高於非大學畢業的黑人婦女,而大學畢業的白人婦女的平均工資低於大學畢業的黑人婦女。

下面,我們使用margins命令附加atmeans選項來計算當其他變數取均值不同種族類別的婦女小時工資的預測值,Stata命令和結果如下所示:

. margins i.race, atmeans*-或者寫為. margins race, atmeans

計算結果如下所示:

Expression : Linear prediction, predict()at : 1.race = .7288513 (mean) 2.race = .2595726 (mean) 3.race = .0115761 (mean) 0.collgrad = .7631345 (mean) 1.collgrad = .2368655 (mean)------------------------------------------------------------------------------ | Delta-method | Margin Std. Err. t P>|t| [95% Conf. Interval]-------------+---------------------------------------------------------------- race | white | 8.024 0.137 58.76 0.000 7.756 8.292 black | 7.175 0.231 31.00 0.000 6.721 7.628 other | 8.042 1.111 7.24 0.000 5.864 10.220------------------------------------------------------------------------------

使用marginsplot命令將計算結果用圖的形式表示,Stata命令和結果如下所示:

. marginsplot

圖2 不同種族類別的婦女小時工資的預測值

從圖2中可以直觀的看到,白人與其他種族的婦女的平均工資高於黑人婦女。

兩個連續變數交乘項對被解釋變數的邊際效應也可以使用margins命令來計算。我們仍以研究婦女工資的決定因素為例進行說明。在回歸模型中加入tenure(工作年限)及其平方項,並將hours(每周工作時數)age(婦女年齡)married(是否結婚)south(是否居住在南部地區)race(種族類別)作為控制變數,Stata命令如下所示:

. global xx "hours age married south i.race". reg wage c.tenure##c.tenure $xx

回歸結果如下:

----------------------------------------------------------------------------------- wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]------------------+---------------------------------------------------------------- tenure | .3015859 .0704148 4.28 0.000 .1635 .4396718 |c.tenure#c.tenure | -.0076366 .0037758 -2.02 0.043 -.0150411 -.0002321 | hours | .0749604 .0115722 6.48 0.000 .0522669 .0976539 age | -.0850009 .0388991 -2.19 0.029 -.1612832 -.0087185 married | -.4619864 .2544385 -1.82 0.070 -.960949 .0369761 south | -1.283751 .2493374 -5.15 0.000 -1.77271 -.7947914 | race | black | -1.221256 .2870854 -4.25 0.000 -1.784241 -.6582719 other | .3129332 1.098312 0.28 0.776 -1.840893 2.46676 | _cons | 8.183759 1.632092 5.01 0.000 4.983171 11.38435-----------------------------------------------------------------------------------

由於在模型中加入了 tenure 的平方項,因此, tenurewage 的邊際效應將會受到 tenure 取值的影響。上述Stata命令對應的模型設定如下:

wage=alpha+tenure cdot eta_{1}+(tenure cdot tenure)eta_{2}+x_{3}eta_{3}+...+x_{8}eta_{8}+varepsilon (7)

tenurewage 的邊際影響為:

frac{partial wage}{partial tenure}=eta_{1}+2 	imes tenure 	imes eta_{2}

顯然,當 tenure 取值不同時, tenurewage 的邊際效應是不相同的。因此,需要先使用描述性統計分析的命令(如sum tenure )查看 tenure 取值的範圍,然後再計算當 tenure 取不同的值所對應的邊際效應,Stata命令如下:

. sum tenure. margins, dydx(tenure) at(tenure=(0 1(3)25 25.9))

計算結果如下所示:

Average marginal effects Number of obs = 2,227Model VCE : OLSExpression : Linear prediction, predict()dy/dx w.r.t. : tenure1._at : tenure = 02._at : tenure = 13._at : tenure = 44._at : tenure = 75._at : tenure = 106._at : tenure = 137._at : tenure = 168._at : tenure = 199._at : tenure = 2210._at : tenure = 2511._at : tenure = 25.9------------------------------------------------------------------------------ | Delta-method | dy/dx Std. Err. t P>|t| [95% Conf. Interval]-------------+----------------------------------------------------------------tenure | _at | 1 | .3015859 .0704148 4.28 0.000 .1635 .4396718 2 | .2863127 .0632764 4.52 0.000 .1622256 .4103998 3 | .2404932 .0427222 5.63 0.000 .1567136 .3242728 4 | .1946737 .0259414 7.50 0.000 .1438016 .2455457 5 | .1488542 .0233928 6.36 0.000 .1029801 .1947282 6 | .1030346 .0380523 2.71 0.007 .0284127 .1776566 7 | .0572151 .0580967 0.98 0.325 -.0567145 .1711447 8 | .0113956 .0795548 0.14 0.886 -.1446141 .1674053 9 | -.0344239 .1015342 -0.34 0.735 -.2335359 .1646881 10 | -.0802434 .1237575 -0.65 0.517 -.3229361 .1624492 11 | -.0939893 .1304534 -0.72 0.471 -.3498129 .1618343------------------------------------------------------------------------------

使用marginsplot命令將計算結果用圖的形式表示,Stata命令和結果如下所示:

. marginsplot, xlabel(,format(%3.1f) angle(60))

圖3 工作年限對婦女工資的平均邊際效應

Stata中的多數命令都支持marginsmarginsplot命令。因此,即使對於非線性模型,如logit, tobit等,我們仍然可以藉助這兩個命令很方便地分析邊際效應。

5. 輸出回歸結果時的問題及解決辦法

以研究婦女工資的決定因素為例。wage(婦女的小時工資)作為回歸模型的被解釋變數,race(種族類別)collgrad(是否大學畢業)race與collgrad的交乘項作為解釋變數,並將回歸結果輸出到Excel中,Stata命令和結果如下:

. reg wage i.race##collgrad. est store R1. esttab R1 using D:/Table_factor_1.csv, nogap replace

表3 1988年美國婦女工資模型結果

我們發現在表3中有很多變數的係數值為 0,並缺失 t 統計量。造成這種情況的原因有二:一方面是由於有些虛擬變數作為了基準組,例如:1.race0.collgrad1.race#0.collgrad,Stata默認將它們作為基準組,所以就缺失這些基準組的估計係數值和標準誤;另一方面是由於有些交乘項中的其中一個因子變數是基準組,其它變數與這個作為基準組的因子變數交乘後的交乘項就被忽略了,所以其估計係數值和標準誤就會缺失,例如:1.race#1.collgrad2.race#0.collgrad3.race#0.collgrad。此時,可以使用esttab命令的drop()選項來屏蔽這些係數的顯示,還可以使用nobasenoomit的選項,Stata命令和結果如下所示:

*-輸出結果(不顯示基準組和忽略組的係數,使用drop選項). esttab R1 using D:/Table_factor_2.csv, nogap /// drop(1.race 0.collgrad 1.race#0.collgrad /// 1.race#1.collgrad 2.race#0.collgrad /// 3.race#0.collgrad) replace*-輸出結果(不顯示基準組和忽略組的係數,使用nobase與noomit選項). esttab R1 using D:/Table_factor_3.csv, nogap nobase noomit replace

表4 1988年美國婦女工資模型結果(刪除缺失估計係數值的變數)

6. 小結

本文介紹了Stata中因子變數產生虛擬變數交乘項的使用方法,以常用經典回歸模型為例,提供了它們的Stata命令,並進一步提供了因子變數marginsmarginsplot命令相配合分析邊際效應的示例。在Stata中的大多數命令中都可以使用因子變數的表述方法。該方法可以使Stata命令更加簡潔,並能夠大幅度提高實證分析的效率,但需要注意分析使用因子變數表述方法後得到的模型設定結構

參考文獻:

Acemoglu, D., J. D. Angrist, 2001, Consequences of Employment Protection? The Case of the Americans with Disabilities Act, Journal of Political Economy, 109 (5): 915-957.

Altunbas, Y., M.-H. Liu, P. Molyneux, R. Seth, 2000, Efficiency and Risk in Japanese Banking, Journal of Banking & Finance, 24 (10): 1605-1628.

Faulkender, M., R. Wang, 2006, Corporate Financial Policy and the Value of Cash, Journal of Finance, 61 (4): 1957-1990.

Kumbhakar, S. C., 1989, Estimation of Technical Efficiency Using Flexible Functional Form and Panel Data, Journal of Business and Economic Statistics, 7 (2): 253-258.

Wang, E. C., 2007, R&D Efficiency and Economic Performance: A Cross-Country Analysis Using the Stochastic Frontier Approach, Journal of Policy Modeling, 29 (2): 345-360.

戴魁早, 劉友金, 2016, 要素市場扭曲與創新效率——對中國高技術產業發展的經驗分析, 經濟研究, (7): 72-86.

王德祥, 李建軍, 2009, 我國稅收征管效率及其影響因素——基於隨機前沿分析(SFA)技術的實證研究, 數量經濟技術經濟研究, (4): 152-160.

張蘇, 高揚, 2012, 大學生學習行為與國家競爭力關聯關係的實證研究, 管理世界, (4): 175-176.


注釋:

[1] 詳情參閱Stata幫助文件help fvvarlist

[2] 詳情參見Stata幫助文件help varlist

[3] 為了便於說明,後續多數回歸命令中都省略了控制變數。

[4] 事實上,只要你的數據中存儲了race變數,我們只需要保存好dofile文件,就無需生成black這個中間變數。

[5] 之所以加入T-1 個年度虛擬變數,是為了防止完全共線性。

[6] 此處設定i.year會自動加入 T 個年度虛擬變數,但Stata會自動刪除一個,以防完全共線性。

[7] 文中實證分析所用的原始數據和相關程序可以從作者主頁上下載:economics.mit.edu/facul

[8] 例如,Altunbas, Liu, Molyneux and Seth(2000) 使用超越對數成本函數估算了日本銀行的效率和風險;Wang(2007) 則使用超越對數生產函數研究30個國家R&D效率;王德祥和李建軍(2009) 基於超越對數生產函數估算了我國的稅收流失率。

[9] Faulkender and Wang(2006) 檢驗了由公司融資約束對現金持有邊際市場價值的影響。戴魁早和劉友金(2016) 研究發現了要素市場扭曲對創新效率的影響存在著企業差異,企業規模在規避要素市場扭曲對創新效率的抑制效應中具有積極作用。張蘇和高揚(2012) 的實證研究發現學生來源於城市或農村地區對國家競爭力的影響作用受到每周上網時間的影響,如果上網時間在每周8小時以下,城市大學生的學習行為落入「增進國家競爭力導向」上高效率區域而不是低效率區域的概率比農村大學生要高,否則要低。


關於我們

  • Stata 連享會(公眾號:StataChina)】由中山大學連玉君老師團隊創辦,旨在定期與大家分享 Stata 應用的各種經驗和技巧。
  • 公眾號推文同步發佈於 【簡書-Stata連享會】 和 【知乎-連玉君Stata專欄】。可以在簡書知乎中搜索關鍵詞StataStata連享會後關注我們。
  • 推文中的相關數據和程序,以及 Markdown 格式原文 可以在 【Stata連享會-碼雲】 中獲取。【Stata連享會-碼雲】 中還放置了諸多 Stata 資源和程序。如 Stata命令導航 || stata-fundamentals || Propensity-score-matching-in-stata || Stata-Training 等。

聯繫我們

  • 歡迎賜稿: 歡迎將您的文章或筆記投稿至Stata連享會(公眾號: StataChina),我們會保留您的署名;錄用稿件達五篇以上,即可免費獲得 Stata 現場培訓 (初級或高級選其一) 資格。
  • 意見和資料: 歡迎您的寶貴意見,您也可以來信索取推文中提及的程序和數據。
  • 招募英才: 歡迎加入我們的團隊,一起學習 Stata。合作編輯或撰寫稿件五篇以上,即可免費獲得 Stata 現場培訓 (初級或高級選其一) 資格。
  • 聯繫郵件: StataChina@163.com

推薦閱讀:

關於面板數據的VAR模型
gen 和 egen 中的 sum() 函數
stata字元轉換,應對nonnumeric characters
運用Stata進行數據分析的常用命令
君生我未生!Stata - 論文四表一鍵出

TAG:Stata |