INPUTしたらOUTPUT!

忘れっぽいんでメモっとく

第11回 「データ解析のための統計モデリング入門」 読書会に参加してきた

主催の@yamakatu氏お疲れ様でした。未だにStanで試せていないけどとりあえずメモしとく。


第11章 「空間構造のある階層ベイズモデル」

前半


  • 空間相関がなくポアソン分布に従うと仮定してみる
    • 平均 : 10.9
    • 分散 : 27.4
      • 過分散になっているため単純にポアソン分布に当てはめられない
        • 空間相関があると考える
  • 場所毎に平均が異なると考える
    • {log \lambda_j = \beta + r_j}
      • {\beta} : 切片、大域的なパラメータ
        • 無情報事前分布
      • {r_j} : 場所差
        • 階層事前分布
        • {\displaystyle{p\left(r_j{\mid}s\right) = \frac{1}{\sqrt{2{\pi}{s^2}}}exp\left(-\frac{r_j^2}{2s^2}\right)}}
          • {r_j}はどれも独立に同じ事前分布
            • 平均0、標準偏差sの正規分布
            • 「両隣と似ているかもしれない」のであれば{r_j}は独立と仮定しない方が良い
  • ある区画は隣接している区画とだけ相互作用すると仮定する
    • {\displaystyle{p\left(r_j{\mid}{\mu}_j,s\right) = \sqrt{\frac{n_j}{2{\pi}{s^2}}}exp\left(-\frac{\left(r_j-\mu_j\right)^2}{2s^2/n_j}\right)}}
    • 平均{\mu_j=\frac{r_{j-1}+r_{j+1}}{2}}
    • 標準偏差{\frac{s}{\sqrt{n_j}}}
      • {n_j}は近傍数
    • 左右の両端{j}=1,{j=50}
      • {\mu_1=r_2}
      • {\mu_{50}=r_{49}}
    • Intrinsic Gaussian CARと呼ばれる
    • {r_j}全体の同時事前分布
      • { \displaystyle{p\left( \left\{ r_j \right\}{\mid}s\right){\propto}exp\left(\frac{1}{2s^2}\Sigma_{j{\sim}j'}\left(r_j-r_j'\right)^2\right)}}
    • 事後分布


  • 場所差{\left\{ r_j \right\}}全体の同時分布の式がよく分からなかった
    • 伊庭先生の説明資料(amp;は無視して下さい。。。)

{
\begin{align}
\left( x_i-x_{i+1}\right) ^2+\left(x_{i-1}-x_i\right)^2
&= 2x_i^2 - 2x_i x_{i-1} - 2x_i x_{i+1} + x_{i-1}^2 + x_{i+1}^2 \newline
&= 2 \left( x_i^2 - x_i x_{i-1} - x_i x_{i+1} \right) + x_{i-1}^2 + x_{i+1}^2 \newline
&= 2 \left( x_i - \frac{x_{i-1}+x_{i+1}}{2} \right)^2 - 2 \left( \frac{x_{i-1}+x_{i+1}}{2} \right)^2 + x_{i-1}^2 + x_{i+1}^2
\end{align}
}

  • {x_i}の条件付き確率に注目しているので{x_i}が入っていない部分は無視して良い
    • 正規化すると消えてしまう
  • 掛けるといいんじゃない?というのは間違っている
    • 緑本の式はfull conditional
    • {x_i}以外を固定した場合の条件付き確率なので掛けても戻らない
  • 一番下の式は平均値を引くとも解釈できる
  • 1階の式からfull conditionalを作ると2階になる


後半


  • 確率場(random field)
    • 相互作用する確率変数で埋め尽くされた空間
    • {r_j}も確率場の一種
      • 階層事前分布(正規分布)のパラメータ{\mu}が相互作用している
    • 階層事前分布が正規分布のものをガウス確率場という
  • 空間相関のあるモデルは欠測に強くなる


  • 本文中の「{y_j}に合わせようとするので、局所密度はギザギザになる」の表現がイマイチよく分からない
    • ベイズモデルの場合、データに合わせようとする力が働くというだけであまり深い意味はない
      • データがバラバラでも平均(縦)に合わせる・隣(横)に合わせるとデータからずれるが良くなる
  • データにぴったり当てるだけであればfull modelで良いがそれではダメなのでAICが出てきた
    • AICでも不自由なので事前分布を使うようになってきた
  • 前章では中心に引っ張ったり階層構造で全体の平均について引っ張る・だけど個性があればずれる
    • 空間や曲線は前章にはなかった


LT

データ解析で割安賃貸物件を探せ!(山手線沿線編)


  • データ解析で割安賃貸物件を探せ!(山手線沿線編)
  • { \displaystyle{ \exp\left( -\frac{x}{400} \right)}}
    • 駅から徒歩5分の距離
      • 徒歩1分の距離が80mと不動産業界で決まっている
  • 空間相関
    • 駅の影響
      • 渋谷と原宿は近いから似ているはず
    • 向きの影響
      • 南向きと南東は似ているはず
  • フリーレント
    • あまり人が入らない場合大家さんが3ヶ月無料などとすることがある
  • carモデルを使用するときは切片項をdflat()にする
  • 説明変数を階層化した方が良いが今回はやっていない
  • Google RefineやRubyなどで前処理をしている
  • 空間相関を入れた場合と入れなかった場合の比較はした?
    • 駅の比較はした
    • 向きは空間相関がなかったので比較していない
  • 多重共線性はどのように処理している?
    • 全変数の組み合わせの相関を総当たりで確認している
    • 相関が高くても0.8くらいで必要であれば残している


