Cox回歸模型【生存分析】


參考:《復雜數據統計方法——基於R的應用》 吳喜之

在生存分析中,研究的主要對象是壽命超過某一時間的概率。還可以描述其他一些事情發生的概率,例如產品的失效、出獄犯人第一次犯罪、失業人員第一次找到工作、青少年第一次吸毒等等。

生存函數S(t):

S(t)=P(T>t)=1-P(T<=t),t>0

T:表示壽命的隨機變量

t:特定時間

 

綜合生存函數圖:用到包survival

案例:口腔癌數據

 實驗分成兩組:

TX=1:僅放療

TX=2:放療+化療

#讀取數據
u=read.csv("pharynx1.csv")
#因子化定性變量
x=1:11
(x=x[-c(5,11)]) #去掉第五個和第11個(定性變量的下標)
for(i in x) u[,i]=factor(u[,i]) #把定性變量從數值型轉換成因子型
#回歸分析
a=lm(TIME~.,data=u)
summary(a)

R2和調整R2不高,結果不理想。同時正態性條件不滿足,所以檢驗得到的p-值也沒有多大意義。

對TIME做指數變換

Box-Cox變換是統計建模中常用的一種數據變換,用於連續的響應變量不滿足正態分布的情況。

MASS包中的boxcox()函數可以尋找λ。

#BOX-COX變換
library(MASS)
b=boxcox(TIME~.,data=u)
I=which(b$y==max(b$y)) #which用於找到值在數組中的位置  使對數似然最大的λ位置
b$x[I]

 

 

 嘗試用TIME的0.4次方作為因變量來擬合數據

a=lm(TIME^0.4~INST+SEX+TX+AGE+COND+T.STAGE+N.STAGE+STATYS,data=u)
b=step(a)
summary(b)
anova(b)
shapiro.test(b$res)

擬合並不好。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM