Cum Să Testezi Homoscedasticitatea în R: 2 Metode Simple și Eficiente

By Leonard Cucosro
SPSS TutorialsStatistical TestsR Programming

Învață cum să testezi homoscedasticitatea în R folosind metode probabilistice validate: grafice reziduale vizuale și testul Breusch-Pagan în R pentru detectarea heteroscedasticității. Acest ghid complet acoperă implementarea pas cu pas, interpretarea rezultatelor și validarea asumpției de homoscedasticitate esențială pentru modelele de regresie liniară fiabile.

Homoscedasticitatea (varianța constantă a reziduurilor) este o asumpție cheie în regresia liniară. Când este violată, erorile standard, intervalele de încredere și testele de ipoteză ale modelului tău devin nefiabile.

Vei învăța cum să verifici homoscedasticitatea în R folosind setul de date mtcars, deși poți urmări cu propriile tale date. Atât metoda vizuală cât și testul Breusch-Pagan te vor ajuta să determini dacă modelul tău de regresie îndeplinește asumpția de homoscedasticitate.

Testează Homoscedasticitatea în R Folosind Metoda Vizuală

Setul de date mtcars este încorporat în R, conținând informații despre 32 de mașini dintr-o ediție Motor Trend din 1974. Include 11 variabile precum mile per galon (mpg), cilindri (cyl) și cai putere (hp).

Creează un model simplu de regresie liniară folosind mpg (mile per galon) ca variabilă răspuns și hp (cai putere) ca predictor. Folosește funcția lm():

# Folosește setul de date mtcars
data(mtcars)

# Creează un model liniar
model <- lm(mpg ~ hp, data = mtcars)

Folosește pachetul ggplot2 pentru a crea un grafic scatter al reziduurilor față de valorile estimate. Instalează și încarcă pachetul:

# Instalează ggplot2 dacă nu este deja instalat
if (!requireNamespace("ggplot2", quietly = TRUE)) {
 install.packages("ggplot2")
}

# Încarcă pachetul ggplot2
library(ggplot2)

Creează graficul scatter:

# Verifică homoscedasticitatea folosind graficul reziduuri vs valori estimate
residuals_plot <- ggplot(data = mtcars, aes(x = fitted(model), y = resid(model))) +
 geom_point() +
 geom_smooth(method = "loess", se = FALSE, linetype = "dashed") +
 labs(x = "Valori Estimate", y = "Reziduuri") +
 ggtitle("Reziduuri vs Valori Estimate") +
 theme_minimal()

print(residuals_plot)
Grafic rezidual arătând reziduuri vs valori estimate cu pattern de dispersie aleatorie pentru testarea homoscedasticității în R folosind metoda vizuală Grafic reziduuri vs valori estimate pentru evaluarea vizuală a homoscedasticității în R.

Interpretare: Într-un scenariu homoscedastic, reziduurile ar trebui să arate o dispersie aproximativ constantă pe toate valorile estimate. Un pattern sau formă de pâlnie sugerează heteroscedasticitate (varianță non-constantă).

Testează Homoscedasticitatea în R Folosind Testul Breusch-Pagan

Testul Breusch-Pagan este o metodă statistică care examinează relația dintre reziduurile ridicate la pătrat și valorile estimate. Oferă un test formal de ipoteză pentru homoscedasticitate.

Instalează și încarcă pachetul car pentru a efectua testul:

# Instalează pachetul car dacă nu este deja instalat
if (!requireNamespace("car", quietly = TRUE)) {
 install.packages("car")
}

# Încarcă pachetul car
library(car)

Efectuează testul Breusch-Pagan folosind funcția ncvTest():

# Efectuează testul Breusch-Pagan pentru a verifica homoscedasticitatea
bp_test <- ncvTest(model)
print(bp_test)

Interpretarea Rezultatelor Testului Breusch-Pagan

Output-ul include trei valori cheie:

  • Chisquare: Statistica testului (ex., 0.0477)
  • Df (Grade de Libertate): Numărul de parametri testați (de obicei 1)
  • p-value: Probabilitatea sub ipoteza nulă de varianță constantă (ex., 0.827)

Interpretare:

  • p-value > 0.05: Nu respingem ipoteza nulă → Presupunem homoscedasticitate (varianță constantă)
  • p-value ≤ 0.05: Respingem ipoteza nulă → Presupunem heteroscedasticitate (varianță non-constantă)

Exemplu de rezultat: Chisquare = 0.0477, Df = 1, p = 0.827

Deoarece p-value (0.827) > 0.05, nu respingem ipoteza nulă și concluzionăm că homoscedasticitatea este prezentă în reziduurile modelului.

Întrebări Frecvente

Folosește două metode pentru a testa homoscedasticitatea în R: (1) Metoda vizuală - creează un grafic reziduuri vs valori estimate folosind ggplot2 și caută varianță constantă (dispersie aleatorie), sau (2) Testul Breusch-Pagan - folosește ncvTest() din pachetul car. Dacă p-value > 0.05, homoscedasticitatea este prezentă. Metoda vizuală este rapidă dar subiectivă; Breusch-Pagan oferă un test statistic formal.
Testul Breusch-Pagan este un test statistic care verifică heteroscedasticitatea (varianță non-constantă) în reziduurile regresiei. În R, folosește ncvTest() din pachetul car pe modelul tău de regresie. Testul examinează relația dintre reziduurile ridicate la pătrat și valorile estimate. Un p-value > 0.05 indică homoscedasticitate (varianță constantă), în timp ce p ≤ 0.05 sugerează heteroscedasticitate.
Creează un grafic reziduuri vs valori estimate: (1) Potrivește modelul folosind lm(), (2) Folosește ggplot2 cu aes(x = fitted(model), y = resid(model)), (3) Adaugă geom_point() și geom_smooth(). Caută dispersie aleatorie fără pattern-uri - aceasta indică homoscedasticitate. O formă de pâlnie sau un pattern sugerează heteroscedasticitate (varianță non-constantă).
Homoscedasticitatea înseamnă că varianța reziduurilor rămâne constantă pe toate nivelurile valorilor prezise în modelul tău de regresie. În analiza de regresie R, această asumpție asigură că erorile tale standard, intervalele de încredere și testele de ipoteză sunt valide. Când este violată (heteroscedasticitate), inferențele statistice ale modelului tău devin nefiabile chiar dacă coeficienții rămân nebiased.
Output-ul ncvTest() arată trei valori: Chisquare (statistica testului), Df (grade de libertate) și p-value. Concentrează-te pe p-value: dacă p > 0.05, presupune homoscedasticitate (varianță constantă); dacă p ≤ 0.05, ai heteroscedasticitate (varianță non-constantă). De exemplu, p = 0.827 înseamnă că homoscedasticitatea este prezentă și asumpțiile tale de regresie sunt îndeplinite.
Ai nevoie de două pachete R: (1) ggplot2 pentru grafice reziduale vizuale - instalează cu install.packages('ggplot2'), și (2) pachetul car pentru testul Breusch-Pagan - instalează cu install.packages('car'). Încarcă-le cu library(ggplot2) și library(car). Funcția ncvTest() din pachetul car efectuează testul formal de homoscedasticitate.

Concluzie

Acum știi cum să testezi homoscedasticitatea în R folosind două metode: grafice reziduale vizuale și testul Breusch-Pagan. Ambele abordări ajută la validarea asumpției de homoscedasticitate în regresia liniară, asigurând estimări fiabile ale modelului și teste de ipoteză.

Puncte cheie:

  • Metoda vizuală: Verifică dispersia constantă în graficele reziduale
  • Testul Breusch-Pagan: Test statistic formal (p > 0.05 = homoscedasticitate)
  • Violarea homoscedasticității duce la erori standard și intervale de încredere nefiabile

Pentru mai multe despre asumpțiile regresiei, vezi ghidul nostru despre ce este asumpția de homoscedasticitate în statistică sau învață despre analiza de moderare în R care necesită de asemenea testarea homoscedasticității.