最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

R語言分布滯后線性和非線性模型(DLM和DLNM)建模|附代碼數(shù)據(jù)

2022-11-04 23:26 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=18700

本文說明了R語言中實(shí)現(xiàn)分布滯后線性和非線性模型(DLM和DLNM)的建模。首先,本文描述了除時(shí)間序列數(shù)據(jù)之外的DLM / DLNM的一般化方法,在Gasparrini [2014]中有更詳細(xì)的描述。

前言

本文中包含的結(jié)果并不代表科學(xué)發(fā)現(xiàn),而僅出于說明目的進(jìn)行報(bào)告。

數(shù)據(jù)

主要通過兩個(gè)示例來說明軟件的應(yīng)用,使用藥物數(shù)據(jù)作為數(shù)據(jù)對(duì)象。數(shù)據(jù)集分別包含一項(xiàng)關(guān)于藥物的假設(shè)試驗(yàn)和嵌套病例對(duì)照研究的模擬數(shù)據(jù),兩者均包括隨時(shí)間變化的暴露量度。

讓我們看一下數(shù)據(jù)框的前2個(gè)觀察樣本:

>?head(data,?2) id?out?sex?day1?day8.?day15.?day22. 1?1?46?M?0?0?40?37 2?2?50?F?0?47?55?0

數(shù)據(jù)集包含來自一項(xiàng)試驗(yàn)的數(shù)據(jù),記錄了200名隨機(jī)受試者,每名受試者隨機(jī)接受四周中兩周的藥物劑量,每天的劑量每周變化。每周7天間隔報(bào)告一次暴露水平。數(shù)據(jù)集還包含有關(guān)在第28天測(cè)量的結(jié)果和受試者性別的信息。嵌套的第二個(gè)數(shù)據(jù)包括針對(duì)300個(gè)癌癥病例和300個(gè)按年齡匹配的對(duì)照的每個(gè)記錄。前2個(gè)觀察結(jié)果是:

>?head(nested) id?case?age?riskset?exp15?exp20?exp25?exp30?exp35?exp40?exp45?exp50?exp55 1?1?1?81?240?5?84?34?45?128?81?14?52?11 2?2?1?69?129?11?8?25?6?8?12?19?60?16 exp60 1?16 2?10

變量病例定義病例/對(duì)照狀態(tài),而其他變量報(bào)告受試者的年齡和他/她所屬的風(fēng)險(xiǎn)。隨時(shí)間變化的職業(yè)暴露檔案存儲(chǔ)在變量exp15–exp60中,對(duì)應(yīng)于15至19歲,20至24歲等最高65歲的平均年暴露量。

暴露歷史矩陣

