2012-04-05 6 views
5

입니다. R에서 Fama-MacBeth 퇴보를 일으키고 표준 오차를 계산하는 패키지가 있는지 아는 사람 있습니까? 나는 sandwich 패키지와 Newey-West 표준 오류를 추정하고 클러스터링을위한 기능을 제공하는 기능에 대해 알고 있습니다. 그러나 나는 Fama-MacBeth와 관련하여 아무 것도 보지 못했습니다.Fama MacBeth의 표준 오차는 R

+3

'라이브러리 ("SOS를"); findFn ("macbeth")'아무것도 찾지 않지만'findFn ("fama")'는 금융 관련 패키지에서 몇 안타를 얻습니다. coeftest (fpmg) 예제에서 –

답변

11

plm 패키지는 Fama-MacBeth 퇴보와 SE를 추정 할 수 있습니다.

require(foreign) 
require(plm) 
require(lmtest) 
test <- read.dta("http://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/se/test_data.dta") 
fpmg <- pmg(y~x, test, index=c("year","firmid")) ##Fama-MacBeth 

> ##Fama-MacBeth 
> coeftest(fpmg) 

t test of coefficients: 

      Estimate Std. Error t value Pr(>|t|)  
(Intercept) 0.031278 0.023356 1.3392 0.1806  
x   1.035586 0.033342 31.0599 <2e-16 *** 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

그러나 데이터가 pdata.frame에 강제 할 수있는 경우이 방법은 작동합니다. (. 당신이 "duplicate couples (time-id)"이 있다면 그것은 실패합니다) 자세한 내용은

은 다음을 참조하십시오

+0

은 이중 클러스터 표준 오류를 처리하지 않습니다. fpmg에 대한 방법을 보여주십시오. http://stackoverflow.com/questions/37441230/r-no-way-to-get-double-clustered-standard-errors-for-an-object-of-class-cpmg –

+0

한 사람이 스왑해야한다고 썼습니다. N과 T 그리고 모두가 그것을하고 있습니다. 내가 질문 한 사람들을 보았지만 침묵했다;) –

+0

두 명령 모두'df.petersen'에서 작동한다. 'pmg'는 시계열 평균을 가정합니다. 때로는 평균 단면적이 이론적 인 의미를 갖습니다. FM 회귀 분석에서 : RHS 변수는 모든 지수에 대해 동일한 지수입니다. 시도해보십시오 :'df.petersen2 <-data.table (df.petersen); df.petersen2 [,': ='(x = df.petersen2 [firmid == 1, x]), by = "firmid"]'. 그런 다음 summary (pmg (y ~ x, data = df.petersen2, index = c ("year", "firmid")))'를 시도하십시오. RHS 변형이없는 교차 섹션을 실행하는 경우 NAs를 받게됩니다. 'pmg'은 잘 설명되어 있지 않으므로 적절한 회귀 분석을하는지 확신 할 수는 없지만'index = c ("firmid", "year"))'견적을 낸다. –