Hoe voer je een breusch-pagan-test uit in r
Om te bepalen of heteroscedasticiteit aanwezig is in een regressieanalyse wordt een Breusch-Pagan-test gebruikt .
In deze tutorial wordt uitgelegd hoe u een Breusch-Pagan-test uitvoert in R.
Voorbeeld: Breusch-Pagan-test in R
In dit voorbeeld passen we een regressiemodel aan met behulp van de ingebouwde R-dataset van mtcars en voeren we vervolgens een Breusch-Pagan-test uit met behulp van de bptest- functie uit de lmtest- bibliotheek om te bepalen of heteroskedasticiteit aanwezig is.
Stap 1: Pas een regressiemodel toe.
Eerst passen we een regressiemodel aan met mpg als responsvariabele en disp en hp als twee verklarende variabelen.
#load the dataset data(mtcars) #fit a regression model model <- lm(mpg~disp+hp, data=mtcars) #view model summary summary(model) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2nd-16 *** available -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.127 on 29 degrees of freedom Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09
Stap 2: Voer een Breusch-Pagan-test uit.
Vervolgens zullen we een Breusch-Pagan-test uitvoeren om te bepalen of heteroscedasticiteit aanwezig is.
#load lmtest library library(lmtest) #perform Breusch-Pagan Test bptest(model) studentized Breusch-Pagan test data: model BP = 4.0861, df = 2, p-value = 0.1296
De teststatistiek is 4,0861 en de overeenkomstige p-waarde is 0,1296 . Omdat de p-waarde niet kleiner is dan 0,05, slagen we er niet in de nulhypothese te verwerpen. We hebben niet voldoende bewijs om te beweren dat heteroscedasticiteit aanwezig is in het regressiemodel.
Wat nu te doen
Als je er niet in slaagt de nulhypothese van de Breusch-Pagan-test te verwerpen, is er geen sprake van heteroskedasticiteit en kun je doorgaan met het interpreteren van het resultaat van de oorspronkelijke regressie.
Als u echter de nulhypothese verwerpt, betekent dit dat er heteroscedasticiteit aanwezig is in de gegevens. In dit geval zijn de standaardfouten die in de regressie-uitvoertabel worden weergegeven mogelijk onbetrouwbaar.
Er zijn verschillende veelvoorkomende manieren om dit probleem op te lossen, waaronder:
1. Transformeer de responsvariabele. U kunt proberen een transformatie uit te voeren op de responsvariabele. U kunt bijvoorbeeld de logboekresponsvariabele gebruiken in plaats van de oorspronkelijke responsvariabele. Over het algemeen is het nemen van de log van de responsvariabele een effectieve manier om heteroscedasticiteit te elimineren. Een andere veel voorkomende transformatie is het gebruik van de vierkantswortel van de responsvariabele.
2. Gebruik gewogen regressie. Dit type regressie kent een gewicht toe aan elk gegevenspunt op basis van de variantie van de aangepaste waarde. In wezen geeft dit een laag gewicht aan datapunten met hogere varianties, waardoor hun resterende kwadraten kleiner worden. Wanneer de juiste gewichten worden gebruikt, kan dit het probleem van heteroskedasticiteit elimineren.