比例ハザードモデル
#Cox比例ハザードモデル 中村剛著:医学統計学シリーズ
library(dplyr);library(dummies);library(survival)
data(kidney)
kidney=data.frame(kidney)
delta=kidney$status
kidney=kidney[order(kidney$time),]
disease=dummy(kidney$disease)
kidney=kidney%>%select(-c(disease,id))
kidney=data.frame(kidney,disease)
ite=1000
eta=0.0001
beta=rep(0.1,ncol(kidney)-2)
num=sort(unique(kidney$time))
log_lik=0;log_lik_pre=-100
for(l in 1:ite){
if(abs(log_lik-log_lik_pre)>0.01){
log_lik_pre=log_lik
dl=rep(0,length(beta))
dl2=array(0,dim=c(length(beta),length(beta)))
log_lik=0;
for(i in num){
kidney_sub=kidney%>%filter(time<=i)%>%select(-time)
status=kidney_sub$status
kidney_sub=kidney_sub%>%select(-status)
dv1=apply(as.matrix(kidney_sub)*c(exp(as.matrix(kidney_sub)%*%beta)),2,sum)
dv2=sum(exp(as.matrix(kidney_sub)%*%beta))
dl=dl+apply(t(t(as.matrix(kidney_sub))-c(dv1/dv2))*c(status) ,2,sum)
dv1=array(0,dim=c(length(beta),length(beta)));dv2=rep(0,length(beta))
for(j in 1:nrow(kidney_sub)){
vec=as.numeric(kidney_sub[j,])
dv1=dv1+t(t(vec))%*%t(vec)*as.numeric(exp(t(vec)%*%t(t(c(beta)))))*status[j]
dv2=dv2+((vec)*exp(sum(vec*beta)))*status[j]
}
dl2=dl2+dv1/sum(exp(as.matrix(kidney_sub)%*%beta))-t(t(c(dv2)))%*%t(c(dv2))/(sum(exp(as.matrix(kidney_sub)%*%beta))^2)
log_lik=log_lik+sum(as.matrix(kidney_sub)%*%beta-log(sum(exp(as.matrix(kidney_sub)%*%beta))))
}
dl2=-dl2
beta=beta-eta*((svd(dl2)$u%*%diag(1/svd(dl2)$d)%*%t(svd(dl2)$v))
%*%dl)
}
print(log_lik)
}
#H:beta=0
var_beta=-((svd(dl2)$u%*%diag(1/svd(dl2)$d)%*%t(svd(dl2)$v)))
W_C=t(c(beta-rep(0,length(beta))))%*%solve(var_beta)%*%t(t(c(beta-rep(0,length(beta)))))
qchisq(1-0.01,df=ncol(kidney_sub))
#個別に比較
(beta-rep(0,length(beta)))/sqrt(diag(var_beta))
qnorm(1-0.01)
Author And Source
この問題について(比例ハザードモデル), 我々は、より多くの情報をここで見つけました https://qiita.com/kozakai-ryouta/items/043e5a4f134d16fd2e77著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .