【R】gvlma
2020年11月16日
1. はじめに
線形回帰は、多くの仮定のもとに成り立っています。もし、この過程がおかしいと当然回帰もおかしいことになります。この仮定をチェックしてくれるパッケージがgvlma
です。これは、”Global Validation of Linear Models Assumptions”の略だそうです。
2. インストール
CRANからインストールできます。
install.packages("gvlma")
3. 使ってみる。
library(gvlma) data(mtcars) summary(car_model <- lm(mpg ~ disp, data = mtcars))
> summary(car_model <- lm(mpg ~ disp, data = mtcars))
Call:
lm(formula = mpg ~ disp, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-4.8922 -2.2022 -0.9631 1.6272 7.2305
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 29.599855 1.229720 24.070 < 2e-16 ***
disp -0.041215 0.004712 -8.747 9.38e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.251 on 30 degrees of freedom
Multiple R-squared: 0.7183, Adjusted R-squared: 0.709
F-statistic: 76.51 on 1 and 30 DF, p-value: 9.38e-10
モデルの仮定をチェックします。
gvlma_object <- gvlma(car_model) gvlma_object
> gvlma_object
Call:
lm(formula = mpg ~ disp, data = mtcars)
Coefficients:
(Intercept) disp
29.59985 -0.04122
ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
Level of Significance = 0.05
Call:
gvlma(x = car_model)
Value p-value Decision
Global Stat 12.303 0.015234 Assumptions NOT satisfied!
Skewness 2.757 0.096802 Assumptions acceptable.
Kurtosis 0.292 0.588929 Assumptions acceptable.
Link Function 8.452 0.003647 Assumptions NOT satisfied!
Heteroscedasticity 0.802 0.370505 Assumptions acceptable.
- Global Stat:包括的な検証
- Skewness と kurtosis:残差の分布(歪度と尖度)が正規分布かどうか
- Link function:目的変数の分布
- Heteroskedasticity:残差の分布がランダムかどうか
また、これらの結果は、グラフにしてみるとよりよくわかります。
plot.gvlma(gvlma_object)
4. さいごに
モデルはできても、それが正しいかどうかは十分に検証する必要がありますね。