擴(kuò)展的DLNM框架與標(biāo)準(zhǔn)DLNM框架之間的主要區(qū)別是暴露歷史矩陣的定義,即對(duì)n個(gè)觀測(cè)值的滯后`經(jīng)歷的一系列暴露。根據(jù)研究設(shè)計(jì)和隨時(shí)間變化的暴露信息,需要以不同的方式將這個(gè)n×(L ?'0 + 1)矩陣組合在一起。

在第一個(gè)示例中,我為數(shù)據(jù)框藥物中的試驗(yàn)數(shù)據(jù)建立了暴露歷史記錄矩陣。

每個(gè)受試者的接觸曲線用于重建接觸歷史矩陣。在這種情況下,滯后0的暴露量對(duì)應(yīng)于對(duì)所有受試者測(cè)量結(jié)局的第28天的暴露量。其余的暴露歷史記錄可追溯到滯后27,對(duì)應(yīng)于第一天的暴露。代碼,用于將按周存儲(chǔ)的暴露資料擴(kuò)展為每日暴露歷史記錄的矩陣:每個(gè)受試者的接觸曲線用于重建接觸歷史矩陣。

>?drug\[1:3,1:14\] lag0?lag1?lag2?lag3?lag4?lag5?lag6?lag7?lag8?lag9?lag10?lag11?lag12?lag13 1?37?37?37?37?37?37?37?40?40?40?40?40?40?40 2?0?0?0?0?0?0?0?55?55?55?55?55?55?55

上面針對(duì)前三個(gè)主題報(bào)告了滯后0-13的接觸歷史。前七個(gè)滯后(0–6)對(duì)應(yīng)于上周的暴露,而滯后7–13對(duì)應(yīng)于第三周,依此類推。在第二個(gè)示例中,我使用以5年為間隔的暴露量分布圖來嵌套數(shù)據(jù)框的暴露量歷史矩陣。這些數(shù)據(jù)被擴(kuò)展為滯后3–40的暴露歷史矩陣,滯后單位等于一年。但是,在這種情況下,由于每個(gè)對(duì)象在不同的年齡進(jìn)行采樣,因此計(jì)算更加復(fù)雜。具體地,從受檢者的年齡開始沿著暴露曲線向后計(jì)算暴露歷史。此步驟需要一些額外的計(jì)算和數(shù)據(jù)處理??梢缘贸鼋o定時(shí)間的暴露曲線的暴露歷史,

>?nest?<-?t(apply(nested,?1,?function(sub)?exphi(repc(0,0,0,sub5:14\]), >?nest\[1:3,1:11\] lag3?lag4?lag5?lag6?lag7?lag8?lag9?lag10?lag11?lag12?lag13 1?0?0?0?0?0?0?0?0?0?0?0 2?0?10?10?10?10?10?16?16?16?16?16

上面針對(duì)前三個(gè)主題報(bào)告了滯后0–10的暴露歷史。假設(shè)第一個(gè)對(duì)象在81歲時(shí)進(jìn)行采樣,則經(jīng)歷了在滯后0處介于80和81之間,在滯后1處介于79和80之間的暴露,依此類推。由于他/她的上一次暴露年齡為65歲,因此將滯后10的暴露歷史記錄設(shè)置為0。在69歲時(shí)進(jìn)行采樣的第二個(gè)對(duì)象的滯后3的暴露歷史記錄設(shè)置為0,對(duì)應(yīng)于暴露事件在66。

這些接觸歷史與之前顯示的接觸概況和年齡一致。在這種情況下,使用相同的暴露狀況,在每個(gè)受試者貢獻(xiàn)不同風(fēng)險(xiǎn)集時(shí)計(jì)算每個(gè)受試者的多次暴露歷史。通常,此矩陣的計(jì)算取決于研究設(shè)計(jì),暴露信息,滯后單位和所需的近似水平。

時(shí)間序列以外的應(yīng)用

一個(gè)簡(jiǎn)單的DLM

在第一個(gè)示例中,我將dlnm應(yīng)用于數(shù)據(jù)集藥物,分析了藥物日劑量與未指定健康結(jié)果之間的時(shí)間依賴性。第一步是函數(shù)的定義:

crossbasis(drug,?lag=27,?argvar=list("lin")

結(jié)果存儲(chǔ)在對(duì)象cbdrug中,即具有特殊屬性的已轉(zhuǎn)換變量的矩陣。參數(shù)argvar和arglag分別定義了暴露反應(yīng)和滯后反應(yīng)函數(shù),此處選擇它們?yōu)楹?jiǎn)單線性函數(shù)和三次樣條。通過函數(shù)summary獲得摘要:

CROSSBASIS?FUNCTIONS observations:?200 range:?0?to?100 lag?period:?0?27 total?df:?4 BASIS?FOR?VAR: fun:?ns knots:?9?18

cbdrug可以包含在回歸模型的公式中,在這種情況下,該模型是假設(shè)高斯分布,控制性別影響的簡(jiǎn)單線性模型。通過函數(shù)crosspred()預(yù)測(cè)來解釋估計(jì)的滯后關(guān)聯(lián):

?crosspred(cbdrug,?mdrug,?at=0:20*5)

效果摘要保存在“ crosspred”類的對(duì)象pdrug中

allfit?alllow?allhigh 30.29?20.12?40.46

上面的代碼提取了與50次暴露相關(guān)的總體累積效應(yīng)的估算值,可以進(jìn)行解釋:在28天滯后時(shí)間內(nèi)持續(xù)不斷地暴露于50次之后的總體結(jié)果增加。還包括95%的置信區(qū)間。

可以生成圖:

>?plot(drug,?zlab="Effect",?xlab="Dose,?ylab="Lag?(days")

正在上傳…重新上傳取消

代碼的第一行產(chǎn)生圖1中的圖形,顯示效果在劑量和滯后值的范圍內(nèi)如何變化。該圖表明,在攝入后的頭幾天,該劑量的藥物作用明顯,然后在15-20天后趨于消失。從橫截面來看,圖分別顯示了暴露60的滯后反應(yīng)曲線和滯后10的暴露-反應(yīng)曲線。圖中的滯后反應(yīng)曲線表明了效應(yīng)的指數(shù)衰減。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言里的非線性模型:多項(xiàng)式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析

左右滑動(dòng)查看更多

01

02

03

04

更為復(fù)雜的DLNM?

在第二個(gè)示例中,我使用嵌套的數(shù)據(jù)集來評(píng)估長(zhǎng)期暴露于職業(yè)病中如何影響癌癥發(fā)生的風(fēng)險(xiǎn)。分析步驟與說明的步驟相同。最初的假設(shè)是,過去三年中持續(xù)的暴露(對(duì)應(yīng)于滯后0–2)不會(huì)影響發(fā)生癌癥的風(fēng)險(xiǎn)。

選擇的基函數(shù)是用于預(yù)測(cè)變量的二次樣條和三次樣條。通過clogit()執(zhí)行條件邏輯回歸。然后預(yù)測(cè)效果摘要。代碼是:

>?library(survival) clogit(case~cbnest+strata(riskset,?nested)

圖1中顯示的相同類型的圖可通過以下方式獲得:

>?plot(est,?zlab="OR",?xlab="Exposure,?ylab=Lag?(years")

圖中的3-D圖再次被解釋為職業(yè)暴露與癌癥風(fēng)險(xiǎn)之間的關(guān)聯(lián)。在此示例中,滯后時(shí)間段以年為單位表示。該圖表明風(fēng)險(xiǎn)的初始增加(以比值比(OR)衡量),然后降低。從橫截面來看,圖中估計(jì)的滯后反應(yīng)曲線顯示了暴露后10至15年的風(fēng)險(xiǎn)峰值,盡管置信區(qū)間非常寬泛,但風(fēng)險(xiǎn)在暴露后30年回到基礎(chǔ)水平。

擴(kuò)展預(yù)測(cè)

之前獲得的預(yù)測(cè)結(jié)果是在直接指定的曝露和滯后值的網(wǎng)格上計(jì)算的。

我們也可以計(jì)算新的效果摘要,在給定暴露曲線的情況下生成暴露歷史矩陣。例如,我們可以使用嵌套病例對(duì)照分析來計(jì)算,假設(shè)受試者暴露于暴露10年達(dá)5年,然后未暴露于5年,再暴露于13年達(dá)10年的總體累計(jì)OR。從此暴露量配置中,我們可以計(jì)算出暴露時(shí)間結(jié)束時(shí)的暴露歷史,并預(yù)測(cè)。

>?hist lag3?lag4?lag5?lag6?lag7?lag8?lag9?lag10?lag11?lag12?lag13?lag14?lag15?lag16 20?13?13?13?13?13?13?13?0?0?0?0?0?10?10

產(chǎn)生時(shí)間3到40的滯后時(shí)間的暴露歷史。通過自變量時(shí)間設(shè)置特定時(shí)間,在這種情況下,該時(shí)間對(duì)應(yīng)于暴露時(shí)間的結(jié)束時(shí)間(以指數(shù)表示)。包括最近的21次暴露至0,以完成長(zhǎng)達(dá)40年的暴露歷史?,F(xiàn)在,我們可以使用hist作為crosspred()的參數(shù)來預(yù)測(cè)總體累積效果。注意,滯后周期必須與估計(jì)中使用的一致。

>?with(pnestt,?allRfit,aRRlow,allRRigh) 20?20?20 3.5031.2409.900

與在整個(gè)滯后期間沒有暴露的受試者相比,估計(jì)的OR為3.5(95%CI:1.2–9.9)??梢允褂孟嗤姆椒▉慝@取特定暴露量分布隨時(shí)間的動(dòng)態(tài)預(yù)測(cè)。這個(gè)思想是基于假定的暴露-滯后-反應(yīng)關(guān)聯(lián),在給定隨時(shí)間變化的暴露歷史的情況下,及時(shí)地動(dòng)態(tài)預(yù)測(cè)風(fēng)險(xiǎn)。實(shí)際上,對(duì)于每個(gè)給定的時(shí)間,隨著特定的暴露事件涉及不同的滯后時(shí)間,暴露歷史會(huì)發(fā)生變化。舉例來說,我展示了如何使用試驗(yàn)數(shù)據(jù)分析來估算特定藥物處方后的動(dòng)態(tài)預(yù)測(cè)效果。

假設(shè)某位患者接受10劑量的治療,持續(xù)2周,然后他/她增加至50,持續(xù)1周,然后停藥1周,然后以20的劑量重新開始治療2周。首先,我創(chuàng)建每日暴露資料:

>?expdrug?<-?rep(c(10,50,0,20),c(2,1,1,2)*7)

現(xiàn)在可以沿暴露曲線順序來創(chuàng)建所有時(shí)間點(diǎn)的暴露歷史矩陣:

>?nhist?<-?exphi(expdr,?lag=27)

現(xiàn)在可以在crosspred()中使用此矩陣來獲取動(dòng)態(tài)預(yù)測(cè)。

現(xiàn)在可以使用該對(duì)象繪制動(dòng)態(tài)預(yù)測(cè):

>?plot(drug,"overall",?ylab="Effect?xlab="Time?(days",?ylim=c(-10,27) >?axis(2,?at=-1:5*5) >?par(new=TRUE) >?axis(4,?at=0:6*10,?cex.axis=0.8)

在圖中繪制了整體累積關(guān)聯(lián)。此圖顯示了與上面詳細(xì)介紹的藥物處方相關(guān)的基線結(jié)果的變化。正如預(yù)期的那樣,效果會(huì)隨劑量動(dòng)態(tài)變化,但會(huì)出現(xiàn)滯后。

應(yīng)用改進(jìn)函數(shù)

對(duì)于第一個(gè)示例,我們可以修改先前分析。圖2建議在高暴露量下可能會(huì)減弱效果。這個(gè)事實(shí)和暴露分布的偏斜度可以通過對(duì)數(shù)變換來解決。首先,讓我們定義一個(gè)新的函數(shù):

log?<-?function(x)?log(x+1)

現(xiàn)在可以建模暴露-反應(yīng)曲線:

nest2?<-?crossbasis(est,?lag=c(3,40),?argvar=list("log"), CROSSBASIS?FUNCTIONS observations:?600 range:?0?to?1064 lag?period:?3?40 total?df:?3 BASIS?FOR?VAR: fun:?mylog BASIS?FOR?LAG: fun:?ns knots:?10?30 intercept:?FALSE Boundary.knots:?3?40

替換新創(chuàng)建的對(duì)象:

可以將圖中顯示的結(jié)果與最初顯示的結(jié)果進(jìn)行比較。該比較表明對(duì)數(shù)的假設(shè)使精度大大提高。

對(duì)圖的檢查表明,滯后反應(yīng)曲線遵循指數(shù)衰減軌跡。應(yīng)用衰減函數(shù)而不是三次樣條曲線可能是合理的。衰減函數(shù)可以定義為:

decay?<-?function(x,scale=5)? basis?<-?exp(-x/scale) attributes(basis)$scale?<-?scale

參數(shù)(默認(rèn)值為5)用于控制衰減程度。同樣,我們可以使用此新函數(shù)來獲得變換:

>?cbdrug2?<-?crossbasis(Qdrug,?lag=27, arglag=list(fun="fdecay") CROSSBASIS?FUNCTIONS observations:?200 range:?0?to?100 lag?period:?0?27 total?df:?1 BASIS?FOR?VAR: fun:?lin intercept:?FALSE BASIS?FOR?LAG: fun:?fdecay scale:?6

同樣,可以重復(fù)使用計(jì)算步驟以執(zhí)行修改后的分析:

>?lines(drug,?var=60,?lty=2) >?lines(drug,?lag=10,?lty=2)

結(jié)果報(bào)告在圖中。與之前的結(jié)果進(jìn)行比較(以虛線表示)顯示了精度的顯著提高。

回歸分析的通用工具

軟件包dlnm中的功能也可以用作回歸分析的通用工具。第一個(gè)示例演示了如何使用帶有回歸函數(shù)lm()的回歸樣條來評(píng)估30-39歲的女性樣本中平均身高和體重之間的關(guān)系。

>?library(splines) >?oneheight?<-?onebasis(women$height,?"ns"?df=5) >?mwomen?<-?lm(weight?~?oneheight?data=women)

使用一個(gè)簡(jiǎn)單的代碼來獲取預(yù)測(cè)和繪圖:

>?with(pwomen,?cbind(fit,?low,?high)\["70",) allfit?alllow?allhigh 18.92287?18.46545?19.38030

可以簡(jiǎn)單地查看帶有置信區(qū)間的估計(jì)關(guān)聯(lián),繪制關(guān)聯(lián)。

第二個(gè)示例使用懲罰樣條對(duì)平滑關(guān)聯(lián)進(jìn)行分析。

>?library(mgcv) >?b2?<-?gam(y?~?s(x0,bs="cr")?+?s(x1,bs="cr")?+?s(x2,bs="cr")?+?s(x3,bs="cr"), family=poisson,?data=datmethod="REML") >?plot(b2,?select=3)

該代碼使用通過函數(shù)s()的回歸樣條,對(duì)帶有多個(gè)變量的模擬數(shù)據(jù)執(zhí)行GAM估計(jì)平滑關(guān)系。也可以使用dlnm獲得預(yù)測(cè)和繪圖,其中:

allRRfit?allRRlow?allRRhigh 1.3405415?0.8309798?2.1625694 >?plot(gam,?ylim=c(0,3)col=2)

參考文獻(xiàn)?

A. Gasparrini. Modeling exposure-lag-response associations with distributed lag non-linear models. Statistics in Medicine, 33(5):881–899, 2014.

本文摘選R語言分布滯后線性和非線性模型(DLM和DLNM)建模,點(diǎn)擊“閱讀原文”獲取全文完整資料。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

分布滯后線性和非線性模型(DLNM)分析空氣污染(臭氧)、溫度對(duì)死亡率時(shí)間序列數(shù)據(jù)的影響

R語言中的分布滯后非線性模型DLNM與發(fā)病率和空氣污染示例

【視頻】R語言中的分布滯后非線性模型(DLNM)與發(fā)病率,死亡率和空氣污染示例

R語言分布滯后線性和非線性模型(DLNM)分析空氣污染(臭氧)、溫度對(duì)死亡率時(shí)間序列數(shù)據(jù)的影響

R語言分布滯后線性和非線性模型(DLMs和DLNMs)分析時(shí)間序列數(shù)據(jù)

R語言分布滯后非線性模型(DLNM)空氣污染研究溫度對(duì)死亡率影響建模應(yīng)用

R語言分布滯后非線性模型(DLNM)研究發(fā)病率,死亡率和空氣污染示例

R語言分布滯后線性和非線性模型(DLM和DLNM)建模

R語言廣義相加模型 (GAMs)分析預(yù)測(cè)CO2時(shí)間序列數(shù)據(jù)

Python | ARIMA時(shí)間序列模型預(yù)測(cè)航空公司的乘客數(shù)量

R語言中生存分析模型的時(shí)間依賴性ROC曲線可視化

R語言ARIMA,SARIMA預(yù)測(cè)道路交通流量時(shí)間序列分析:季節(jié)性、周期性

ARIMA模型預(yù)測(cè)CO2濃度時(shí)間序列-python實(shí)現(xiàn)

R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時(shí)間序列預(yù)測(cè)

R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動(dòng)率SV模型對(duì)金融時(shí)間序列數(shù)據(jù)建模

R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)車輛數(shù)量時(shí)間序列

卡爾曼濾波器:用R語言中的KFAS建模時(shí)間序列

在Python中使用LSTM和PyTorch進(jìn)行時(shí)間序列預(yù)測(cè)

R語言從經(jīng)濟(jì)時(shí)間序列中用HP濾波器,小波濾波和經(jīng)驗(yàn)?zāi)B(tài)分解等提取周期性成分分析

使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列預(yù)測(cè)

Python中的ARIMA模型、SARIMA模型和SARIMAX模型對(duì)時(shí)間序列預(yù)測(cè)

R語言k-Shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類

R語言多元Copula GARCH 模型時(shí)間序列預(yù)測(cè)


R語言分布滯后線性和非線性模型(DLM和DLNM)建模|附代碼數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
崇义县| 黄平县| 南投县| 嘉荫县| 龙海市| 乌拉特前旗| 密云县| 双流县| 星子县| 崇州市| 曲沃县| 安顺市| 金沙县| 楚雄市| 尼木县| 红河县| 绥阳县| 自治县| 阿克| 边坝县| 峨眉山市| 云安县| 常山县| 临清市| 义乌市| 武宁县| 宜川县| 湘潭市| 柳河县| 洛南县| 西昌市| 肥西县| 大悟县| 太原市| 武穴市| 中山市| 屏边| 广德县| 卓尼县| 中山市| 锡林浩特市|