データから各種確率関連関数プロット

http://www.genome.med.kyoto-u.ac.jp/StatGenet/testRY20110208/Seiki.jpeg

  • 1変数XX=x;x\in Dである確率をP(X=x)と書くことにする
  • 確率密度関数f(x)=P(X=x)
    • "Xがxである確率"
  • 積分布関数F(x)
    • "Xがx以下である確率"
  • 昇降順を逆にした累積分布関数S(x)
    • 生存関数とも言う
    • "Xがxより大きい(長生きする)確率"
  • 逆累積分布関数G(t)
    • "累積確率がxのときのXの値"
  • 昇降順を逆にした累積分布関数の逆関数Z(t)
  • ハザード関数h(x)
    • "X=xに「生き残っている画分がX=xで死亡する」確率"
  • 累積ハザード関数H(x)
  • 1変数数値データから
    • density()関数を用いて、「確率密度関数」を
    • ecdf()関数を用いて、「累積分布関数」を推定し
    • S,Z,h,Hは、f,Fから作れるのでそれを作ってプロットしてみる
    • 以下の例では正規乱数
par(mfcol=c(3,3))
N<-1000000
X<-rchisq(N,1)
X<-rnorm(N)
#X<-sort(rgeom(N,0.2))
#X<-sort(rexp(N,m))+rnorm(N)*0.001
#X<-sort(rnorm(N))
#kizami<-2
#Xd<-diff(X,kizami)
#f<-(kizami/N)/Xd

fn<-density(X)
x<-fn[[1]]
f<-fn[[2]]
plot(x,f,type="l",xlim=c(min(X),max(X)),main="probability function")
#X<-X[(kizami/2+1):(N-kizami/2)]
#plot(X,f)

Fn<-ecdf(X)

#F<-Fn(X)
F<-Fn(x)
plot(x,F,type="l",xlim=c(min(X),max(X)),main="cumulative distribution function")


plot(F,x,type="l",main="INVERSE cumulative distribution function")

S<-1-F
plot(x,S,type="l",xlim=c(min(X),max(X)),main="Survival function:1-F;DECREASING cumulative distribution function")

plot(S,x,type="l",main="INVERSE survival function:INVERSE DECREASING cumulative distribution function")

h<-f/S

plot(x,h,xlim=c(min(X),max(X)),main="hazard function")

H<--log(S)
plot(x,H,xlim=c(min(X),max(X)),main="cumulative hazard function")
par(mfcol=c(1,1))