2007年12月29日 Version 16.0
村瀬 洋一
また、自分が作ったモデルが動かない時は、上記3.2をよく読み、エラーが出る原因を理解することが重要。
ソフトの欠点は以下です。最低限、これらは早急に改善してほしいところです。
・図の矢印上に、数字をのせることができるようにする。係数が自由に動かない。
・SPSSデータを読み込んだ場合、欠損値処理を、平均値で置き換え以外にもできるようにする。
・2値変数(1−0型の変数)を扱えるようにする。現状ではリズレルやEQSを買うしかない(矢印がささっていない変数として2値変数を使うのは問題ない)。現実には、データ人数が約1000人以上いれば、2値変数を使っても、あまり問題ないようである。厳密には、モデルのあてはまりが悪くなる。
・有意水準を図上で表示可能にする。
参考文献
狩野裕・三浦麻子.2002.『グラフィカル多変量解析―AMOS、EQS、CALISによる目で見る共分散構造分析』現代数学社.
与謝野有紀他編.2006.『社会の見方、測り方 −計量社会学への招待』勁草書房.
SmallWaters Corporation. 1997. Amos Users' Guide Version 3.6. SPSS.
SPSS形式データを読み込んでリズレルを使う方法
LISRELを使うには、素データの読み込みや、共分散行列の読み込みなど、データ読み込み法が何種類かあるが、SPSS形式データを読み込むのが、もっとも簡単であろう。その場合、リズレルのプログラム文(SIMPLISやLISREL)を書く前に、SPSS形式データを読み込み、プレリス形式データ(Prelis system file)を、まず作ることになる。以下の手順で操作する。
1)プレリス形式データの作成 画面上Fileをクリック → New Prelis Dataを選び OKボタンを押す 画面上Fileをクリック Import External Data Fileの種類ボックス→ SPSS for Windows 何もチェックせずにDoneボタン 名前をつけて保存する .psfとつくファイル名で保存 これで、プレリス形式データが保存される。 2)Simplisプログラム作成準備 画面上Fileをクリック → New Simplis Project projectとは命令文やデータやパス図などを1つにしたファイルである。 名前をつけて保存する .spjとつくファイル名で保存 これで、プログラム(これから書く)が保存される。 なお、.outが出力ファイル、 .pth がパス図のファイルである。 spjファイルの中に、これらがすべて入っている3)画面上Setupをクリック → Variablesを選ぶ Add/Read Variablesボタン Read from fileのボックスをクリックし、 ファイルの種類はPrelis system fileを選択 Browsボタンを押し、 .psfとつくファイルを読み込む データウィンドウが表示された状態で、画面上Dataをクリックし、Define Variablesを選択すると、欠損値指定等ができる 4)画面上Setupをクリック → Build SYMPLIS Syntaxを選択 以下のような命令文が自動的に生成される SYMPLISというのが分かりやすい形式のプログラム文である。 LISREL形式の文だと、Path DiagramをPD と書くなど省略されておりやや分かりにくい。 ★SYMPLIS文の例 SYSTEM FILE from file 'C:\data\test1k.DSF' Relationships Q5V2=Q1 Q5V2=Q4V1 Q1=Q4V1 Wide Print Print Residuals Path Diagram End of Problem 5)分析モデルを数式の形式で書く プログラム内の、Relationshipsの後に変数名と数式を書く。 以下の例のように書けばよい。イコールの左側が被説明変数Y Q3などはSPSSファイル内の変数名を書く 以下の例では、Q3をYとして、 Q1 Q4がXとしている。さらにQ1もYとなる、 2段階の重回帰モデル(パス解析モデル)となっている。 Q3=Q1 Q3=Q4 Q1=Q4 Path Diagram の上に Wide Print Print Residuals などの命令文を書いても良い。残差などが出力される。 6)モデルにもとづき計算実行 人が歩いているボタン(Lがついている)を押すと計算が始まる。上記の図を参照。 7)計算結果が出る パス図が表示された状態で、画面上の方のEstimates ボタンを押し、 Standaridized Solution 等を選ぶと、標準化解などが表示される。 Expected Change を選ぶと、入れるべきパスなども表示される 計算結果のファイルを適当な名前を付けて保存する
参考文献
白倉幸男.1991.「LISREL: リズレルモデル」.三宅一郎他編.『新版SPSS
X 3 解析編2』223-310.東洋経済新報社.
Joreskog&Sorbom. 1989. 『 LISREL7 :A Guide to Program and Applications.
2nd edition 』 SPSS
SPSS. 1990. 『SPSS LISREL7and PRELIS:user's guide and reference』SPSS.
謝辞
このマニュアルを作るに当たり、東北大学文学部行動科学研究室の神林氏より、プログラムの意味について細かい点まで教えていただいた。記して深く感謝します。ただし、文章はすべて村瀬が書いたものであり、このマニュアルやプログラム例についての文責は、すべて村瀬にあります。
SPSSリズレルのプログラムの例 SPSSのデータ定義文の後に、以下のようなプログラムを書いて実行すれば、 図3で示したようなモデルの分析ができるはずです。 ミスを見つけた方は、村瀬のメールアドレスまでどんどんご連絡下さい。 /*** 以下が、リズレルのプログラム ***/ /*** 変数FSCOREからCITYAまでが調査データに実在する観測変数 ***/ /*** 変数FSCOREは父親の社会的地位 EDUは本人学歴(教育年数)***/ /*** 変数GENは現職職業威信スコア INCは本人年収 ***/ /*** 変数ZAISANは保有財産数 ***/ /*** 変数MOTIIEは居住形態 NENREIは本人年齢 ***/ /*** 変数KIBOは従業先規模 CITYAは居住地の都市度 ***/ PRELIS /variables= FSCORE EDU GEN INC ZAISAN q01 q02 q03 q04 q05 q06 q07 q08 q09 q10 MOTIIE NENREI KIBO CITYA /matrix=out(*) /type=polychor . LISREL / "political awareness in SENDAI 1997" /da ni=19 no=889 ma=pm /la /father/gakureki/isin/syunyu/zaisan /keniaru/zibunno/meue /houritu/yono/fukuzatu/omakase /seiziman/fusin/sogai /kyojuu/nenrei/juugyou/tosi /mo ny=15 ne=6 nx=4 fi ly=fu be=fu ga=fu ps=di /fr ly(4,3) ly(5,3) ly(7,4) ly(8,4) ly(10,5) ly(11,5) ly(12,5) ly(14,6) ly(15,6) /fr be(2,1) be(2,4) be(3,1) be(3,2) be(4,1) be(5,1) be(5,2) be(5,3) be(5,4) be(6,1) be(6,2) be(6,3) be(6,4) /va 1 ly(1,1) ly(2,2) ly(3,3) ly(6,4) ly(9,5) ly(13,6) /fi te 1 te 2 /le /homenv/educ/status/econenv/author/polawr /ou se tv ss ad=off . ★★★ リズレルのプログラムの説明 ★★★ 0.共分散構造分析の基本 共分散構造分析で用いる変数は、 1)観測変数(実際に存在する変数) 2)潜在変数(因子) の大きく2種類に分かれます。 共分散構造分析のモデルも、大きく2つに分かれます。 1)測定方程式モデル 観測変数(実際に存在する変数)で潜在変数(因子)を作る。 因子分析の部分。 2)構造方程式モデル 潜在変数(因子)の間の因果関係のモデル。 潜在変数を用いたパス解析。 構造方程式モデルに、さらに、外生変数(これも実際に存在する変数)を加えること もある。つまり、いくつかの潜在変数と外生変数でパス解析を行う場合もある。 この文例では、一般的な因果モデルを外部から規定する要因として、4つの外生 変数(居住形態、年齢、従業先規模、都市度。プログラム例中の LISREL /laライン の最後の4つです)をモデルに投入している。 なお、この文例では、誤差間相関はなしとしている。 1.PRELISコマンドについて SPSSのデータのうち、LISRELで用いる変数を取り出す。 /variables以降の文で出ているのが、SPSSのデータ名である。 例えば、調査データに50個の変数があるが、分析に用いるのはそのうち19個 だけ、という場合、PRELISで19個取り出す。 /matrix=out(*) /type=polychor と書くと多聞相関のデータ行列を出力する。 /type=covariance と書くと共分散のデータ行列を出力する。 多分相関だと、5段階尺度のような、厳密には連続変数とは言えないような、 順位尺度による相関のゆがみを補正した相関になる。社会調査データでは、 これを用いた方が良い場合もある。 しかし、多聞相関に最尤推定法を使うと、尤度が大きく歪んでしまうので、 WLS推定法を使うべきかもしれない。PRELISでは、変数の種類を指定しないとデ フォルトの連続変数扱いになってしまうので、4段階尺度以下の場合なら、変 数に(OR)の指定をしたほうがよいらしい。5点尺度以上なら、むしろ、(CO)の ままにしておいたほうがいいというのが通説らしいが、まだ勉強中で、この辺 は詳しくは不明です。詳しくはリズレルのマニュアルを参照してください。 2.LISRELコマンドについて PRELISコマンドで取り出したデータを用いて、実際に分析を行う。 最初の行はタイトル。 ★/daの行(データ・ライン)の指定について ni 用いる変数の数 投入変数がprelisで指定した19個という意味 no 分析に用いるデータの人数が889人という意味。 面倒だが、PRELISの実行時に表示されるものを書く。 ma=pm PRELISで作成したpolychoric行列のデータを用いるという意味 pm多分相関 cm共分散 km相関 ★/laの行の指定について PRELISに書いてある19個の変数にラベルを付けている。 ★mo モデルの指定 ny 観測変数は15個 ne潜在変数6個 nx外生変数4個 nyとnxを足すと19個である fi 外生変数を入れるときに入れる命令(外生変数を入れないときは書かなくて良い) ly ラムダワイの行列(因子から観測変数へ行くパス) be β行列(内生潜在変数間のパス) ga ガンマ行列(外生変数から内生変数へのパス) ps 内生変数の誤差間相関 ぷさい fu行列の型の指定 −非対称行列、という意味 たいていの場合fuと書いておけばよい di行列の型の指定 −対角行列 ★fr ly ラムダワイ(測定モデル)のフリーパラメータについて ly(観測変数の番号,潜在変数の番号) ly(4,3)は、ラベル行4番目のsyunyuによって潜在変数3番を測定、の意味 このプログラム例では、潜在変数3番は、観測変数4,5とva行の観測変数3で測定 されていることになる。 ★fr be 潜在変数間の因果関係の指定 (2,1) 1から2へのパス le行(後述)でいうとhomenvからeducのパス ★va 固定母数 1にする ly(1,1) (観測変数の番号,潜在変数の番号) このプログラム例では、潜在変数1番と2番は、固定母数の観測変数のみで測定して いることになる。観測変数1つで潜在変数を測定しているモデルになる。 複数の観測変数で潜在変数を作る場合、ふつう、観測変数のどれか一つを固定母数1 とする。 ★fi te 1 潜在変数1は誤差を0にする、という意味 ★le 潜在変数(イータ)にラベルをつける ★ou アウトプット 何を出力するかの指定 se標準誤差、tvt値 ss標準化解 ad反復推定の回数をデフォルトより多くさせる。 ou all だとすべて出力される。 外生変数(モデルの中で矢印を受けてない変数)について ガンマについてはどの変数を用いるか指定していないので、/fr lyや/vaで指定して いない変数がすべて外生変数になる。この文例では、19個の投入変数のうち15個 しか指定していないので、残り4つは外生変数として用いられる。 この文例だと、すべての外生変数から内生変数(因子)へのパスが存在する。 外生変数からのパスを削りたい場合以下の通り。 /fi ga(1,4)という行を挿入すると、外生変数4から内生変数1へのパスが削られる。 外生変数4とは、この文例では、19番目の投入変数tosiのこと。 ( ,)内の原則は、カンマの前半の数字が結果(受け取る変数)、後半が原因 より詳しい説明は、参考文献にあげたリズレルの英文マニュアルを見てください。 付録 図2のモデルについてのプログラム PRELIS /variables=FSCORE EDU GEN INC ZAISAN q01 q02 q03 q04 q05 q06 MOTIIE NENREI KIBO CITYA /matrix=out(*) /type=polychor . LISREL /"murase's sample model" /da ni=15 no=919 ma=pm /la /father/gakureki/isin/syunyu/zaisan /keniaru/zibunno/meue /houritu/yono/fukuzatu /kyojuu/nenrei/juugyou/tosi /mo ny=11 ne=5 nx=4 fi ly=fu be=fu ga=fu ps=di /fr ly(4,3) ly(5,3) ly(7,4) ly(8,4) ly(10,5) ly(11,5) be(2,1) be(2,4) be(3,1) be(3,2) be(4,1) be(5,1) be(5,2) be(5,3) be(5,3) be(5,4) /fi ga(1,1) ga(1,3) ga(1,4) ga(2,1) ga(2,3) ga(4,1) ga(4,3) ga(4,4) /va 1 ly(1,1) ly(2,2) ly(3,3) ly(6,4) ly(9,5) /fi te 1 te 2 /le /father/educ/status/econenv/polawr /ou se tv ss ad=off .
SPSSで通常のパス解析を行うには、以下のような重回帰分析のプログラムを シンタックスウィンドウに書いて、実行すればよい。私の周辺には、共分散構造分 析のように、わざわざ因子得点を使って分かりにくい変数で分析するよりも、通常 のパス解析の方がよほどよい、と言う人間がたくさんいる。 パス解析とは、通常の重回帰分析の繰り返しである。ただし、有意でないパスは 削除して、繰り返し分析を行い、最終的なモデルにたどりつくとよい。 以下のプログラムは、複数の重回帰式を分析することになる。 /MISSING LISTWISE の行によって、欠損値がある人のデータはすべて削り、 各重回帰式の分析対象の人数をすべて同じにしている。LISTWISEのかわりにMEANSUB と書くと、欠損値を平均値で置き換える。 ★なお、以前のSPSSは、複数の/DEPENDENT 行を、1つのREGRESSIONシンタックス の中に書く(つまり、複数のモデルを一度に実行する)ことができたが、現在はでき ないようだ。複数のモデルを書くと、どのモデルも、すべて欠損値を削除して同じ人数 になるというのがメリットだが、人数が減ってしまう。 REGRESSION /MISSING LISTWISE /DESCRIPTIVES MEAN STDDEV CORR SIG N /STATISTICS COEFF OUTS R ANOVA /CRITERIA=PIN(.05) POUT(.10) /NOORIGIN /DEPENDENT q10 /METHOD=ENTER age edu q5 q8 q9 . REGRESSION /MISSING LISTWISE /DESCRIPTIVES MEAN STDDEV CORR SIG N /STATISTICS COEFF OUTS R ANOVA /CRITERIA=PIN(.05) POUT(.10) /NOORIGIN /DEPENDENT q8 /METHOD=ENTER age edu q5. REGRESSION /MISSING LISTWISE /DESCRIPTIVES MEAN STDDEV CORR SIG N /STATISTICS COEFF OUTS R ANOVA /CRITERIA=PIN(.05) POUT(.10) /NOORIGIN /DEPENDENT q9 /METHOD=ENTER age edu q5 .
あなたは1997年12月09日以来 回目のアクセスです。
All Rights Reserved, Copyright(c), MURASE,Yoichi
ご意見やご質問はお気軽にどうぞ E-mail : murase○ m.email.ne.jp