How to check regression analysis heteroscedasticity in R, To check for heteroscedasticity in a regression analysis, utilize the Breusch-Pagan test.
How to check regression analysis heteroscedasticity in R
Using the built-in R dataset mtcars, we will train a regression model in this example. To check for heteroscedasticity, we will next use the bptest function from the lmtest library.
Fit a regression model first.
Using mpg as the response variable and disp and hp as the two explanatory variables, we will first design a regression model.
Now we can load the dataset
Let’s fit a regression model first
regmodel <- lm(mpg~disp+hp, data=mtcars)
Yes, now we can view the model summary
Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2e-16 *** disp -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Standard deviation after correction: 3.127 on 29 degrees of freedom F-statistic: 43.09 on 2 and 29 DF; Multiple R-squared: 0.7482; Adjusted R-squared: 0.7309; p-value: 2.062e-09
Conduct a Breusch-Pagan Test in step two.
The Breusch-Pagan Test will then be used to check for heteroscedasticity.
Let’s load the lmtest library
Now perform Breusch-Pagan Test
studentized Breusch-Pagan test data: model BP = 4.0861, df = 2, p-value = 0.1296
The p-value that corresponds to the test statistic of 4.0861 is 0.1296. We are unable to reject the null hypothesis since the p-value is greater than or equal to 0.05.
To conclude that the regression model contains heteroscedasticity, we lack adequate data.
How to Proceed
If the Breusch-Pagan test fails to detect heteroscedasticity, the results of the initial regression can be interpreted without further consideration.
However, rejecting the null hypothesis indicates that there is heteroscedasticity in the data. In this situation, it’s possible that the standard errors displayed in the regression’s output table aren’t accurate.
You can resolve this problem in a few typical methods, including:
Start by changing the response variable. A transformation of the response variable might be attempted. You may, for instance, substitute the response variable’s log for the original response variable.
Heteroscedasticity can usually be eliminated by using the log of the response variable. Utilizing the response variable’s square root is another typical change.
Use weighted regression, please. Each data point receives a weight in this form of regression based on the variance of its fitted value.
In essence, this reduces the squared residuals of data points with higher variances by giving them tiny weights. Heteroscedasticity can be resolved when the appropriate weights are employed.