Skip to Content
Rendering

Monte Carlo Integration

2020-05-11Original-language archivelegacy assets may be incomplete

数值积分

  • Limitation
    • 对于 dd 维函数 ff,一维情况下 O(nr)O(n^{-r}) 收敛,则高维仅 O(nrs)O(n^{-\frac{r}{s}}) 收敛
    • 不连续:O(nrs)O(n^{-\frac{r}{s}})
  • Monte Carlo Method: 01f(x)dx=1Ni=1Nf(xi)\int_0^1f(x)dx =\frac{1}{N}\sum_{i=1}^Nf(x_i)
    • Adavantage
      • Easy to implement
      • Robust
      • efficient for high dimensional integrals
    • Disadvantages
      • noisy: 按概率采样
      • slow
  • Monte Carlo estimator: FN=baNi=1Nf(Xi)F_N=\frac{b-a}{N}\sum_{i=1}^Nf(X_i)
    • E[FN]=abf(x)dxE[F_N]=\int_a^bf(x)dx
  • sample
    • FN=1Ni=1Nf(Xi)p(Xi)F_N=\frac{1}{N}\sum_{i=1}^N\frac{f(X_i)}{p(X_i)}
    • 最理想:p(x)=f(x)f(x)dxp(x)=\frac{f(x)}{\int f(x)dx}
  • 采样
    • inversion
      • 求 CDF
      • 逆函数 CDF1^{-1}
      • 均匀采样
    • rejection
      • accept U1U_1 if U2<f(U1)U_2<f(U_1)
      • 一般方法
        • find q(x)q(x), p(x)<Mq(x)p(x)<Mq(x)
        • Dart throwing ξ<p(X)/Mq(X)\xi < p(X)/Mq(X)
      • efficiency = area / area of rectangle
    • transform
      • Y=y(X)Y=y(X)
      • Py(y(x))=Px(x)P_y(y(x))=P_x(x)
      • py(y)=(dydx)1px(x)p_y(y)=(\frac{dy}{dx})^{-1}p_x(x)
      • py(T(x))=JT(x)1px(x)p_y(T(x))=|J_T(x)|^{-1}p_x(x)
  • Multidimensional sampling: sample with p(x)p(x) and p(yx)p(y|x)