Yoshi Nishikawa Blog

医学となにかのインタラクティブ

秋の気配のMontecarlo integration [5章]

モンテカルロ積分

Monte Carlo integrationは、random samplingに基づく統計手法である。
いつも通り公開コードを少しずつ改変しながら進める。

\begin{eqnarray} \theta = \int_m^{M} {e}^{-x}dx \end{eqnarray}

    n <- 10000
    m<-3 ; M<-6
    x <- runif(n, min=m, max=M)
    theta.hat <- mean(exp(-x)) * (M-m)
    print(theta.hat)
    print(exp(-m) - exp(-M))
    x <- seq(.1, 2.5, length = 10)
    m <- 10000
    z <- rnorm(m)
    dim(x) <- length(x)
    p<-sapply(x, function(x) mean(z<x))
        #p <- apply(x, MARGIN = 1, FUN = function(x, z) {mean(z < x)}, z = z)

    Phi <- pnorm(x)
    print(round(rbind(x, p, Phi), 3))