総務省消防庁の公開している熱中症搬送人員数は都道府県ごとに毎日データを反復抽出しているとも言える.複数の都道府県から繰り返しデータを取るのは独立した反復ではなく,疑似反復と考えられる.このような場合,都道府県単位で差が生じると考えられ,一般化線形混合モデルを用いて回帰係数を推定する必要がある.
今回は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からは,負の二項分布モデルを用いた場合や人口をオフセット項として導入した場合よりも予測性能が改善する可能性がある.