2012年9月9日日曜日

共分散構造分析[R編]ってないの?[第3章1,2]

3.1 重回帰モデル

共分散構造分析[R編]の携帯電話の購入意欲データの重回帰分析モデルのスクリプトを作成してみましょう。
式が少ないので別のファイルを作成しないで、specifyModel()の次の行から続けて式を入力します。何も入力しないで改行すると最終行と認識してくれます。
cellphone.corは相関行列なのでいきなり標準化推定値を計算します。
共分散分散行列や相関行列をデータとして使うときは、Nオプションに標本数を設定します。
Amosのパス図の記法とは違って、外生変数の「性能」にも分散を記述しないと、計算できないです。
## 3.1 重回帰分析 #########################
cellphone.mdl <- specifyModel()
性能 -> 値段, a, NA
値段 -> 購買意欲, b, NA
性能 -> 購買意欲, c, NA
性能 <-> 性能, v1, NA
値段 <-> 値段, e1, NA
購買意欲 <-> 購買意欲, e2, NA

cellphone.sem <- sem(cellphone.mdl, S=cellphone.cor, N=250)

計算結果を確認してみましょう。
summary(cellphone.sem)

購買意欲の決定係数はe2を見ればわかると思うんですが、「1-説明できなかった分散/観測された分散」の計算はこれでできるようです。
1 - diag(cellphone.sem$P)/diag(cellphone.sem$S)


3.2 逐次モデル

次に逐次モデルをに進みます。結婚相手評価データは観測データです。分散共分散行列ではなくそのままsem()関数に使用することにして、dataオプションでデータフレーム名を設定してやりました。
marriage.mdl <- specifyModel()
学歴 -> 年収, p1, NA
職業威信 -> 年収, p2, NA
職業威信 -> 評価, p3, NA
年収 -> 評価, p4, NA
学歴 <-> 職業威信, c1, NA
年収 <-> 年収, e1, NA
評価 <-> 評価, e2, NA
学歴 <-> 学歴, v1, NA
職業威信 <-> 職業威信, v2, NA

marriage.sem <- sem(marriage.mdl, data=marriage.data)
summary(marriage.sem)

「かっこ良さ」とか「人柄」なんていう変数は用意されていません。これでデータとの適合度が非常によいなんて救いのない分析ですが、架空のデータということです。

0 件のコメント:

コメントを投稿