【R】gvlma

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. さいごに

モデルはできても、それが正しいかどうかは十分に検証する必要がありますね。

Add a Comment

メールアドレスが公開されることはありません。