1. 引言——福爾摩斯與懷表相信很多人都讀過英國偵探小說家阿瑟·柯南·道爾的中篇小說《四簽名》。 故事中的主角大偵探福爾摩斯的名聲可謂如雷貫耳,甚至在日本漫畫家青山剛昌創(chuàng)作的偵探漫畫《名偵探柯南》中,主角柯南也將福爾摩斯視作偶像。 在《四簽名》中,福爾摩斯曾經(jīng)準(zhǔn)確地通過一塊懷表的特征推斷出了其舊主人的性格特點(diǎn)和生活習(xí)慣:“他是一個(gè)放蕩不羈的人……最后因?yàn)楹镁贫馈薄?/p> 下面是相關(guān)的證據(jù):
上面的推理充分展現(xiàn)了福爾摩斯敏銳的觀察力與嚴(yán)謹(jǐn)?shù)姆治瞿芰Α?/p>
智慧的真諦往往會(huì)得到跨領(lǐng)域的呼應(yīng)。福爾摩斯這一推理方法也被廣泛地運(yùn)用于社會(huì)科學(xué)的學(xué)術(shù)研究中。 2. 實(shí)證中的黑匣子——?dú)埐?/h2>在基于大樣本的社會(huì)科學(xué)實(shí)證研究中,我們往往會(huì)構(gòu)建某種模型來描述事情在一般情況下本應(yīng)怎樣(回歸模型的 我們可以看到,在很多領(lǐng)域,常常采用回歸得到的殘差作為某些重要變量的衡量指標(biāo),而這些指標(biāo)繼而會(huì)作為隨后分析中的被解釋變量。這便是上述的福爾摩斯推理思想的一種運(yùn)用。例如:
類似的例子和應(yīng)用還有很多。這里我們以公司投資行為的研究為例,介紹此類模型的基本思想,并應(yīng)用Stata范例來展現(xiàn)這一思想的實(shí)現(xiàn)過程。 3. 研究實(shí)例:過度投資與投資不足Richardson(2006,“Over-Investment of Free Cash Flow”) 對公司的投資行為進(jìn)行了研究,文中構(gòu)建了如下形式的投資模型:
這些解釋變量決定了公司新增投資支出的正常水平,因此上述回歸模型的擬合值便是對公司“預(yù)期投資支出”的衡量。 若用 4. Stata 應(yīng)用4.1 殘差和擬合值的估計(jì)若假設(shè)參數(shù) α 和 β 在全樣本中為常數(shù) (以 Leverage 變量為例,這意味著 A 公司的負(fù)債率增加一個(gè)單位對投資的邊際影響與 B 公司完全相同;或者,2009 年 Leverage 增加一個(gè)單位對投資的邊際影響與 2008 年和 2010 年也米有差別,這顯然是一個(gè)很嚴(yán)格的假設(shè)條件),則估計(jì)殘差和擬合值是非常簡單的事情:只需在完成回歸后執(zhí)行 為便于各位讀者演練,這里使用 Stata 手冊中的一份范例數(shù)據(jù)來說明。該數(shù)據(jù)源于 Grunfeld & Griliches (1960,“Is aggregation necessarily bad?”)。他們用公司前期市場價(jià)值和固定資產(chǎn)價(jià)值兩個(gè)因素解釋了公司的總投資支出。樣本包括了 10 家公司 1935-1954 年 20 年間的數(shù)據(jù)。 雖然他們的模型與 Richardson (2006) 在設(shè)定上存在差異,但求取模型殘差的思路是相通的。
部分結(jié)果呈現(xiàn)如下: -------------------------------------------------
| company year invest inv_fit E0 |
|-------------------------------------------------|
1. | 1 1935 317.6 313.6896 3.910378 |
6. | 1 1940 461.2 541.7413 -80.54128 |
11. | 1 1945 561.2 577.8403 -16.64025 |
16. | 1 1950 642.9 644.8065 -1.906509 |
|-------------------------------------------------|
21. | 2 1935 209.9 127.138 82.76198 |
26. | 2 1940 361.6 270.496 91.10404 |
31. | 2 1945 258.7 220.4178 38.28222 |
36. | 2 1950 418.8 233.6664 185.1336 |
|-------------------------------------------------|
41. | 3 1935 33.1 115.123 -82.02305 |
46. | 3 1940 74.4 246.7319 -172.3319 |
51. | 3 1945 93.6 263.0246 -169.4246 |
56. | 3 1950 93.5 292.7397 -199.2397 |
|-------------------------------------------------| 使用
輸出圖形為: 4.2 分組回歸的殘差然而,假設(shè)參數(shù) α 和 β 為常數(shù)其實(shí)是一個(gè)非常嚴(yán)格的設(shè)定,也缺乏合理性。 我們以 Leverage 變量為例來說明。上述假設(shè)意味著 A 公司的負(fù)債率增加一個(gè)單位對投資的邊際影響與 B 公司完全相同;或者,2009 年 Leverage 增加一個(gè)單位對投資的邊際影響與 2008 年和 2010 年也沒有差別;制造業(yè)公司的 Leverage 對投資的邊際影響與零售業(yè)或金融業(yè)也完全相同。 因此,無論是在公司金融領(lǐng)域還是消費(fèi)領(lǐng)域,學(xué)者們通常會(huì)放松上述假設(shè),比如允許不同行業(yè)的 α 和 β 可以有所差異,甚至同一個(gè)行業(yè)不同年度上的 α 和 β 也可以變化。這就需要“分行業(yè)-分年度” 進(jìn)行回歸,并分別計(jì)算對應(yīng)的殘差。 以分年度計(jì)算殘差為例,我們可以用循環(huán)語句來完成上述任務(wù): *-分年度變參數(shù)模型
*webuse grunfeld, clear
egen t = group(year) //生成 1,2, T 年份標(biāo)示變量,防止原始年份數(shù)據(jù)不連續(xù)
sum t
local T = r(max) // 最后一年
gen Et = . // 用于記錄殘差的變量
forvalues i=1/`T'{
qui reg invest mvalue kstock if t==`i' // 分年度回歸
qui predict e_i if e(sample), res // 第 t 年的殘差
qui replace Et = e_i if e(sample) // 將第 t 年的殘差計(jì)入變量 E
drop e_i
}
*-與參數(shù)不變模型的對比
xtline E0 Et if comp<=6, yline(0, lc(pink*0.6) lp(dash)) 最后一行中,仍然使用 5. 便捷的 asreg 命令上例中,我們只在年度層面上進(jìn)行了分組回歸,但實(shí)際應(yīng)用過程中,可能還有更復(fù)雜的需求,例如:
值得慶幸的是,借助 Stata 外部命令
其中,三種分組方式分別為:
前兩種分組方式的含義可參見 Stata 命令 5.1 安裝 asreg 命令可以在 Stata 的命令窗口輸入如下語句:
5.2 asreg 命令的基本語法asreg depvar indepvars [if] [in] [,
window([rangevar] # )
recursive
minimum( # )
by(varlist)
statistics_options]
5.3 asreg 生成的新變量
注:如果不進(jìn)行額外設(shè)定, 5.4 asreg 命令應(yīng)用之 Stata 范例掌握了這一“武器”的用法后,我們通過兩個(gè)例子來實(shí)戰(zhàn)操作一下 范例 1:過度投資與投資不足承接上例,我們先用
我們將命令自動(dòng)生成的殘差變量另存一份為 . gen Et_as = _residuals
*-對比
. list comp year Et* if mod(year,5)==0, sep(4)
----------------------------------------
| company year Et Et_as |
|----------------------------------------|
1. | 1 1935 1.709904 1.709904 |
6. | 1 1940 3.309084 3.309084 |
11. | 1 1945 33.3144 33.3144 |
16. | 1 1950 17.55818 17.55818 |
|----------------------------------------|
21. | 2 1935 70.00819 70.00819 |
26. | 2 1940 127.0704 127.0704 |
31. | 2 1945 57.78962 57.78962 |
36. | 2 1950 143.2945 143.2945 |
|----------------------------------------|
41. | 3 1935 -87.04494 -87.04494 |
46. | 3 1940 -139.7101 -139.7101 |
51. | 3 1945 -129.7079 -129.7079 |
56. | 3 1950 -163.8177 -163.8177 |
|----------------------------------------| 前面已經(jīng)提到,
結(jié)果如下: ----------------------------------------------------------------------------
| company year _Nobs _adjR2 _b_mva~e _b_kst~k _fitted _resid~s |
|----------------------------------------------------------------------------|
| 1 1935 10 0.827 0.102 -0.002 315.890 1.710 |
| 1 1940 10 0.793 0.095 0.202 457.891 3.309 |
| 1 1945 10 0.880 0.108 0.050 527.886 33.314 |
| 1 1950 10 0.817 0.176 -0.022 625.342 17.558 |
|----------------------------------------------------------------------------|
| 2 1935 10 0.827 0.102 -0.002 139.892 70.008 |
| 2 1940 10 0.793 0.095 0.202 234.530 127.070 |
| 2 1945 10 0.880 0.108 0.050 200.910 57.790 |
| 2 1950 10 0.817 0.176 -0.022 275.505 143.295 |
|----------------------------------------------------------------------------|
| 3 1935 10 0.827 0.102 -0.002 120.145 -87.045 |
| 3 1940 10 0.793 0.095 0.202 214.110 -139.710 |
| 3 1945 10 0.880 0.108 0.050 223.308 -129.708 |
| 3 1950 10 0.817 0.176 -0.022 257.318 -163.818 |
|----------------------------------------------------------------------------|
上例中的數(shù)據(jù)是平行面板,每家公司均有 20 年的觀察值,對于一個(gè)只有三個(gè)未知參數(shù)的回歸模型而言,每各細(xì)分組都有足夠的樣本數(shù)。但有些情況下,個(gè)別細(xì)分組中的樣本數(shù)很少,此時(shí)可以用 我們首先隨機(jī)刪除一些觀察值,虛構(gòu)一份非平行面板,進(jìn)而以公司為單位進(jìn)行分組回歸,并要求每家公司至少要有 10 年的數(shù)據(jù)。
可以看出,有 5 家公司的樣本數(shù)都不足 10 年,它們在后續(xù)分組回歸中將被忽略——通過設(shè)定 . asreg invest mvalue kstock, by(comp) min(10) fit
. format _res %4.2f
. list comp year Ni _res if mod(year,4)==0, sepby(comp)
--------------------------------
| company year Ni _resid~s |
|--------------------------------|
1. | 1 1944 8 . |
3. | 1 1936 8 . |
4. | 1 1940 8 . |
5. | 1 1948 8 . |
|--------------------------------|
11. | 2 1948 7 . |
15. | 2 1940 7 . |
|--------------------------------|
16. | 3 1944 8 . |
18. | 3 1936 8 . |
19. | 3 1952 8 . |
21. | 3 1948 8 . |
|--------------------------------|
26. | 4 1940 14 -4.08 |
28. | 4 1952 14 -0.36 |
30. | 4 1944 14 -9.04 |
33. | 4 1936 14 7.28 |
34. | 4 1948 14 5.11 |
|--------------------------------|
40. | 5 1944 11 -1.13 |
41. | 5 1936 11 5.37 |
|--------------------------------|
51. | 6 1940 10 -6.31 |
53. | 6 1948 10 7.21 |
57. | 6 1936 10 5.76 |
|--------------------------------|
66. | 7 1944 9 . |
67. | 7 1936 9 . |
|--------------------------------|
68. | 8 1940 9 . |
72. | 8 1944 9 . |
|--------------------------------|
77. | 9 1944 12 16.23 |
86. | 9 1948 12 -4.23 |
|--------------------------------|
90. | 10 1936 12 -0.23 |
97. | 10 1952 12 0.68 |
98. | 10 1944 12 -0.39 |
-------------------------------- 得到了各公司的回歸殘差之后,殘差為正的公司可以視為存在過度投資,殘差為負(fù)的公司可以視為存在投資不足。我們將各公司的殘差狀況分年度繪制出來。
上圖中,殘差位于虛線上方的為過度投資部分,下方的為投資不足部分。 可以發(fā)現(xiàn),大部分公司的回歸殘差是很接近 0 的,說明這些公司的投資水平是符合預(yù)期的。 只有前 3 家公司的回歸殘差出現(xiàn)了明顯偏離 0 的現(xiàn)象,表明這些公司存在過度投資或投資不足。為了揭示哪些因素導(dǎo)致了這些公司的投資偏差,接下來要做的就是把這些回歸殘差作為被解釋變量,去探尋其他因素對其產(chǎn)生的影響。 范例 2 :超額工資在上面的例子中,我們是在一個(gè)層面上(即,公司層面)進(jìn)行分組并計(jì)算殘差的。下面看一個(gè)在兩個(gè)層面上分組計(jì)算殘差的例子。 我們考察工資決定因素模型,并在 sysuse 'nlsw88.dta', clear // 調(diào)入數(shù)據(jù)
asreg wage age hours tenure collgrad married south, fit by(race occupation) // 在種族、職業(yè)兩個(gè)維度上進(jìn)行分組回歸,并分別求取擬合值與殘差 得到超額工資的數(shù)據(jù)后,我們看一下超額工資在各分組層面上所表現(xiàn)出的特征。
工資水平內(nèi)部差距較大的是專業(yè)技術(shù)人員(Professional/technical)、高管( Managers/admin),以及辦公人員或?qū)I(yè)技不作要求的職業(yè)人員(Clerical/unskilled)。在這些職業(yè)中,工資的方差很大,說明其中一部分人獲得了明顯的超額工資。 (注:在某些職業(yè)組別中沒有數(shù)據(jù),是由于在對應(yīng)組中觀察值數(shù)小于解釋變量數(shù),因而無法進(jìn)行回歸估計(jì)造成的。) twoway (kdensity _residuals if race==1,color(red) legend(label(1 'white'))) /// //按種族繪制密度函數(shù)圖
(kdensity _residuals if race==2,color(orange) legend(label(2 'black'))) ///
(kdensity _residuals if race==3,color(blue) legend(label(3 'other'))) ///
, legend(col(1))
此外,在獲得了超額工資的人中,獲得超高工資(殘差為正)的金額明顯大于獲得超低工資(殘差為負(fù))的金額,這可能是受到了“最低工資法”的影響,使得工資水平存在一個(gè)法定下限。 最后,再來看一下加入工會(huì)和未加入工會(huì)人員的工資差異。
6. 結(jié)語正如本文引言部分所述,在大樣本的實(shí)證研究中,對模型殘差的考察已經(jīng)被應(yīng)用在越來越多的領(lǐng)域。 這其中蘊(yùn)含的邏輯就是,通過對比正常情況與事實(shí)情況的差異而發(fā)現(xiàn)其中的異常情況。 這種方法無疑為判斷某些因素對研究對象的影響提供了極大的幫助。但是,這種方法的運(yùn)用也是需要一定前提的,那就是首先需要對正常情況具有充足的認(rèn)識。 比如,在引言的例子中,福爾摩斯正確地認(rèn)識到,一般清醒的人插鑰匙,一插就能夠進(jìn)去這一事實(shí),繼而才能夠準(zhǔn)確判斷懷表的主人是一個(gè)好酒之人。而如果福爾摩斯認(rèn)為大多數(shù)人插鑰匙均存在插不準(zhǔn)的可能,則其不可能推斷出懷表的主人與旁人有何不同。 甚至,如果福爾摩斯認(rèn)為一般人插鑰匙均不會(huì)用眼睛注視鑰匙孔,因而鑰匙孔附近應(yīng)有更多劃痕,那么他可能錯(cuò)誤地推斷該懷表的主人是一個(gè)習(xí)慣于注視鑰匙孔的謹(jǐn)慎之人。 因此,在應(yīng)用上述方法進(jìn)行實(shí)證研究時(shí),一定要對模型進(jìn)行合理、完整的設(shè)定,使得模型能夠充分地對研究對象作出解釋,從而如實(shí)地反映正常情況。這需要我們對前期的研究成果具有充分的掌握,并在借鑒前期研究的基礎(chǔ)上,加入自己的深思熟慮,這樣才能使得模型殘差確實(shí)反映了異常情況,進(jìn)而保證我們從中得出準(zhǔn)確的推斷。 正如福爾摩斯所言:“在你得到所有證據(jù)之前就進(jìn)行推理是個(gè)致命的錯(cuò)誤,這會(huì)使結(jié)果帶有偏見。”引述于此,與君共勉! 閱讀資料盈余管理
事件研究
投資行為
消費(fèi)行為
|
|