宏觀經濟學
R中的全要素生產率(TFP)估計
我正在嘗試使用
estprod
R 中的包計算 TFP,因為該包允許我使用 Gross-Output 進行計算(例如使用 levinsohn petrin),但我無法獲得omega雖然
prodest
包可以計算 omega 但我不能添加Gross-Output。有人用R計算過TFP嗎?
**$$ updated $$**可重現的例子
library(prodest) library(estprod) data = structure(list(Y = c(12.8268952320028, 12.8521337216858, 12.8297798993317, 12.6357098405348, 12.4004643557221, 12.3600068590732, 12.826153741752, 12.8990697648315, 12.8393196511736, 12.7619091581355), Labor = c(18.2268433780233, 18.1280743937883, 16.2004953940248, 18.4010948157752, 16.1374389570964, 18.3902253199657, 16.2359220634517, 16.2468898407345, 16.2720069307031, 16.2673373011924), Capital = c(12.1642906069818, 12.088450259469, 12.0237634086603, 12.0750443461238, 12.0098651639831, 12.0601371534517, 11.9679864443247, 11.9299321784366, 12.0016971178669, 12.1209493577051), Materials = c(18.1472736836291, 17.7735308597061, 17.1908332586684, 18.3914858811768, 18.2747180360049, 16.9304018090212, 18.4414110290762, 18.0188590654862, 18.1427756804037, 15.805209131618), id = c(1070101, 1070101, 1070101, 1070101, 1070101, 1070101, 1070102, 1070102, 1070102, 1070102), year = c(2013,2014, 2015, 2016, 2017, 2018, 2013, 2014, 2015, 2016)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -10L)) # Y, Labor, Capital, Materials are in logarithms mod1 = estprod::levinsohn_petrin(data, formula = Y ~ Labor | Capital | Materials, id = "id", time = "year", reps = 20, gross = T) #estprod with Gross-Output = T #how can i calculate omega with estprod? mod2 = prodest::prodestLP(data$Y, # prodest does not have the parameter Gross-Output fX = data$Labor, sX = data$Capital, pX = data$Materials, idvar = data$id, timevar = data$year, opt='optim', exit = F, tol = 1e-100) omega = prodest::omega(mod2) #with 'prodest' I can calculate omega
按照prodtest手冊,他們將 omega 定義為模型的殘差,即
$$ \omega_{it} = y_{it} − (\alpha + w_{it} \beta + k_{it}\gamma)=y_{it}-\hat{y}_{it} $$
estprod 沒有任何可理解的文件,但我們獲得上述資訊的一種方法是從模型中提取係數,然後計算 $ y-\hat{y} $ 手動。
我們可以使用 broom 包做到這一點:
install.packages("broom") require(broom) coefs<-tidy(mod1) # A tibble: 3 x 3 statistic bias std.error <dbl> <dbl> <dbl> 1 -3.71 4.77 2.35 2 10.5 -11.8 4.26 3 1.73 -2.14 1.64
名稱已關閉,但第一列給出的係數與我使用摘要檢查模型時的係數相同,因此它們是正確的。
接下來我們就可以計算了 $ y-\hat{y} $ 作為
omega_1 = (data$Y - data$Labor*coefs$statistic[1] - data$Capital*coefs$statistic[2] - data$Materials*coefs$statistic[3])
程式碼不優雅,但它應該可以完成這項工作。
附帶說明一下,在沒有這些包的情況下估計 TFP 可能是值得的。通常,包是 R 的最大優勢,但在這種情況下,estprod 沒有任何好的隨附文件或手冊,並且 prodest 還沒有像開發人員提到的連結中那樣添加總輸出的可能性。在這種情況下,最好只編寫自己的函式。