Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

モデルの評価

全体的評価(モデルの適合度の評価)

カイ2乗検定

最尤法で母数を推定した場合、χ2\chi^2検定を行うことができる。

標本数が十分に大きいとき、

χ2=fML×(N1)\chi^2 = f_{ML} \times (N-1)

は自由度df=12p(p+1)qdf = \frac{1}{2} p (p + 1) - qχ2\chi^2分布に近似的に従う(ppは観測変数の数、qqは自由母数の数)

「構成されたモデルは正しい」という帰無仮説のもとで検定を行う。

ただし、サンプル数が大きいほど棄却されやすくなる(「モデルが正しいとはいえない」という結果になる)ため、あまり信頼性のない方法

カイ2乗検定の結果は直接使わないが、カイ2乗値を使う別の指標があることもあって統計ソフトでもいまだに計算される

CFI(comparative fit index)

  • 独立モデル(independent model)と呼ばれる最も単純なモデルと比較し、そこからモデルとデータの乖離がどれだけ改善されたかを測る

  • 独立モデルは観測変数間に一切パスを引かないモデル

CFI=1χ分析モデル2df分析モデルχ独立モデル2df独立モデルCFI = 1 - \frac{ \chi^2_{分析モデル} - df_{分析モデル} }{ \chi^2_{独立モデル} - df_{独立モデル} }

独立モデルの自由度は

Undefined control sequence: \DeclareMathOperator at position 1: \̲D̲e̲c̲l̲a̲r̲e̲M̲a̲t̲h̲O̲p̲e̲r̲a̲t̲o̲r̲{\tr}{\text{tr}…

\DeclareMathOperator{\tr}{\text{tr}}
\DeclareMathOperator{\diag}{\text{diag}}
\begin{align}
\chi^2_{独立モデル} &= \tr( \diag(S)^{-1} S) - \log |(\diag(S))^{-1} S| - p\\
                    &= p - \log |(\diag(S))^{-1} S| - p\\
                    &= - \log |(\diag(S))^{-1} S|\\
df_{独立モデル} &= \frac{1}{2} p(p - 1)
\end{align}

似たものでNFIやTLI(NNFI)もある

NFI=χ独立モデル2χ分析モデル2χ独立モデル2=1χ分析モデル2χ独立モデル2NFI = \frac{ \chi^2_{独立モデル} - \chi^2_{分析モデル} }{ \chi^2_{独立モデル} } = 1 - \frac{ \chi^2_{分析モデル} }{ \chi^2_{独立モデル} }
  • NFIのχ2\chi^2の部分をχ2df\chi^2 - dfにしたものがCFI

  • NFIのχ2\chi^2の部分をχ2/df\chi^2 / dfにして分母から1を引いたものがTLI

TLI=(χ独立モデル2/df独立モデル)(χ分析モデル2/df分析モデル)(χ独立モデル2/df独立モデル)1TLI = \frac{ (\chi^2_{独立モデル} / df_{独立モデル}) - (\chi^2_{分析モデル} / df_{分析モデル}) }{ (\chi^2_{独立モデル}/df_{独立モデル}) - 1 }

RMSEA(root mean square error of approximation)

モデルの分布と真の分布との乖離度を1自由度あたりの値として評価する

RMSEA=max(χ2df×n1n,0)RMSEA = \sqrt{ \max \left( \frac{ \chi^2 }{ df \times n } - \frac{1}{n} , 0 \right) }

RMSEAは0.05以下であれば当てはまりがよく、0.1以上であれば当てはまりがわるいと判断する慣習がある。

情報量基準

AIC=χ22×dfBIC=χ2log(n)×df\begin{align} AIC &= \chi^2 - 2\times df\\ BIC &= \chi^2 - \log(n) \times df \end{align}

GFI(goodness of fit index)

実測値の分散SSを予測値の分散Σ\Sigmaで説明できた比率を表す。回帰分析における決定係数に相当する。

Undefined control sequence: \DeclareMathOperator at position 1: \̲D̲e̲c̲l̲a̲r̲e̲M̲a̲t̲h̲O̲p̲e̲r̲a̲t̲o̲r̲{\tr}{\text{tr}…

\DeclareMathOperator{\tr}{\text{tr}}
GFI = 1 - \frac{ \tr( [\Sigma(\hat{\theta})^{-1}(S - \Sigma(\hat{\theta})) ]^2 ) }{ \tr([\Sigma(\hat{\theta})^{-1} S ]^2) }
= 1 - \frac{ \tr( [\Sigma(\hat{\theta})^{-1} S - I ]^2 ) }{ \tr([\Sigma(\hat{\theta})^{-1} S ]^2) }
  • 長所:標本数にあまり影響を受けない

  • 短所:モデルの自由度が大きくなると、値が大きくなりにくくなる → 複雑なモデルを作ったほうが有利になってしまう

AGFI(adjusted goodness of fit index)

AGFI=1p(p+1)2df(1GFI)AGFI = 1 - \frac{p(p+1)}{2df} (1 - GFI)
  • GFIの自由度のバイアスを補正したもの。回帰分析における自由度調整済み決定係数に相当する。

  • AGFIGFIAGFI\leq GFIという関係がある

  • GFIが0.95以上であれば当てはまりが良いとされる(0.9という基準では誤ったモデルを採択する頻度が結構高いらしい, 星野ほか (2005)

RMR(root mean square residual)

実測値の分散と予測値の分散の二乗誤差を測る。機械学習におけるRMSE(root mean squared error)に相当する

RMR=2p(p+1)j=1pl=1j(sjlσ^jl)2RMR = \sqrt{ \frac{2}{p(p+1)} \sum_{j=1}^p \sum_{l=1}^j (s_{jl} - \hat{\sigma}_{jl})^2 }

SRMR(standardized root mean square residual)

単位の影響を除くために正規化したもの。

SRMR=2p(p+1)j=1pl=1j(sjlsjjsllσ^jlσ^jjσ^ll)2SRMR = \sqrt{ \frac{2}{p(p+1)} \sum_{j=1}^p \sum_{l=1}^j \left( \frac{ s_{jl} }{\sqrt{s_{jj} - s_{ll}}} - \frac{ \hat{\sigma}_{jl} }{ \sqrt{ \hat{\sigma}_{jj} - \hat{\sigma}_{ll} } } \right)^2 }

部分的評価(母数の推定値の評価)

zz検定

「母数の真の値は0である」という帰無仮説のもとで、

z=推定値標準誤差z = \frac{ 推定値 }{ 標準誤差 }

df=観測変数の数n自由母数の数qdf = 観測変数の数n - 自由母数の数qzz分布(標準正規分布)に従う

標準化残差による観測変数の評価

残差行列=SΣ^残差行列 = S - \hat{\Sigma}

残差行列の各要素の大きさ(絶対値)を確認することで、大きな残差になってい部分はモデルが標本共分散行列をうまく説明できていないことがわかる

実際には標準化した残差を用いる

sjlσ^jl(sjjsll+sjl2)/n\frac{s_{jl} - \hat{\sigma}_{jl}} {\sqrt{(s_{jj}s_{ll} + s_{jl}^2) / n }}

決定係数

各変数によって説明された分散の割合