一般化線形混合モデルを用いて熱中症搬送人員数に対する日最高気温と平均水蒸気圧の回帰係数を推定する

 総務省消防庁の公開している熱中症搬送人員数は都道府県ごとに毎日データを反復抽出しているとも言える.複数の都道府県から繰り返しデータを取るのは独立した反復ではなく,疑似反復と考えられる.このような場合,都道府県単位で差が生じると考えられ,一般化線形混合モデルを用いて回帰係数を推定する必要がある.

 今回はRのglmmML()関数を用いて一般化線形混合モデルを用いた回帰係数の推定を行った.

データの読み込み

 ユーザーインターフェースでHeatStrokeDB.xlsxを読み込む.

> library(readxl)
> HeatStrokeDB <- read_excel("C:/Users/***/HeatStrokeDB.xlsx", 
+     col_types = c("numeric", "text", "numeric", 
+         "date", "numeric", "numeric", "numeric", 
+         "numeric"))

glm()関数で回帰係数を推定する

 下記コードを実行して一般化線形モデルで回帰係数の推定を行う.AICは750211である.

> y = HeatStrokeDB$Num
> x1 = HeatStrokeDB$Temp
> x2 = HeatStrokeDB$Vapor
> p = HeatStrokeDB$Pop
> r = HeatStrokeDB$PrefCode
> Z = glm(y ~ x1 + x2, family = poisson(link = "log"))
> summary(Z)
Call:
glm(formula = y ~ x1 + x2, family = poisson(link = "log"))
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-10.804   -1.965   -0.891    0.596   33.428  
Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -8.1341526  0.0158004  -514.8   <2e-16 ***
x1           0.2707915  0.0004953   546.8   <2e-16 ***
x2           0.0685135  0.0003906   175.4   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
    Null deviance: 1243632  on 70107  degrees of freedom
Residual deviance:  567265  on 70105  degrees of freedom
AIC: 750211
Number of Fisher Scoring iterations: 5

glmmML()関数で回帰係数を推定する

 下記コードを実行して一般化線形混合モデルを用いて回帰係数の推定を行う.

> library(glmmML)
> W = glmmML(y ~ x1 + x2, family = poisson(link = "log"), cluster = r)

 AICは251100と大幅に改善しており,人口をオフセット項として導入した場合や,負の二項分布モデルを用いて回帰係数を推定した場合よりも予測性能が改善している可能性がある.

> summary(W)

Call:  glmmML(formula = y ~ x1 + x2, family = poisson(link = "log"),      cluster = r) 


                coef  se(coef)      z Pr(>|z|)
(Intercept) -9.02057 0.1125175 -80.17        0
x1           0.28578 0.0005597 510.62        0
x2           0.07604 0.0004627 164.34        0

Scale parameter in mixing distribution:  0.7547 gaussian 
Std. Error:                              0.07654 

        LR p-value for H_0: sigma = 0:  0 

Residual deviance: 251100 on 70104 degrees of freedom 	AIC: 251100 

まとめ

 glmmML()関数を用いて一般化線形混合モデルを使い熱中症搬送人員数に対する日最高気温と平均水蒸気圧の回帰係数を推定した.全都道府県を対象に同じ人口集団から繰り返しサンプリングを行っており,都道府県コードから場所差が識別できることから,一般化線形混合モデルを用いるのが妥当かもしれない.

 一方,熱中症は環境温度により発症すると考えられ,特定の個人が暑熱環境にて勤務・在宅しているなどの可能性を考慮すると,同じ人物が繰り返し搬送されている可能性もあり,個体差を考慮した一般化線形混合モデルを組み立てる必要があるかもしれない.その場合,場所差と個体差を同時に考慮した統計モデルが必要となる.つまりベイズ統計モデルおよびマルコフ連鎖モンテカルロ法が必要となってくるが,この記事の範囲を超えるため割愛する.

 AICからは,負の二項分布モデルを用いた場合や人口をオフセット項として導入した場合よりも予測性能が改善する可能性がある.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください