• 検索結果がありません。

推定量,標準誤差,欠測値

ドキュメント内 2012 年 12 月 19 日版 (ページ 34-37)

lavaanパッケージのデフォルトの推定法は,最尤法である(estimator = "ML").lavaanで現在利 用できる他の推定法を次に示す:

ˆ "GLS"一般化最小2乗法.完全データに対してのみ利用可.

ˆ "WLS"重み付き最小2乗法(ADF推定ともいう).完全データに対してのみ利用可.

ˆ "MLM"ロバスト標準誤差とSatorra-Bentler scaled test statisticを持つ最尤法.完全データに対 してのみ利用可.

ˆ "MLF"1次導関数に基づく標準誤差と伝統的な検定統計量を持つ最尤法.完全データと欠測デー

タに対して利用可.

ˆ "MLR"ロバスト(Huber-White)標準誤差と,漸近的にYuan-Bentler検定統計量と等しい標準 化検定統計量を持つ最尤法.完全データと欠測データに対して利用可.

最尤法("ML","MLM""MLF""MLR")を用いたとき,lavaanのデフォルトでは,いわゆる偏りのある 標本共分散行列(要素は,n−1の代わりにnによって割られた)に基づく分析が行われる.これは内 部的に処理され,ユーザーが行う必要はない.これに加え,カイ2乗統計量は,最小の関数値に因子n

n−1の代わりに)を掛けることによって計算される.これは,Mplusプログラムと同じである.不 偏共分散を用い,カイ2乗統計量を計算する乗数としてn−1を用いたいならば,関数を利用するとき

に,引数likelihood="wishart"を指定する必要がある.例えば:

> fit <- cfa(HS.model, data = HolzingerSwineford1939, likelihood = "wishart")

> fit

lavaan (0.5-12) converged normally after 41 iterations

Number of observations 301

Estimator ML

Minimum Function Chi-square 85.022

Degrees of freedom 24

P-value (Chi-square) 0.000

検定統計量の値は,EQやLISREL,AMOSのようなプログラムが出力する値に近いであろう.な ぜなら,それらのプログラムは全て,最尤法を使うとき‘Wishart’アプローチを用いているからであ る.一方,Mplusは,最尤法への‘通常の”アプローチを取る.

9.2.2 欠測値

データに欠測値があるとき,デフォルトでの処理はリスト単位での削除となる.欠測のメカニズム がMCAR(無作為に完全に欠測する)またはMAR(無作為に欠測する)のとき,lavaanパッケージ はケースワイズ(または‘完全情報’)最尤推定を行う.モデル当てはめの関数の呼び出しにおいて,引

数missing="mlを用いて,特徴をオンにすることができる.制約のない(h1)モデルが自動的に推定さ

れ,全ての一般の当てはめの尺度が利用可能である.

9.2.3 標準誤差

標準誤差は,(デフォルトでは)期待情報行列に基づく.唯一の例外は,欠測値があり,完全情報ML

(missing="ml"の指定により)を用いるときである.この場合,観測された情報行列を用いて標準誤差 が計算される.ユーザーはinformation引数を用いて,"expected"または "observed"を指定すること により,これを変更することができる.推定量が単に”ML”のときは,se引数を用いて"robust.mlm"や

"robust.mlr","first.order"を指定することにより,ロバスト標準誤差に変更することもできる.こ れらが必要でないならば,単に"none"とすればよい.これは,検定統計量には影響しない.実際,あな たは"test"引数を用いて,独立して検定統計量を選ぶことができる.指定できるのは,"standard"また は"Satorra-Bentler","Yuan-Bentler"である.

9.2.4 ブートストラッピング

lavaanでブートストラップを利用する方法は2つある.モデルを当てはめるとき,se="boot"または

test="boot"を指定するか(この場合,ブートストラップ標準誤差またはブートストラップに基づくp

値を得る),bootstrapLavaan()関数を用いるかである.後者の場合,既に当てはめたlavaanオブジェ クトが必要である.

9.2.5 間接効果と媒介分析

応答変数Y,予測変数X,媒介変数M がある3変数の古典的な媒介状況を考える.例として,これ ら3変数を含む簡単なデータセットを作り,XY に直接影響を与え,XMを媒介してY に影響 を与えるパス解析モデルを当てはめる.

> set.seed(1234)

> X <- rnorm(100)

> M <- 0.5*X + rnorm(100)

> Y <- 0.7*M + rnorm(100)

> Data <- data.frame(X = X, Y = Y, M = M)

> model <- ’ # 直接効果

+ Y ~ c*X

+ # 媒介

+ M ~ a*X

+ Y ~ b*M

+ # 間接効果 (a*b)

+ ab := a*b

+ # 全体の効果

+ total := c + (a*b)

+ ’

> fit <- sem(model, data=Data)

> summary(fit)

lavaan (0.5-12) converged normally after 13 iterations

Number of observations 100

Estimator ML

Minimum Function Test Statistic 0.000

Degrees of freedom 0

P-value (Chi-square) 1.000

Parameter estimates:

Information Expected

Standard Errors Standard

Estimate Std.err Z-value P(>|z|) Regressions:

Y ~

X (c) 0.036 0.104 0.348 0.728

M ~

X (a) 0.474 0.103 4.613 0.000

Y ~

M (b) 0.788 0.092 8.539 0.000

Variances:

Y 0.898 0.127

M 1.054 0.149

Defined parameters:

ab 0.374 0.092 4.059 0.000

total 0.410 0.125 3.287 0.001

この例は,lavaanモデル構文で“:=”オペレータを利用する方法を示している.このオペレータは,

オリジナルのモデルパラメータの任意の関数値を取る新しいパラメータを‘定義’する.しかし,この関 数は,モデル構文で明示されたパラメータのラベルにより指定さなければならない.デフォルトでは,

これらの定義されたパラメータの標準誤差は,デルタ法を用いて計算される.他のモデルと同様,当て

はめの関数の中でse="bootstrap"と単に指定することにより,ブートストラップ標準誤差を要求する ことができる.

ドキュメント内 2012 年 12 月 19 日版 (ページ 34-37)

関連したドキュメント