分布から見た線形モデル・GLM・GLMM

  • 線形モデル、GLM、GLMMの違いが視覚的に理解できて非常に分かりやすい!
    • RとStanのコードも記載されていてとても参考になる
  • 線形モデル・GLM・GLMMでできるのはたかだが10モデル程度
    • 時系列や空間相関、Zero-inflated Poisson、トピックモデル、勝敗などはStanの方がモデリングしやすい


ベイズ平滑化について知っておくべき3つのこと

  • その1:横軸は「空間座標」だけではない
    • 「時刻」:時系列
    • 「何かの量」 : 非線形回帰
      • 機械の入力
      • 投薬の用量
  • その2 : 2階差分のほうが使い勝手が良い
    • みどりぼんでは1階差分
      • { \displaystyle{ p\left( x_x, {\cdot}{\cdot}{\cdot} , x_N \right) \propto exp \left( -\frac{1}{2\tau^2} \sum_{i=1}^{N-1} \left( x_{i+1} - x_i \right)^2 \right) } }
        • { \displaystyle{ x_{i+1} = x_i + \xi_i }}
        • { \displaystyle{ \xi_i \leftarrow  N\left( 0, \tau^2 \right) }}
          • システム雑音
        • データに矛盾しない範囲で隣に近づけたい
    • 2階差分
      • { \displaystyle{ p\left( x_x, {\cdot}{\cdot}{\cdot} , x_N \right) \propto exp \left( -\frac{1}{2\tau^2} \sum_{i=2}^{N-1} \left( x_{i+1} - 2x_i + x_{i-1} \right)^2 \right) } }
        • { \displaystyle{ x_{i+1} = 2x_i - x_{i-1} + \xi_i }}
        • { \displaystyle{ \xi_i \leftarrow  N\left( 0, \tau^2 \right) }}
        • データに矛盾しない範囲で直線に近づけたい
    • WinBUGSのcar.normalは1階差分のみサポート
    • 2次元空間以上はやや難
  • その3 : モデルの表現3種
    • full conditionalは出発点としてはやめた方が良い
      • { \displaystyle{ p\left(x_i {\mid} x_{i-1} \right)  \propto exp \left\{ -\frac{1}{\tau^2} \left[  x_i - \frac{1}{2} \left( x_{i-1} + x_{i+1} \right) \right] ^2 \right\}  }}
      • CARモデルなどでよく見られる
      • 出発点としてはやめた方が良い
      • { \displaystyle{ p \left( x_1, {\cdot}{\cdot}{\cdot}, x_N \right)  \neq \prod_{i=1}^{N} p\left( x_i {\mid} x_{-i} \right) } }
        • 全部かけても元に戻らない
    • 表現A
      • { \displaystyle{ p\left(x_1, {\cdot}{\cdot}{\cdot}, x_N \right) \propto exp\left(-\frac{1}{2\tau^2}\sum_{i=1}^{N-1}\left(x_{i+1}-x_i\right)^2 \right)}}
      • 完全な同時分布で書くやり方
      • 無向グラフと相性が良い
      • 基本形
    • 表現B
      • { \displaystyle{p\left( x_{i+1} {\mid} x_i \right) = \frac{1}{\sqrt{2\pi\tau^2}}exp\left(-\frac{1}{2\tau^2}\left(x_{i+1}-x_i\right)^2\right)}}
      • 条件付き確率で書くやり方
      • WinBugsなどのdag
      • 有向グラフと相性が良い
      • 1次元、時系列で便利
    • 表現C
    • 2階差分の場合
      • A
        • { \displaystyle{p\left(x_1, {\cdot}{\cdot}{\cdot}, x_N \right) \propto exp\left(-\frac{1}{2\tau^2}\sum_{i=2}^{N-1}\left(x_{i+1}-2x_i+x_{i-1}\right)^2 \right)}}
      • B
        • { \displaystyle{p\left( x_{i+1} {\mid} x_i, x_{i-1} \right) = \frac{1}{\sqrt{2\pi\tau^2}}exp\left(-\frac{1}{2\tau^2}\left(x_{i+1}-2x_i + x_{i-1} \right)^2\right)}}
      • C
        • { \displaystyle{ p\left( x_i {\mid} x_{-i} \right) \propto exp\left\{-\frac{6}{2\tau^2}\left[ x_i-\frac{1}{6}\left( x_{i-2} - 4x_{i-1} - 4x_{i+1} + x_{i+2} \right) \right]  ^2 \right\}} }




  • 最終回のニコ生コメントも載っけとく。問題があるようだったら削除します。

#みどりぼん 最終回 ニコ生コメント