今天給大家寫寫生存分析:
Survival analysis corresponds to a set of statistical approaches used to investigate the time it takes for an event of interest to occur.
生存分析研究的我們感興趣的事件發(fā)生的時間的分布情況。這里面的“生存”不一定指存活,因為生存分析在醫(yī)學(xué)隨訪數(shù)據(jù)中用的很多,而這類數(shù)據(jù)的隨訪終點往往就是病人死亡,所以才叫做生存。生存分析研究的時間分布也不一定是真的時間,比如我想研究汽車使用時間與汽車發(fā)生故障之間的關(guān)系,因為汽車很多時候是閑置的,所以這種情況下,時間應(yīng)該為汽車行駛的里程數(shù)。
基本概念
事件:
事件是指研究者所關(guān)心的事件發(fā)生了,事件發(fā)生的時間點,也就是生存時間的記錄終點。
生存時間:
生存時間是指從某一起點開始到所關(guān)心事件發(fā)生的時間。因為生存時間是生存分析的分析對象,所以對生存時間的長度確定至關(guān)重要。
刪失:
刪失是指事件發(fā)生未被觀測到或無法被觀測到以至于生存時間無法被準(zhǔn)確記錄下來的情況。
生存函數(shù)和風(fēng)險函數(shù)
生存分析刻畫的是生存時間的分布情況,這里的分布指的是概率分布,如何形象刻畫生存時間的分布情況呢?
一個就是生存函數(shù)S(t):
S(t), is the probability that an individual survives from the time origin (e.g. diagnosis of cancer) to a specified future time t.
生存函數(shù)就是這個病人活下來的概率和時間的關(guān)系。
另一個就是風(fēng)險函數(shù)h(t):
h(t), is the probability that an individual who is under observation at a time t has an event at that time.
風(fēng)險函數(shù)就是這個病人死亡的概率和時間的關(guān)系,就是我們在t時刻剛好發(fā)生目標(biāo)事件的概率。
Kaplan-Meier計算生存函數(shù)
Kaplan-Meier 法 是由Kaplan和Meier于1958年提出,直接用概率乘法定理估計生存率,故稱乘積極限法(product-limit method),是一種非參數(shù)法。根據(jù)時刻t及其之前各個時間點上的條件生存率的乘積,來估計時刻t的生存函數(shù)S(t)和它的標(biāo)準(zhǔn)誤SE(S(t))。這種方法的數(shù)學(xué)表達如下:
[圖片上傳失敗...(image-5d6d90-1612276299606)]
一句話總結(jié)下就是:此時刻的生存概率等于上已時刻的生存概率乘以此時的存活率。
Kaplan-Meier的R操作
我們依然用R的自帶數(shù)據(jù)集進行演示:
library("survival")
library("survminer")
data("lung")
fit <- survfit(Surv(time, status) ~ sex, data = lung)
print(fit)
這個自帶數(shù)據(jù)集有肺癌患者的生存時間,我們在本例中關(guān)注三個變量,一個是time,是患者的生存天數(shù),一個是結(jié)局status,1=censored, 2=dead,另一個是分組變量sex性別:
我們的研究問題是:不同性別的肺癌患者的生存時間有無差異?
那么我們可以首先做一個Kaplan-Meier的生存分析:
fit <- survfit(Surv(time, status) ~ sex, data = lung)
print(fit)
[圖片上傳失敗...(image-f3ff0c-1612276299606)]
結(jié)果中有展示不同性別的中位生存期及其置信區(qū)間。
那么,我們最想要的還是兩組生存曲線的可視化:
ggsurvplot(fit,pval = TRUE, conf.int = TRUE,surv.median.line = "hv")
從圖中看:p<0.05,說明兩組的中位生存期是有差異的。
在上面的曲線中,y軸是生存概率,我們還可以將y軸轉(zhuǎn)化為事件比例,本例中為死亡比例:
ggsurvplot(fit,conf.int = TRUE,fun = "event",pval = TRUE)
也可以看到兩組隨時間變化的死亡比例是有顯著差異的,接下來寫寫不同生存曲線比較的檢驗:
生存曲線的比較
上面的例子中,我們分男女做了兩個生存曲線,這兩個生存曲線有沒有統(tǒng)計學(xué)差異呢?
這時候就要用到log-rank test了:
surv_diff <- survdiff(Surv(time, status) ~ sex, data = lung)
surv_diff
通過比較,我們發(fā)現(xiàn)兩個生存曲線確實存在顯著差異,此時我們就可以說性別為2的病人確實比性別為1的病人活得久點。
小結(jié)
今天給大家寫了簡單的生存分析,今天的例子中并沒有納入?yún)f(xié)變量,之后給大家寫比例風(fēng)險模型。
感謝大家耐心看完,自己的文章都寫的很細,代碼都在原文中,希望大家都可以自己做一做,請關(guān)注后私信回復(fù)“數(shù)據(jù)鏈接”獲取所有數(shù)據(jù)和本人收集的學(xué)習(xí)資料。如果對您有用請先收藏,再點贊轉(zhuǎn)發(fā)。
也歡迎大家的意見和建議。
如果你是一個大學(xué)本科生或研究生,如果你正在因為你的統(tǒng)計作業(yè)、數(shù)據(jù)分析、論文、報告、考試等發(fā)愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問題,都可以聯(lián)系我。因為我可以給您提供最好的,最詳細和耐心的數(shù)據(jù)分析服務(wù)。
如果你對Z檢驗,t檢驗,方差分析,多元方差分析,回歸,卡方檢驗,相關(guān),多水平模型,結(jié)構(gòu)方程模型,中介調(diào)節(jié),量表信效度等等統(tǒng)計技巧有任何問題,請私信我,獲取最詳細和耐心的指導(dǎo)。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??
Then Contact Me. I will solve your Problem...
加油吧,打工人!