構造方程式モデルについて

 
 

 

この記事では,構造方程式モデルについて解説します。

構造方程式モデル(Structure Equation Model,以下SEM)は,別名共分散構造分析とも呼ばれます。前者のほうが,後者を包括する呼び方なので,最近はSEMと呼ばれることのほうが多いように思います。

SEMは,よく言われるように,因子分析と回帰分析を組み合わせた方法です。具体的には,因子,つまり潜在変数同士の因果関係を推定することができる手法なわけです。しかし,SEMが実際どういうことをやっているかは結構ブラックボックスの人が多いと思います。そこで,ごくごく簡単にSEMについて解説します。

ただ,専門ではないのでいろいろ間違えている可能性はあります。もし間違ったこと書いていたらご指摘いただけるとうれしいです。なお,記事は『豊田秀樹(2000). 共分散構造分析 応用編 朝倉書店』を参考に書いています。

 

因子分析のなかみ

まずは,因子分析から。因子分析では,次のような式を考えます。

観測変数A = Aの因子負荷量×因子F1 + Aの因子負荷量×因子F2 + ・・・ + 測定誤差

この式は,SEMでは測定方程式と呼ばれ,因子がどのような観測変数によって測定されているかを表現したものです。上の式では因子は2つだけを書いてますが,因子の数は増やしても構いません(ただし,観測変数の数を超えることはできない)。

ここで上の式に加えて,因子得点が標準得点であること,測定誤差が因子やほかの測定誤差と無相関であることを仮定すると,観測変数間の相関係数は因子についての因子負荷量の積で表現することができることがわかっています。つまり,

観測変数AとBの相関係数 = F1についてのAの因子負荷量×Bの因子負荷量 + F2についての・・・ + 相関の残差

となります。

そこで観測変数間の相関を相関行列Rで表した場合,因子負荷量行列を掛け合わせたものがRと残差行列の和と等しくなることになります。

相関行列R = 因子負荷行列 × 因子負荷行列(転置) + 相関の残差行列

因子分析では,因子負荷量を,できるだけ相関行列Rに近くなるように推定します。つまり,残差行列が小さくなるように推定してやるわけです。このように因子分析では,観測変数の背後に因子を仮定し,観測変数間の相関関係をできるだけ効率よく説明しよう,という方法です。因子の数が多ければ多いほど,因子負荷行列を掛け合わせたものは相関行列に近くなるはずです。

因子分析の推定法についてはこちらの記事を見てもらったらいいのですが,よく使われるのは最尤法,最小二乗法です。どちらの方法も,残差行列を一番小さくするように因子負荷量を推定しようとしている点は共通しています。ただ,項目による重みのつけ方が違うだけです。

 

構造方程式モデルのなかみ

構造方程式モデルでは,因子負荷量を推定するだけではなく,因子間の因果関係や,別の観測変数によって因子を予測するといった推定も可能です。そこで,因子分析における測定方程式に加えて,因子間の因果関係を記述する式を導入します。これを構造方程式といいます。

内生因子 = パス係数 × 外生因子 + パス係数 × 内生因子 + 残差

この式は,いわゆる回帰分析の式と同じです。ただ違うのは,内生変数と外生変数という言葉が登場します。基本的には内生変数とは,回帰分析でいうところの目的変数,外生変数は説明変数を指します。少し違うのは,外生変数はほかのどの変数からもパスを受けていない変数のことを指すのに対し,内生変数は一つでもほかの変数に影響されていることが仮定されている変数を指します。よって,内生変数も説明変数になりえます(ほかの変数から見れば目的変数にもなっている)。

構造方程式モデルは,この構造方程式と,先ほど紹介した測定方程式を用いて,観測変数間の分散共分散行列(以下,共分散行列)を表現し,できるだけ共分散行列説明しようとする手法といえます。

もう少し発展させて,ベクトル・行列形式で構造方程式を記述すると,

内生因子ベクトル = パス係数行列 × 外生因子ベクトル + パス係数行列 × 内生因子ベクトル + 因子の残差ベクトル

となります。

また,測定方程式をSEM的に書くと,

観測変数ベクトル = 因子負荷行列 × 外生因子ベクトル + 因子負荷量列 × 内生因子ベクトル + 観測変数の残差ベクトル

構造方程式と測定方程式の二種類から,推定するべきパラメータは以下の種類に分かれます。ただし,内生変数と外生変数の区別は省いています。

因子負荷量,パス係数,因子の残差共分散,観測変数の残差共分散

の4つです。

