本章では尤度比検定(likelyhood ratio test)について説明

5.1 統計学的な検定のわくぐみ

5.2 尤度比検定の例題 : 逸脱度の差を調べる

#各自データを読み込んでください
head(d)
## # A tibble: 6 x 3
##       y     x f    
##   <dbl> <dbl> <chr>
## 1     6  8.31 C    
## 2     6  9.44 C    
## 3     6  9.5  C    
## 4    12  9.07 C    
## 5    10 10.2  C    
## 6     4  8.32 C
fit.null <-glm(y ~ 1, data = d, family = poisson)
fit.x <- glm(y ~ x, data = d, family = poisson(link = "log"))
stargazer(fit.x, fit.null, type = "text", style = "all", ci = TRUE,
          star.cutoffs = NA, omit.table.layout = 'n',
          align = TRUE)
## 
## =========================================================
##                                Dependent variable:       
##                         ---------------------------------
##                                         y                
##                               (1)              (2)       
## ---------------------------------------------------------
## x                            0.076                       
##                          (0.006, 0.145)                  
##                            t = 2.125                     
##                            p = 0.034                     
## Constant                     1.292            2.058      
##                          (0.579, 2.005)   (1.988, 2.128) 
##                            t = 3.552        t = 57.586   
##                            p = 0.0004       p = 0.000    
## ---------------------------------------------------------
## Observations                  100              100       
## Log Likelihood              -235.386         -237.643    
## Akaike Inf. Crit.           474.773          477.286     
## Residual Deviance       84.993 (df = 98) 89.507 (df = 99)
## Null Deviance (df = 99)      89.507           89.507     
## =========================================================

5.3 2種類の過誤と統計学的な検定の非対称性

5.4 帰無仮説を棄却するための有意水準

5.4.1 方法(1) 汎用性のあるパラメトリックブートストラップ法

  • パラメトリックブートストラップ法
    • シュミレーションによってP値を計算
#一定モデルとxモデルの逸脱度の差
fit.null$deviance - fit.x$deviance
## [1] 4.513941
  • 一定モデルによる推定が\(\hat{\beta_1} = 2.06\)だったので平均種子数は\(\exp(2.058) = 7.83\)となる
  • 真のモデルから生成されるデータは, 平均7.83の100個のポアソン乱数
exp(2.058)
## [1] 7.830294
#標本平均は7.83, データdに追加する
d$y.rnd <- rpois(100, lambda = mean(d$y))
#一定モデルとxモデルをこの新データに当てはめてみる
fit.null.rnd <- glm(y.rnd ~ 1, data = d, family = poisson)
fit.x.rnd <- glm(y.rnd ~ x, data = d, family = poisson)
#逸脱度の差
fit.null.rnd$deviance - fit.x.rnd$deviance
## [1] 0.4153217
  • このステップを1000回ほど繰り返すと逸脱度の差\(ΔD_{1, 2}\)の分布ができる
get.dd <- function(d)
{
  #dのデータの数
  n.sample <- nrow(d)
  #yの平均
  y.mean <- mean(d$y)
  #n.sampleだけ乱数発生
  d$y.rnd <- rpois(n.sample, lambda = y.mean)
  fit.null.rnd <- glm(y.rnd ~ 1, data = d, family = poisson)
  fit.x.rnd <- glm(y.rnd ~ x, data = d, family = poisson)
  #逸脱度の差
  fit.null.rnd$deviance - fit.x.rnd$deviance
}
pb <- function(d, n.bootstrap)
{
  #get.ddをn.bootstrap回実施(回数を指定)
  replicate(n.bootstrap, get.dd(d))
}
#1000回シミュレーション
dd12 <- pb(d, n.bootstrap = 1000)
summary(dd12)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.1109  0.4806  1.0611  1.3920 15.6523
#ヒストグラムにする
dd <- as.data.frame(dd12)
ggplot(data = dd) + 
  aes(x = dd12) + 
  geom_histogram(alpha = 0.5, bins = 100, color = "blue", fill = "blue") +
  geom_vline(aes(xintercept = 4.5), color = "#990000", linetype = "dashed")

#p値(4.5以上となる数÷1000)
sum(dd12 >= 4.5)/1000
## [1] 0.04
#95パーセンタイル値
quantile(dd$dd12, 0.95)
##     95% 
## 3.84572
  • この値以下はよくある差(つまりこれ以上だとレア)

  • 尤度比検定の結論としては\(p\leqq0.05\)となるので, 帰無仮説は棄却される

    • よって今回はxモデルを採択

5.4.2 方法(2) \(X^2\)分布を使った近似計算法

  • \(ΔD_{1, 2}\)は近似的に自由度1の\(X^2\)分布に従う
    • ただしサンプルサイズが十分に大きいことが前提
anova(fit.null, fit.x, test = "Chisq")
## Analysis of Deviance Table
## 
## Model 1: y ~ 1
## Model 2: y ~ x
##   Resid. Df Resid. Dev Df Deviance Pr(>Chi)  
## 1        99     89.507                       
## 2        98     84.993  1   4.5139  0.03362 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#ちなみに自由度1のカイ二乗確率点
qchisq(0.95, 1)
## [1] 3.841459
#自由度1のカイ2乗分布
curve( dchisq( x, df = 1 ), xlim = c( 0, 10 ), lwd = 3 )

5.5 「帰無仮説を棄却できない」は「差がない」ではない

5.6 検定とモデル選択, そして推定された統計モデルの解釈

5.7 この章のまとめと参考文献