Tests, die auf Residuen beruhen

Aug 26 2020

Dies könnte eine Frage sein, die meiner Meinung nach hier nicht erlaubt ist, aber ich dachte, ich würde es versuchen, falls es in Ordnung ist. Es gibt eine Reihe von Tests, die meines Wissens auf Residuen beruhen. Ein Beispiel hierfür ist der Breusch-Pagan-Test. Dies führt zu offensichtlichen Ergebnissen (und die Dokumentation scheint eher ein Regressionsmodell als Residuen zu erfordern).

# load the dataset
data(mtcars)
# fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)
library(lmtest)
# perform Breusch-Pagan Test
bptest(model)

Extrahiert der Code die Residuen oder gehe ich falsch davon aus, dass Sie Residuen für diesen Test benötigen (die Kommentare, die ich gelesen habe, scheinen ziemlich klar zu sein, dass sie auf den Residuen ausgeführt werden).

Antworten

StupidWolf Aug 26 2020 at 00:27

Um den Kommentar von @ ChristophHanck zu ergänzen, können Sie den Quellcode auf bptest überprüfen und darin sehen, dass eine Formel und ein Datenrahmen angewendet werden können:

bptest(mpg~disp+hp, data=mtcars)

studentized Breusch-Pagan test

data:  mpg ~ disp + hp
BP = 4.0861, df = 2, p-value = 0.1296

Unter dem Code befinden sich zwei Teile. Wenn Sie ein lm-Objekt angeben, werden x und y extrahiert und die Formel mit lm.fit angepasst. Danach extrahiert es die Residuen aus dem lm.fit-Objekt und berechnet die relevanten Statistiken. Dies sind die relevanten Zeilen:

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)