これらの式を用いて,観測変数間の共分散行列を説明しようとするわけです。因子分析の時と同様に,観測変数間の共分散行列は,測定・構造方程式で表現された部分と,測定・構造方程式で表現されなかった部分に分かれます。ここで前者を「モデルの共分散行列」と呼び,後者を残差行列と呼びます。

観測変数の共分散行列 = モデルの共分散行列 + 残差行列

また,モデルの共分散行列をパラメータだけで表現したものを,共分散構造と呼びます。SEMを共分散構造分析と呼ぶのは,共分散構造を用いてパラメータを推定するからです。しかし,最近では共分散だけではなく,平均構造なども対象となるので,より一般的な言い方として構造方程式モデルと呼ばれています。

 

共分散構造の表現の仕方

マニアックな話ですが,各種方程式から共分散構造を導くやり方はいくつか種類があります。共分散構造は,パラメータだけによってモデルの共分散行列を表現したものでした。すなわち,パラメータの表現方法が変われば,共分散構造の表現も変わるわけです。

もともとSEMが作られた当初は,構造方程式と測定方程式,そして内生変数と外生変数を分けてパラメータを表現するものが発表されました。それは,LISREL(Linear Structure Relations)と呼ばれるものです。LISRELはSEMの出発点でもあり,またそれを走らせるソフトウェア(これもLISRELと呼ぶ)も開発されたこともあって,良く用いられました。

しかし,パラメータが構造・測定,内生・外生にわかれることもあって,パラメータの種類がたくさんあり,ややモデルが複雑になります。そこで,構造方程式と測定方程式を分けずに表現したモデルが登場しました。それをEQS(Equations model)と呼びます。EQSも同じ名前のソフトウェアがあります。

EQSと同時期に,構造・測定だけでなく,モデル上では内生・外生の区別もなくした表現が登場しました。これをRAM(Reticular Action Model)と呼びます。RAMはもっとも単純な方程式を用いてSEMを表現します。

変数ベクトル = パス係数行列 × 変数ベクトル + 残差ベクトル

これだけです。変数ベクトルの中には因子も観測変数も入っています。パス係数行列の中には因子負荷量とパス係数が両方入っています。残差ベクトルにも,因子と観測変数両方の残差が入っています。HADはRAM形式の表現で共分散構造を推定しています。一番簡単だからです。RAMはAmosやMx,Rのsemパッケージなどにも使われています。

なお,MplusというソフトウェアはLISCOMP(analysis of Linear Structural equations with a Comprehensive measurement model)という表現法を用いています。LISCOMPはLISRELと同様に構造方程式と測定方程式を区別します。また,観測変数の中で確率変数と非確率変数を区別します。ただし,モデル上では,内生・外生の区別はありません。

いろいろ種類はあるのですが,実は,これらの方法どれを用いても,推定される結果は同じになります。また原理的にはどのモデルでも同等の汎用性があります。よって,結局はどれを用いても(基本的には)同じなのです。

補足しておくと,Rのlavaanパッケージはmimicオプションで,ソフトウェアごとの表現法を再現できます。たとえば"mimic=EQS"とすると,EQSと同じ方法で計算する,ということです。

 

観測変数の共分散行列とモデルの共分散行列を近づける

さて,SEMでは因子分析の式(測定方程式)と回帰分析の式(構造方程式)を使って,モデルを表現しました。そして,観測変数の共分散行列に,モデルの共分散行列を近づける,ということをやっています。

これをどうやって推定しているかといえば,因子分析と同じように最尤法や最小二乗法を用いて推定しています。たとえば最小二乗法では,観測変数の共分散行列とモデルの共分散行列の差の二乗和が一番小さくなるようにパラメータを推定します。これは解析的には解けないので,反復計算によって推定します。代表的な方法に,ニュートン・ラフソン法があります。ここでは説明を割愛します。

モデルの適合度は,この二つの共分散行列の距離を表現したものです。一番シンプルなのはSRMRで,標準化した共分散行列の2乗和の平均を用いています。しかしSRMRはモデルの自由度が大きいほど大きく(悪く)なります。そこで,自由度を考慮に入れた方法としてRMSEAがあります。1自由度あたりの乖離度を表現しているといえます。また,最も距離が遠い場合と,距離が0である場合にくらべ,相対的にモデルがどれぐらい適合しているかを表現した指標が,CFIです。

いろいろ書きましたが,言いたいこととしては,SEMはデータの共分散行列に近くなるようにパラメータを推定している,ということです。モデルをどうやって共分散行列に表現するかはいくつか流儀がありますが,それらはすべて同じ結果になります。また,モデルとデータの距離は適合度という形で指標化されています。

 

 

This entry was posted in 心理統計学. Bookmark the permalink.