잔차에 의존하는 검정
Aug 26 2020
이것은 여기에서 허용되지 않는다고 생각하는 r 질문 일 수 있지만 괜찮을 경우 시도 할 것이라고 생각했습니다. 내가 이해하는대로 잔차에 의존하는 일련의 테스트가 있습니다. 이에 대한 한 가지 예가 Breusch-Pagan 테스트입니다. 이것은 그것으로부터 명백한 결과를 생성합니다 (그리고 문서는 잔차보다는 회귀 모델을 요구하는 것 같습니다).
# load the dataset
data(mtcars)
# fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)
library(lmtest)
# perform Breusch-Pagan Test
bptest(model)
코드가 잔차를 추출하고 있습니까? 아니면이 테스트에 잔차가 필요하다고 가정하는 것이 잘못 되었습니까?
답변
StupidWolf Aug 26 2020 at 00:27
@ChristophHanck 의 의견에 추가하려면 bptest 의 소스 코드를 확인하면 공식과 데이터 프레임을 적용 할 수 있습니다.
bptest(mpg~disp+hp, data=mtcars)
studentized Breusch-Pagan test
data: mpg ~ disp + hp
BP = 4.0861, df = 2, p-value = 0.1296
코드 아래에는 두 부분이 있습니다. lm 객체를 제공하면 x와 y를 추출하고 lm.fit을 사용하여 수식을 다시 맞 춥니 다. 그 후 lm.fit 객체에서 잔차를 추출하고 관련 통계를 계산합니다. 다음은 관련 라인입니다.
resi <- lm.fit(X,y)$residuals
sigma2 <- sum(resi^2)/n
if(studentize)
{
w <- resi^2 - sigma2
aux <- lm.fit(Z, w)
bp <- n * sum(aux$fitted.values^2)/sum(w^2) method <- "studentized Breusch-Pagan test" } else { f <- resi^2/sigma2 -1 aux <- lm.fit(Z, f) bp <- 0.5 * sum(aux$fitted.values^2)
method <- "Breusch-Pagan test"
}
names(bp) <- "BP"
df <- c("df" = aux$rank - 1)
RVAL <- list(statistic = bp,
parameter = df,
method = method,
p.value= pchisq(bp, df, lower.tail = FALSE),
data.name = dname)