累積分布関数

概要

累積分布関数(Cumurative Distribution Function)を作ってみる。

以下で用いるplot.ecdf()は,経験的CDF(empirical CDF)を作る関数である。 簡単な例から見てみよう。

par(family ="HiraKakuProN-W3")
plot.ecdf(c(1,2,2),main="単純な例")

これは,P(X = 1)=1/3P(X = 2)=1/3である離散確率変数の累積分布関数である。

par(family ="HiraKakuProN-W3")
plot.ecdf(1:6,main="公正なサイコロ")

シミュレーション

nsims <- 1000
sims <- sample(1:6,size=nsims,replace=TRUE)

作表

table(sims)
## sims
##   1   2   3   4   5   6 
## 187 181 166 164 154 148
table(sims)/nsims
## sims
##     1     2     3     4     5     6 
## 0.187 0.181 0.166 0.164 0.154 0.148

作図

plot.ecdf(sims, main="Empirical CDF")

比べてみる。

par(family ="HiraKakuProN-W3")
par(mfrow=c(1,2))
plot.ecdf(1:6,  main="理論CDF")
plot.ecdf(sims, main="経験CDF")

nsimsの値を変えて,結果がどう変わるか確認してみよう