構造方程式モデリング(SEM)を利用することによって、線形回帰モデルから同時方程式まで幅広いモデルの推定が可能になります。
確証的因子分析(CFA)、誤差項の相関したモデル、潜在成長モデル、MIMICモデル、IRTモデルは、専用のコマンドだけでなくsem
コマンドを使って推定することもできます。
構造方程式モデリング(SEM)とは特別なモデルに限定された推定手法ではありません。
実際、Stataのregress
やprobit
、stcox
などのコマンドによる推定と同じことがSEMで実行可能です。
SEMは計量モデルに対する一つの考え方であると理解してください。
サンプルデータをダウンロードし、データを確認します。
. use https://www.stata-press.com/data/r16/sem_1fmm
. summarize
. notes
以下の表が表示されます。
下図のモデルにフィットさせます。
. sem(x1 x2 x3 x4 <- X)
このモデルの方程式は、下記の通りです。
変数Xは、外生的な潜在変数であるため、標準化の制約が必要です。
変数Xは最初に観測された変数x1に固定されるため、パス係数に制限がかかります。
X->x1, X->2, X->3のパス係数は、それぞれ1(制約付き), 1.30, 1.06と推定されます。
一方、X->4のパス係数は7.28ですが、異常値ではありません。
このデータはStata社で作成したものですが、モデルの真の係数は、1, 1, 1, 7です。
作成したモデルと、観測可能な変数の共分散も含むモデルの検定結果が表の下部に表示されます。
χ^2 (2)統計量は1.14、有意水準は0.4827なので、「モデル化していない共分散は不要である」という帰無仮説は、棄却できません。
これはフィットの悪いモデルにおける適合度検定です。
したがって、モデルのフィットは良くないという結果が出力されます。
より数学的に正確な帰無仮説は「近似共分散行列と観測された変数の平均ベクトルが、母集団で観測された行列とベクトルに等しい」です。
sem
とgsem
は、standard linear SEMでは同じ結果になります。
. gsem(x1 x2 x3 x4 <- X)
結果はsem
コマンドの時とほぼ同じです。
係数、分散、標準誤差は最後の桁が異なります。
gsemはより膨大な数値処理を行う別のアプローチを行っているので、精度が低下します。
対数尤度値は同じです。これは珍しいことで、一般的にgsem
の対数尤度はsem
のメトリックスは異なります。
ただし、モデルに観測される変数が含まれない場合は、gsem
とsem
で同じメトリックスが使用されます。
gsem
とsem
の両方で同じモデルをフィットさせると、sem
の方が若干高速かつ正確で、モデル構築後により多くの推定機能を使用できます。
コマンドではなく、Builderを使ってモデルをフィットさせる方法もあります。
コマンドウィンドウで下記を入力し、サンプルデータをダウンロードします。
. use https://www.stata-press.com/data/r16/sem_1fmm
メニューの統計>SEM(構造方程式モデリング)>モデル構築/推定から、新規のSEM Builderを開きます。
Xのコンポートを作成します。
計測要素を追加アイコンを選択し、SEM Builderの描画領域をクリックします。
ダイアログボックスを下記のように設定します。
X
」にします。x1, x2, x3, x4
を指定します。下記の図が作成されます。
誤差項からの各Xへのパスには1の制限がかかっているので、図には追加する必要がありません。
→を選択をクリックし、変数などを選択してコンポーネントの位置を調整できます。
推定を行います。
ツールバーの「推定アイコン」をクリックして、SEM推定オプションウィンドウでOKをクリックします。
下記のコマンドでBuilderに構築されたダイアグラムを呼び出すことができます。
. webgetsem sem_1fmm
Williams, Eaves, Cox(2002)では、データから得られた共変量が公開されています。
次の例で、SEMをフィットさせるためにこの共変量を使用します。
そのために、例2ではまずsummary statistics dataset(SSD)の作り方を説明します。
Williams, Eaves, Cox(2002)が発表した共変量マトリックスは、下記の表の通りです。
doファイルで下記のコマンドを実行し、SSDを作成します。
#delimit
コマンドは、doファイルでのみ使用できます。
#delimit
から#delimit cr
までの間で改行が無視され、; が入力された時のみ改行します。
1行にすべてのコマンドを入力する場合には、使用する必要はありません。
下記のコマンドでデータを保存し、解析を中断することができます。
. save sem2fmm
下記のコマンドで、他に設定しなければならない項目があるかどうかを調べることができます。
. ssd status
平均が設定されていません(上記の論文には平均の記載がありませんでした)。
下記のコマンドでデータを確認します。
. ssd describe
下記のコマンドで、データセットにラベルとノートを書き加えます。
SSDは下記のように設定されます。
以上のように、変数やデータにラベルを付けることができます。
データセットにノートを付けることもできます。
SSDはデータセットと同様に、保存していつでも使用することができます。
下記のコマンドで、SSDのリストを作成することができます。
. ssd list
複数因子のmeasurment modelについて、例2で作成したSSDを使用して解説します。
例2のSSDのデータは、下記から入手することもできます。
. use https://www.stata-press.com/data/r16/sem_2fmm
. ssd describe
. notes
以下の表が表示されます。
下図のKline(2005, 70-74, 184)のモデルにフィットさせます。
. sem(Affective -> a1 a2 a3 a4 a5)(Cognitive -> c1 c2 c3 c4 c5)
例1では、semをrawデータで実行しました。
この例3では、SSDで実行しています。
そのため、特別なオプションを指定する必要はありません。
表の下のver(e.)
で推定されている係数は、誤差分散です。
結果は(Kline 2005, 184)とは正確には一致しません。
semオプションにnm1を指定した場合、結果は3桁または4桁目で一致する可能性があります。
nm1オプションを指定すると、分散と共分散を計算する際に、NではなくN-1で割り算します。
パス係数ではなく、標準化されたパスの値を表示させると、結果が見やすくなります。
標準化するには、standardized
オプションを使用します。
標準化された値とは、標準偏差単位で表示されます。
ある変数と、その変数に従って変化した変数の両方の変化を標準偏差単位で表しています。
. sem, standardized
標準化された係数に加えて、誤差分散が推定されます。
semコマンドを使うと、潜在変数の分散も表示されます。
最初の出力では、潜在変数のAffectiveは1644.46で標準誤差193でした。
標準化した出力では、正規化されているため、分散が1で標準誤差はありません。
正規化された共分散は相関係数となるため、AffectiveとCognitiveの相関は0.81となります。
このモデルの標準化された係数は、各indicatorがひとつの要素を測定しているため、indicatorと潜在変数の相関係数を表します。
例えば、標準化されたパス係数a1<-Affectiveは 0.90なので、a1とAffectiveの相関は0.90となります。
コマンドではなく、Builderを使ってモデルをフィットさせる方法もあります。
コマンドウィンドウで下記を入力し、サンプルデータをダウンロードします。
. use https://www.stata-press.com/data/r16/sem_2fmm
メニューの統計>SEM(構造方程式モデリング)>モデル構築/推定から、新規のSEM Builderを開きます。
変数ボックスの大きさを設定します。SEM Builderのメニューから、設定>変数>すべて...を選択します。
ダイアログボックスのサイズを.38に変更してOKをクリックします。
a1, a2, a3, a4, a5
を指定します。下記の図が作成されます。
→選択をクリックし、変数などを選択してコンポーネントの位置を調整できます。
画面の右下に配置します。
文字を収めるために円を楕円に変更するには、円を選択してプロパティをクリックします。
表示形式タブの「選択した変数の外観をカスタマイズする」にチェックを入れ、「カスタム外観を設定する」をクリックし、「サイズ」を修正して適用します。
. gsem(x1 x2 x3 x4 <- X)
上記手順を繰り返して、画面の右下にcognitive arousalのmearsurmentコンポーネントを作成します。
グループ変数名に「Cognitive」、測定変数にc1, c2, c3, c4, c5
を指定します。
相関を作成します。
図を整えます。
選択ツールでアイコンをクリックしてドラッグし、共変量や変数を移動させることができます。
また、共分散の円弧も、端点をクリックして接点の位置や角度を調整することができます。
推定を行います。ツールバーの 推定アイコンをクリックして、SEM推定オプションウィンドウでOKをクリックします。
SEM Builderのメニューから表示>推定値を表示にチェックを入れると、推定値が表示されます。
下記のコマンドで、例3のモデルを呼び出すことができます。
. webgetsem sem_2fmm
a1とAffectiveの相関は0.90なので、Affectiveによって説明されるa1の分散は〖0.90〗^2=0.81で、説明されない分散は1-0.81=0.19となります。
これらを自動的に計算するには、estat eqgof
コマンドを使います。
. estat eqgof
観測された・されないにかかわらず、内生変数のフィットした分散が表示されます。
この例では、観測された内生変数が表示されています。
predicted欄には、内生変数の分散の予測値が表示されます。
residual欄には、残差の分散が表示されます。
R-squared欄には、各indicatorによって説明される分散の割合が表示されます。
例えば、1行目には上で計算したAffectiveによって説明されるa1の分散〖0.90〗^2=0.81が表示されています。
R2は決定係数とも呼ばれます。
mcは多重相関(multiple correlation)、mc2は多重相関の二乗を表します。
R-squared、mc、mc2は従属変数の関係性を表します。
回帰的なモデルでは、この3つの統計量は実質的に同じ数値になります。
mcはR-squaredの2乗根に等しく、mc2はR-squaredに等しくなります。
mcとR-squaredが負の値になることがありますが、これはモデルが負の予測をしている、モデルが妥当ではないという意味ではありません。
mc2(mc2)は、非再帰的でないモデルでR-squaredの代わりに使用することが推奨されています(Bentler and Raykov, 2000)。
estat gof
コマンドの例を示します。
例3と同じデータを使用します。
. use https://www.stata-press.com/data/r16/sem_2fmm
. sem(Affective -> a1 a2 a3 a4 a5)(Cognitive -> c1 c2 c3 c4 c5)
このモデルを例3でフィットさせた時に、計算結果の下の方に次のような結果が出力されました。
. ssd describe
. notes
この飽和モデルを、「model χ^2 test」と呼びます。
結果は、フィットが良くないことを示しています。
semでのフィットの結果が良くても、フィットは、標本サイズ、相関、モデルに無関係の分散、multivariate nonnormalityに影響を受ける可能性があります(Kline, 2016)。
semでの適合度とは、観測される値をどの程度フィットさせることができるかということです。
この例では、a1からa5、c1からc5の間の共分散です。
測定されるモデルでは、根本的な原因(この例では潜在変数のAffectiveとCognitive)は観測されません。
観測されるa1からa5、c1からc5をAffectiveとCognitiveでフィルタリングできると仮定することは手軽かもしれませんが、元の変数に含まれる情報が多く失われていない場合のみ有効です。
観測されない値がある場合はモデルの適合度は重要ですが、すべての変数が観測される場合は重要ではなくなります。
次のコマンドで、適合度を調べます。
. estat gof, stats(all)
望ましい値は、検定ごとに異なります。
例では、すべての適合度の検定が行われています。
オプションを使用して、特定の検定のみ行うこともできます。
尤度比検定については、2つの検定が行われます。
ひとつめはsem
コマンドで表の下部に出力されるmodel 2 testと同じです。
このsaturated modelは、共分散を完全にフィットさせるモデルです。
ふたつめは、baseline 対 saturated omparisonです。
baselineモデルは、平均と、観測されるすべての変数の分散+すべての外生変数の共分散のみを含みます。
どちらも5%レベル(または他のレベル)で、モデルのsaturatedモデルに対する適合性を棄却することができます。
このレベルの設定は、研究者によって異なります。
RMSEA値は、90%信頼区間の上限と下限が表示されます。
多くの場合、90%信頼区間の上限か下限のどちらかで検定し、95%信頼区間を持たせます。
下限が0.05未満または上限が0.10を超える場合は、適合度が低いという仮説を棄却しません。
このモデルは上限が0.10を超えているので、適合度が低いという仮説を棄却できません。
pcloseは、RMSEA値が0.05未満の確率です。
これは、予測された積率が母集団の積率にどのくらい近いかを表しています。
このモデルは、近いとはいえません。
AICとBICは、モデルを比較するために使用されます。
値が小さいほど良いとみなされます。
baseline comparisonのCFIとTLIは、1に近い程良いとみなされます。
TLIは、NNFI(non-normed fit index)とも呼ばれます。
最後に、standardized root mean squared residual(SRMS)と決定係数(CD)が表示されます。
SRMSは0で完全に適合、0.08までの値であれば良く適合しているとされます。
このモデルは、よく適合しています。
決定係数は、モデル全体のR2のような値です。1に近いと良いとされます。
estat gof
コマンドは、分野や研究者によって必要な統計が異なるため、複数の適合度の検定を行います。
必要な検定の結果のみをご利用ください。
Stata is a registered trademark of StataCorp LLC, College Station, TX, USA, and the Stata logo is used with the permission of StataCorp.