ぱらぱらめくる『DPpackage: Semi- and Non-parametric Modeling in R』

  • 文書
  • 1. Introduction
    • Semiparametric Bayes と Nonparametric Bayes (BSPとBNP)
    • Bayesian アプリ。RでDirichlet過程を実装しているのは(DPpackageの他に)bayesmがあるが、扱えるモデルは限定的
    • DPpackageが実装しているモデル
      • DP
      • mixtures of DP (Antoniak's MDP)
      • DP mixtures (Lo etc.'s DPM)
      • linear dependent DP (LDDP)
      • linear dependent Poisson-DP (LDPD)
      • weight dependent DP(WDDP)
      • hierarchical mixture of DPM of normals (HDPM)
      • centrally standardized DP (CSDP)
      • Polya trees (PT)
      • mixtures of triangular distributions
      • random Bernstein polynomials
      • dependent Bernsteing polynomials
      • penalized B-splines
      • general purpose function implementing a(n) independence chanin Metropois-Hastings algorithm with a proposal density function generated using PT ideas
  • 2. DPpackageの実装説明
    • モデルごとに関数が作られている
    • 共通のパラメタがある
      • prior
        • 確率モデルを決めるパラメタを与えるリスト。確率モデルの中にノンパラ的扱いが含まれている(たとえば、Dirichlet過程)ので、これによってノンパラプライアが指定できる
      • mcmc
        • MCMCサンプリング方法の指定(nburn:バーンイン回数、nskip:とびとび回数、ndisplay:実行中の画面表示オプション)
      • stateとstatus
        • 新規実行か、以前実施したMCMCの継続実施かをstatusで指定し、stateに継続の場合の情報を与える
    • 共通の出力形式がある
      • state
        • MCMCを回しているので、繰り返し経過に沿ってそのときどきの状態stateがある。最終状態(パラメタの値等)をstateとして出力する
      • save.state
        • MCMCで回して得られたstateの系列を保持している
        • randsaveとthetasaveの2群に分けて保持している
        • 興味対象のパラメタの事後分布がrandsave、確率モデルのパラメタ値の経過を保持しているのがthetasave
# hogeにモデル名が入る
fit <- DPhoge(d,prior,mcmc,state,status,...)
fit$state
fit$save.state$randsave
fit$save.state$thetasave
    • 収束判定等は別パッケージで実施
      • その例
library("coda")
coda.obj <- mcmc.list(
chain1 = mcmc(fit1$save.state$thetasave[,1]),
chain2 = mcmc(fit2$save.state$thetasave[,1]),
chain3 = mcmc(fit3$save.state$thetasave[,1]))
gelman.diag(coda.obj, transform = TRUE)
  • 以降は実装内容について
  • 3. Density estimation
  • 4. Mixed-effects models
  • 5. Dependent random effects distributions
  • 3. Density estimation
    • 単純な分布推定(複数の正規分布の集まりとして、正規分布をDirichlet過程で割り付けるような)のもあるが
    • この章で扱うのは少し複雑にしたモデル
      • LDDPは
        • y \sim N(Bx + b0, \sigma)のような線形式を「中心とした」正規分布をDP割り付けする
        • y  \sim \int N (x^T \beta, \sigma^2) dG(\beta, \sigma^2)
        • G \sim DP(\alpha G_0),G_0 = N(\beta | \mu, S) \Gamma (\simga^{-2})とか
    • 次に出てくるWeight dependent DP モデルも、DPをかませて分布適合をするモデル
  • 4. Mixed-effects models
    • 線形モデル→一般化線形モデル→一般化線形混合モデル
    • 一般化線形モデルでは、非線形式に線形式を接続し、
      • 混合モデルでは、乱雑項にバリエーションを入れているが、そのバリエーションは正規乱数にする(のがふつう)
      • その正規乱数をさらにノンパラに上げる工夫をしている
      • Mixedという単語は、一般化線形「混合」モデルの「混合」(か?)
  • 5. Dependent random effects
    • 基本線は4.と同じ。複数項の乱雑項の間に依存性を入れる
  • ということで、基本はDirichlet過程  G \sim DP(\alpha, G_0)の展開利用のパッケージ