時系列データの分散ラグ線形および非線形モデルにおける R 言語 dlnm パッケージの適用 (1)

温度が健康に及ぼす影響には遅滞性があることが十分に確立されています。この号では、dlnm パッケージを使用して、時系列データの分布遅れ線形モデルおよび非線形モデルにおける dlnm パッケージのアプリケーションを紹介します。Dlnm パッケージは、クロスベース マトリックスを構築することによって分析を実行します。
ここに画像の説明を挿入
1987年から2000年までアメリカ・シカゴの大気汚染と死亡者数のデータを使い続けています(公式アカウント返信:シカゴ3、データは取得可能です)。分析例として、まず見るために必要なRパッケージとデータをインポートしてみましょう

library(dlnm)
library(splines)
library(tsModel)
bc<-read.csv("E:/r/test/chicago3.csv",sep=',',header=TRUE)

ここに画像の説明を挿入
まずデータの構成を見てみましょう、death: 死亡者数(1日あたり)、pm10: 大気汚染物質pm10の中央値、o3median: オゾンの中央値、time: 日数、これが私たちの時間です、tmpd : 華氏温度、日付: 日付
pm10 濃度の変化が死亡に及ぼす影響を研究する必要があり、調整係数として温度を使用したいとします。そのため、2 つのクロスベースの行列を設計する必要があります。Crossbasis 関数について説明します。最初のパラメータ x は、ベクトル シーケンスを指定するために使用されます。ここに bc$pm10 を入力し、ラグは遅延日数を示します。15 日を入力します。2 つの関数 argvar と arglag は、データを onebasis 関数に渡して、予測行列を生成します。ここでは、fun="lin" に続いて多項式関数 fun="poly" を使用し、結果に対する pm10 の影響が線形であると仮定します。自由度は 4 に設定されます。fun を選択しない場合、関数はデフォルトで fun="ns" になります。次の温度は次のようになります。21 度を選択するなど、温度参照値を選択することもできます。argvar = list(fun = "ns", df =3、cen =21)。「strata」は層化を意味します。3 日のラグを設定しているため、breaks=1 は、温度を 2 つのラグ層 (0-1 および 1-3) と 2 つのラグ層に分割することを意味します。

cb1.pm <- crossbasis(bc$pm10, lag=15, argvar=list(fun="lin"),
                     arglag=list(fun="poly",degree=4))
cb1.temp <- crossbasis(bc$temp, lag=3, argvar=list(df=5),
                       arglag=list(fun="strata",breaks=1))
我们summmary cb1.pm一下看看

ここに画像の説明を挿入
2 つのクロス基底行列を生成した後、予測モデルを生成できます。

model1 <- glm(death ~ cb1.pm + cb1.temp + ns(time, 7*14) + dow,
                family=quasipoisson(), chicagoNMMAPS)

cb1.pm の予測データを生成する

pred1.pm <- crosspred(cb1.pm, model1, at=0:20, bylag=0.2, cumul=TRUE)

at=0:20 は、0 ~ 20 µgr/m 3 の各整数値に対して予測を計算する必要があることを意味します。bylag=0.2 を設定すると、予測はラグ スペースに沿って 0.2 ずつ計算されます。増分は 0.2 です。このより細かいメッシュは、結果をプロットするときに、より滑らかな遅延曲線を生成するためのものです。パラメーター cen が設定されていない場合、デフォルトの基準値は 0 です。
予測データを生成したら、描画できます。まず、pm10 ラグと死亡の関係のグラフを描画します。「slices」は描画の種類を示し、var は描画の種類を示します=10 の関係を示します 未設定の場合 基準値は 0 を基準とします。var 設定は「スライス」タイプである必要があります。ci.arg は信頼区間を描画するために使用されます。

plot(pred1.pm, "slices", var=10, col=3, ylab="RR", ci.arg=list(density=15,lwd=2),
     main="Association with a 10-unit increase in PM10")

ここに画像の説明を挿入
この図は、PM10 の 10 μgr/m 増加と死亡率との時間差の関係を示しています。ヒステリシス曲線は、10 マイクログラム増加後の将来の毎日のリスクの増加を表します。ヒステリシス曲線は、特定の日に PM10 が 10 µgr/m 3 増加した後、将来の各日のリスクが増加すること、または過去の各日の PM10 増加が特定の日のリスクに寄与することを示しています。
次にpm10の累積増加のリスクマップを描きます。

plot(pred1.pm, "slices", var=10, col=2, cumul=TRUE, ylab="Cumulative RR",
     main="Cumulative association with a 10-unit increase in PM10")

ここに画像の説明を挿入
この図は、PM10 の初期のリスク増加が、より長い遅延とともに逆転することを示しています。関連するデータは、allRRfit、allRRhigh、allRRlow を使用して抽出できます。

Supongo que te gusta

Origin blog.csdn.net/dege857/article/details/129694041
Recomendado
Clasificación