以上、http://davidakenny.net/cm/fit.htmより。
豊田(2014).共分散構造分析 R編―構造方程式モデリング p 146 を参照。
RのfindRMSEAsamplesize()という関数を使って計算。
RMSEAの予測値を2つと自由度、αエラー(0.05)と検出力(0.8)の値入れて計算させますが、RMSEAは0.05より小さいのがよいモデル。0.10を超えると悪いモデルという目安があるので、基本的には自由度を入れるだけで計算できる。
3通りの計算方法があり、どれがよいかのかはよく分からないが、Exact Fitは厳しすぎる。Close Fitは甘すぎる。 で、Not-Close Fitがよいらしいが。RMSEAの適切な値をどうするかによってかなり値が違う。
桁があっていればよしぐらいの感じでどうか。
下の解釈はやや自信なし。
findRMSEAsamplesize(rmsea0=0, rmseaA=0.05, 自由度, 0.8, 0.05)
完全なモデル(RMSEAが0)なのに、そうでないと判定される確率:0.05(5%)
完全なモデルでないと判定されたときに、よくないモデル(RMSEAが0.05より大きい)である確率:0.8(80%)
自由度が19の場合、434人。
findRMSEAsamplesize(rmsea0=0.05, rmseaA=0.1, 自由度, 0.8, 0.05)
本当はよいモデル(RMSEAが0.05未満)なのに、そうでないと判定される確率:0.05(5%)
そうでないと判定されたときに、かなり悪いモデル(RMSEAが0.1より大きい)である確率:0.8(80%)
自由度が19の場合、191人でOK.
findRMSEAsamplesize(rmsea0=0.05, rmseaA=0.01, 自由度, 0.8, 0.05)
※rmsea0 > rmseaAの場合、Not-Close Fitと解釈される。
悪いモデル(RMSEAが0.05より大きい)なのに、そうでないと判定される確率:0.05(5%)
そうでないと判定されたときに、かなり良いモデル(RMSEAが0.01)である確率:0.8(80%)
自由度が19の場合、490人でOK.
自由度の計算は面倒。 観測変数の数をnとすると、構造変数の数をm, 求める係数の数をlとすると、
自由度は、n(n*1)/2 - (m+l)で求める。
自信がない時は、ダミーのモデルを作成してAMOSやRで計算させてみると、 自由度が計算されているので、それを確認するとよい。