5.2.3 節 SAS/CALIS による各種構造ごとのパラメータの指定の実際

ここでは SAS の CALIS について、前節の Wheaton et al. (1977) 等の具体例を 用いて、各種共分散構造ごとに SEM のパラメータを指定する方法を解説する。

Eric's eye-bar icon

 この節には、つぎの SAS プログラムのダウンロードコーナーを用意してあります:

Wheaton データの LINEQS モデル文による SEM プログラムの例

Eric's eye-bar icon

5.2.3.1 節 LINEQS モデル文と付随文

5.2.1 節の EQS 構造のところで述べたように、観測変数の共分散行列のパラメータ 構造を EQS 構造、とりわけオリジナル EQS 構造で表現すると、(5.18) 式により 表されるので、われわれは行列 BΓ、及び Σ exg の 各要素を指示すればよい。 SAS では、EQS 構造を用いて SEM のパラメータ指定を 行う場合には、LINEQS モデル文、STD 文、COV 文などを用いる。

とりわけそれらのうち LINEQS 文は、そのための中心的な文で あり、これらの要素のうち、内生変数(観測変数と内生潜在変数)に関する方程式 (行列 BΓ がそのための情報を持つ)を記述するためのものであ る。

LINEQS モデル文の一般形は、つぎの通りで

     LINEQS
       dependent = term + term + ... ,
       dependent = term + term + ... ,
          ................ 
       dependent = term + term + ... ;

と書く。ここで、dependent ... の各行の最後のコンマを忘れないこと。また、最後の dependent ... の最後にセミコロンがあるが、これも忘れないこと。これは LINEQS 文の末尾を意味する。dependent には、観測内生変数名及び潜在 内生変数名をすべて列記する必要がある。

また、各 term は、以下の3つのうちのいずれかでなければならない:

  1. coefficient-name <(number)> variable-name
  2. prefix-name <(number)> variable-name
  3. variable-name

ここで、上記の name はすべて SAS 名なので、8文字以内である必要がある。 また、SAS では SEM の変数名としての SAS 名に、以下のような制約があるので、 これらの制約に従う必要があるので、注意が必要である:

図5.1 の例では、図中の自由母数のうち、λ , γ 1 , γ 2 , β に対して、それぞれ順に LAM、GAM1、GAM2、BET なる SAS 名を付けるとして、対応 する (5.8) 式と (5.4) 式を、被験者用の下付き添字 i を除き、順にスカラー表 現すると、つぎのようになる。この場合にも、変数名は上の制約に従っていることを 確認するとよい:

 LINEQS
    anoms =      fend1         + E1, 
     powls =   .833 fend1         + E2,
    anomo =      fend2         + E3, 
     powlo =   .833 fend2         + E4,
    yschl =      fexo1         + E5, 
    seind = LAM (.5) fexo1         + E6, 
    fend1 = GAM1(-.5)fexo1         + D1, 
    fend2 = BETA(.5) fend1 + GAM2(-.5)fexo1+ D2;

 読者は、たとえ行列の計算はわからなくても、図 5.1 とこの方程式を見比べれば、 LINEQS モデル文の方程式の指定は可能であろう。

一方、EQS 構造の Σ exg(すなわち、外生変数)に関する情報を指示 するために、LINEQS モデル文では STD 文と COV 文をも用いる。前者の STD 文では、 3種の外生変数 e(観測変数の誤差)、w(内生潜在変数の誤差)、v (外生潜在変数)の分散のうち、どの分散をパラメータとして推定推定するの かを指示する。STD となっているが、それにより指定する値は標準偏差 ではなく分散である

STD 文の一般形は、つぎの通りである:

     STD
       variables = pattern-definition,
       variables = pattern-definition,
          ................ 
       variables = pattern-definition;

ここで定義されない変数の分散はゼロであるとみなされる。図 5.1 の場合、観測 変数の誤差項の分散 θ 1 , θ 2 , θ 3 , θ 4 を順に THE1、 THE2、THE3、THE4 なる SAS 名、撹乱変数 D1、D2 の分散 ψ 1ψ 2 を PSI1、PSI2 なる SAS 名、外生潜在変数 fexo1 の分散 φ を PHI なる SAS 名 を付けるとすると、STD 文はつぎのようになる:

   STD
    E1-E6 = THE1 THE2 THE1-THE4 (6*3.),
    D1-D2 = PSI1 PSI2 (2*4.),
    fexo1 = PHI (6.);

同じく COV 文は、Σ exg の要素のうちの共分散、とりわけ3種の外生 変数(観測変数の誤差、内生潜在変数の誤差、及び外生潜在変数)のそれぞれの(複 数の)変数内共分散のうち、どれをパラメータとして推定すべきで、どれを固定する かを指定するためのものである。ここで定義されない要素は、ゼロとみなされる。

COV 文の一般形は、つぎの通りである:

     COV
       variables <* variables 2> = pattern-definition,
       variables <* variables 2> = pattern-definition,
          ................ 
       variables <* variables 2> = pattern-definition;

COV 文の各「variables ...」の左辺に * 記号を付けるやり方は リスト間共分 散 (Between-List Covariances)、 * 記号を付けないやり方は、 リスト内共分 散 (Within-List Covariance) と呼ばれる。

例えば、

  COV E1-E4 = PHI1-PHI6;

は、リスト内共分散の定義をしたことになり、

一方、

  COV E1-E2 * E3 E4 = PHI1-PHI4;

は、リスト間共分散の定義をしたことになり、

図 5.1 の場合、COV 文はつぎのように書く:

   COV
    E1 E3 = THE5 (.2), 
    E2 E4 = THE5 (.2);

Wheaton et al. (1977) のデータについて、lineqs 文のみでなく、CALIS プログラム 全体を示すと、つぎのようになる。このプログラムは、SAS/STAT Software (1997, pp.143-144) の一部をこのテキスト用に修正したものである:

data Wheaton(type=cov);
  title "Stability of Alienation";
  title2 "data matrix of Wheaton, Muthen, Alwin & Summers (1977)";
  _type_ ='cov'; 
  input _name_ $ anoms powls anomo powlo yschl seind;
  label anoms='Anomia (1967)' 
        powls='Powerlessness (1967)'
        anomo='Anomia (1971)'
        powlo='Powerlessness (1971)'
        yschl='Education'
        seind='Occupational Status Index';
  cards;
anoms  11.834    .       .       .       .       .
powls   6.947   9.364    .       .       .       .
anomo   6.819   5.091  12.532    .       .       .
powlo   4.783   5.028   7.495   9.986    .       .
yschl  -3.839  -3.889  -3.841  -3.625   9.610    .
seind -21.899 -18.831 -21.748 -18.775  35.522 450.288
;
proc calis data=Wheaton cov tech=nr edf=931 pall;
  lineqs
    anoms=           f1                  + e1,
    powls=      .833 f1                  + e2,
    anomo=           f2                  + e3,
    powlo=      .833 f2                  + e4,
    yschl=           f3                  + e5,
    seind= lamb (.5) f3                  + e6,
    f1=gam1 (-.5) f3                  + d1,
    f2= beta (.5) f1 + gam2 (-0.5) f3 + d2;
  std
    e1-e6=the1-the2 the1-the4 (6*3.),
    d1-d2=psi1-psi2 (2*4.),
    f3=phi (6.);
  cov
    e1 e3=the5 (.2),
    e4 e2=the5 (.2);
run;

プログラムのダウンロード・コーナー

Eric's abar10 icon

sem-Wheaton-lineqs.sas