チラシの裏の落書き日記

統計とか,研究とか,日常についての備忘録的なもの。

最高の初期値職人を目指して

潜在クラス分析(有限混合モデル)やら,k-meansとかいろいろと初期値に依存する分析するがある。

また,Latent variableモデリングではEMアルゴリズムを使った最尤推定を行うことが多いが,複雑なモデルになるほど解が収束しないこともしばしばある。
とくに,因子分析と潜在クラスを組合せた場合や,いわゆるGrowth mixture modelなどは収束しないだけでなく,局所解のオンパレードである。
そんな時に,いい感じの初期値を設定する方法について,まとめておく。

  1. モデル全体を最小二乗方による推定がうまくいくかを確認する。

上手くいけば,その解を初期値として分析を行う。だめであれば次へ。

  1. 一度にモデルを推定するのではなく,部分的に推定する。

このときキチンと収束することを確認する。推定方法はなんでもいい。

  1. すべての部分モデルを推定する。

因子分析を含んでいるのであれば,因子得点を推定して,それを顕在変数として分析する。たとえば,growth mixtureモデルの切片,傾き得点など。

  1. これらの解を初期値として,使って全体のモデルを最尤推定する。
  2. これでもだめなら,ベイズ推定で。

ベイズ推定をした場合にも,事後分布が収束することなどをキチンと確かめる必要がある。

  1. その他関連する話題。

構造パラメータの段階推定について。
測定モデルを推定して,測定パラメータを固定して,潜在変数得点を推定する。
その潜在変数得点を使って,構造パラメータを推定する。この構造パラメータは一致推定量であることが示されている(光永・星野・繁桝・前川, 2005;
ci.nii.ac.jp
)。
段階推定をすることはあまり無いかもしれないが,知っておいて損ではない話題かと。


基本的には,部分的に分析してみてそれを初期値にするという戦略が重要。
初期値の指定の方法については,分析ソフトによってさまざまなので,使っているソフトのマニュアルを参考にすること。