강력한 표준 오류로 ANOVA 테이블을 얻는 방법?


10

R의 plm 패키지를 사용하여 풀링 된 OLS 회귀를 실행하고 있습니다.하지만 내 질문은 기본 통계에 대한 것이므로 먼저 여기에 게시하십시오.)

내 회귀 결과가이 분산 잔차를 생성하므로이 분산 강건한 표준 오류를 사용하려고합니다. 결과적으로 coeftest(mod, vcov.=vcovHC(mod, type="HC0"))각 독립 변수에 대한 추정치, 표준 오류, t- 값 및 p- 값이 포함 된 표를 얻습니다. 기본적으로 내 "강력한"회귀 결과입니다.

다른 변수의 중요성을 논의하기 위해 각 독립 변수에 의해 설명 된 분산의 몫을 플로팅하고 싶습니다. 따라서 각각의 제곱합이 필요합니다. 그러나 function aov()사용하면 강력한 표준 오류를 사용하도록 R에 지시하는 방법을 모르겠습니다.

이제 내 질문은 : 강력한 표준 오류를 나타내는 ANOVA 테이블 / 제곱합을 얻는 방법은 무엇입니까? 정상적인 표준 오류로 회귀 분석에서 ANOVA 테이블을 기반으로 계산할 수 있습니까?

편집하다:

다시 말해 내 R 문제를 무시하고

R 가 강력한 표준 오차를 사용하여 영향을받지 않는 경우 다른 설명 변수에 의한 설명 된 분산에 대한 각각의 기여도 변경되지 않습니까?2

편집하다:

R에서 aov(mod)실제로 패널 모델 (plm)에 대한 올바른 분산 분석표가 제공됩니까?

답변:


12

선형 회귀 모형의 분산 분석은 해당 내포 모형의 Wald 검정 (및 우도 비 검정)과 같습니다. 따라서 HC (heteroskedasticity-consistent) 표준 오류를 사용하여 해당 검정을 수행하려는 경우, 제곱합을 분해하여 얻을 수는 없지만 HC 공분산 추정을 사용하여 Wald 검정을 수행 할 수 있습니다. 이 아이디어는 모두 사용 Anova()하고 linearHypothesis()으로부터 car패키지 coeftest()waldtest()으로부터 lmtest패키지로 제공된다. 후자 3 개도 plm객체 와 함께 사용할 수 있습니다 .

간단한 (매우 흥미 롭거나 의미있는 것은 아니지만) 예제는 다음과 같습니다. 우리는의 표준 모델 사용 ?plm매뉴얼 페이지를 모두의 중요성에 대한 월드 테스트를 수행 할 log(pcap)unemp. 다음 패키지가 필요합니다.

library("plm")
library("sandwich")
library("car")
library("lmtest")

모델 (대안)은 다음과 같습니다.

data("Produc", package = "plm")
mod <- plm(log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp,
  data = Produc, index = c("state", "year"))

먼저 모든 개별 계수에 대한 HC 표준 오차로 한계 Wald 검정을 살펴 보겠습니다.

coeftest(mod, vcov = vcovHC)

t test of coefficients:

            Estimate Std. Error t value  Pr(>|t|)    
log(pc)    0.2920069  0.0617425  4.7294 2.681e-06 ***
log(emp)   0.7681595  0.0816652  9.4062 < 2.2e-16 ***
log(pcap) -0.0261497  0.0603262 -0.4335   0.66480    
unemp     -0.0052977  0.0024958 -2.1226   0.03411 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

그리고 우리는 모두를위한 월드 테스트 수행 log(pcap)unemp:

linearHypothesis(mod, c("log(pcap)", "unemp"), vcov = vcovHC)

Linear hypothesis test

Hypothesis:
log(pcap) = 0
unemp = 0

Model 1: restricted model
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp

Note: Coefficient covariance matrix supplied.

  Res.Df Df  Chisq Pr(>Chisq)  
1    766                       
2    764  2 7.2934    0.02608 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

또는 mod0두 계수없이 귀무 가설 ( 예 :)에 모델을 적합시킨 다음 다음을 호출 할 수도 있습니다 waldtest().

mod0 <- plm(log(gsp) ~ log(pc) + log(emp),
  data = Produc, index = c("state", "year"))
waldtest(mod0, mod, vcov = vcovHC)

Wald test

Model 1: log(gsp) ~ log(pc) + log(emp)
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
  Res.Df Df  Chisq Pr(>Chisq)  
1    766                       
2    764  2 7.2934    0.02608 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

시험 통계 및 p- 값에 의해 계산 linearHypothesis()waldtest()정확히 동일하다. 인터페이스와 출력 형식 만 약간 다릅니다. 경우에 따라 둘 중 하나가 더 단순하거나 직관적입니다.

참고 : vocvHC(mod)공분산 행렬 추정기 (예 :와 같은 함수) 대신 공분산 행렬 추정치 (예 :와 같은 행렬 ) vocvHC를 제공하는 경우, 대안에 따라 모델의 HC 공분산 행렬 추정값을 제공해야합니다. 비 제한적 모델.


1
내가 올바르게 이해하면 Wald-test는 특정 변수를 포함시키는 것이 중요한지 여부를 보여줍니다. 그러나 실제로 제곱의 합과 같이 모델 을 얼마나 향상 시킬지에 대한 척도가 있습니까?
Aki

HAC 표준 오류를 어떻게 구현할 수 있습니까? coeftest (mod, vcov = vcovHAC)를 시도했지만 "c ( 'plm', 'panelmodel') 클래스의 개체에 적용되는 'estfun'에 해당하는 방법이 없습니다"라는 오류 메시지가 나타납니다. 또는 추정 함수를 먼저 사용하십시오. 어떤 방법을 추천 하시겠습니까?
Aki

그동안 plm패키지는 방법이있다 vcovHC()로부터 일반적인 sandwich패키지를,이 방법을 제공하지 않습니다 vcovHAC(). 대신 plm직렬 상관도 포함 할 수있는 패널 모델에서 공분산 행렬 계산을위한 전용 기능이 제공됩니다. vcovNW()또는 vcovSCC()패키지를 참조하십시오 plm.
Achim Zeileis

감사합니다! 내가 이해하는 한 두 기능은 자기 상관 강한 SE와 관련이 있습니다. 이분산성 및 자기 상관 강한 SE 모두에 사용될 수있는 기능이 있습니까?
Aki

세 가지 기능 ( vcovHAC, vcovNW, vcovSCC) ... HAC 무엇의 약자인지 그의 _H_eteroskedasticity 및 _A_utocorrelation _C_onsistent 있습니다.
Achim Zeileis

2

이것은 패키지 의 Anova기능 으로 수행 할 수 있습니다 car. 분산 분석에서 이분산성을 다루기위한 다른 기술에 대한 자세한 내용과 검토는 이 탁월한 답변 을 참조하십시오 .


감사합니다. 문제는 Anova ()가 plm 유형 (panelmodel)의 모델에서는 작동하지 않는 것입니다.
Aki

@Aki 풀리지 않은 OLS는 비 네트에 표시된 내용에 따라 일반 OLS와 동일합니다. cran.r-project.org/web/packages/plm/vignettes/plm.pdf
shadowtalker

@Aki 그러나 더 풍부한 ANOVA 모델에 관심이있는 것 같습니다. 여기에 몇 가지 R 예제가 있습니다 : stats.stackexchange.com/questions/3874/…
shadowtalker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.