test che si basano sui residui
Questa potrebbe essere una domanda r, che penso non sia consentita qui, ma ho pensato di provare nel caso fosse ok. Ci sono una serie di test che, a quanto ho capito, si basano sui residui. Un esempio di ciò è il test di Breusch-Pagan. Ciò genera risultati evidenti da ciò (e la documentazione sembra richiedere un modello di regressione piuttosto che residui).
# load the dataset
data(mtcars)
# fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)
library(lmtest)
# perform Breusch-Pagan Test
bptest(model)
Il codice estrae i residui o sbaglio nel presumere che tu abbia bisogno di residui per questo test (i commenti che ho letto sembrano abbastanza chiari che viene eseguito sui residui).
Risposte
Per aggiungere al commento di @ ChristophHanck, puoi controllare il codice sorgente per bptest e in esso puoi vedere che è possibile applicare una formula e un frame di dati:
bptest(mpg~disp+hp, data=mtcars)
studentized Breusch-Pagan test
data: mpg ~ disp + hp
BP = 4.0861, df = 2, p-value = 0.1296
Sotto il codice ci sono due parti. Se fornisci un oggetto lm, estrarrà la x e la y, riadatterà la formula usando lm.fit. Dopodiché, estrae i residui dall'oggetto lm.fit e calcola le relative statistiche. Queste le righe rilevanti:
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)