井出草平の研究ノート

lavaan

lavaanの結果をcsvで書きだす[R][lavaan]

psychパッケージのbfiデータを読み込む library("psych") data(bfi) lavaanパッケージでbfiデータを用い、因子分析と回帰分析を含む分析を行う library("lavaan") model = ' Neuroticism =~ N1 + N2 + N3 + N4 + N5 Extraversion =~ E1 + E2 + E3 + E4 + E5 …

交差遅延パネルモデルCross-lagged Panel Model[R]

Stataでの分析方法はこちら。 ides.hatenablog.com Mplusでの分析方法はこちら。 ides.hatenablog.com データ読み込み library(rio) nes3wave <-import("nes3wave.dta") 今回のパス図を先に表示しておこう。 コードは末尾。semPlotパッケージを用いて描画し…

lavaanを用いてWLSMVによる測定の不変性を計算する[R]

WLSMV(adjusted diagonally weighted least squares)での測定の不変性の方法が確立しているらしい。 https://www.tandfonline.com/doi/abs/10.1080/10705511.2019.1602776 最尤法での測定の不変性についてはこちらを参照のこと。 ides.hatenablog.com サンプ…

lavaanを用いた測定不変性の確認[R]

lavaanで測定普遍性を確認する方法。 rstudio-pubs-static.s3.amazonaws.com ある構成要素についてグループ間で比較を行うとき、暗黙のうちに測定の不変性を仮定している。回帰分析、t検定、混合効果モデルなどを行っている時も、その構成要素が同じように機…

lavaanのモデルの尤度比検定[R]

lavTestLRT関数を用いる。昔のバージョンではanova(fit1, fit0)という書き方をしたようだが、現在はlavTestLRT関数に変更されている。 www.rdocumentation.org LRTはLikelihood-ratio testつまり尤度比検定である。ブートストラップをかけて行うとBLRTである…

複数グループのCFAのフィッティング指標[R]

複数グループに分けての確証的因子分析。 とりあえずの用途としては、構成概念妥当性を調べる際に複数グループのフィッティング指標を見るというもの。測定の不定性と言われるもの(Measurement Invariance)である。 lavaan.ugent.be グループ変数は"school"…

lavaanで潜在変数の相関係数を求める[R]

データとモデルの作成 library("lavaan") Data <- HolzingerSwineford1939[,c("x1","x2","x3","x4", "x5", "x6")] model <- ' f1 =~ x1 + x2 + x3 f2 =~ x4 + x5 + x6 ' fit <- sem(model, data = Data, std.lv = TRUE) lavaanパッケージに含まれているデー…

lavaanで順序尺度のSEMを行う[R]

相関係数をピアソンではなく、ポリコリック相関係数を使う方法。例として簡単な確証的因子分析を行う。 サンプルデータの作成 library(lavaan) data.con <- HolzingerSwineford1939[,c("x1","x2","x3")] # visualのデータのみ使用 ## 3カテゴリにしてカテゴ…

同族テストモデル・タウ等価モデル・平行テストモデル[R]

信頼性係数はα係数が使用されることが多いが、問題点が指摘されている。α係数は因子構造を無視して一次元性の検証をしているという点である。別の言い方をすると、各因子での真の得点が共通している(一元性)と仮定しているが、ほとんどのケースでは一元性は…

二次因子の信頼性係数の計算[R]

因子分析の二次因子のω係数を計測する。パッケージはsemToolsを使用する。 www.rdocumentation.org ω係数についてはこちら。 ides.hatenablog.com データ lavvanに同梱されているデータHolzingerSwineford1939を使用する。HolzingerSwineford1939を使用した…

lavaanで順序カテゴリカル因子分析[R]

IPIP-NEOデータの呼び出しと格納 library("psych") data(bfi) # IPIP-NEOデータ d1 <- bfi[1:10] # 因子分析に使用するのは1~10列目。2つの因子のみ。 d1 <-na.omit(d1) # 欠損値のあるケースを削除 モデルと実行 library(lavaan) model <- ' Ag =~ A1 + A…

lavaanで行う重回帰分析[R]

lavaanなどのSEMパッケージでも回帰分析ができるとは以前から知っていたが、具体的にどうすればいいのか知らなかったので調べてみた。 シミュレーションデータ AERパッケージの中のデータCPS1985を用いる。 賃金(wage)に対する効果を見る重回帰分析をデモ…

モンテカルロ検定に基づく間接効果の推定と信頼区間[R]

デルタ法による間接効果の推定値はサンプルサイズが小さい場合には、正規分布を仮定したz値を使った検定には不向きとなる。その一つの解決策として、モンテカルロ検定に基づく間接効果の推定と信頼区間の推定がある。利用するのはsemToolsパッケージである。…

媒介変数と間接効果と総合効果[R]

lavaan - Mediation https://lavaan.ugent.be/tutorial/mediation.html Yが従属変数、Xが独立変数(予測変数)、Mが媒介変数とする。 データは仮想のもの。 library(lavaan) set.seed(1234) X <- rnorm(100) M <- 0.5*X + rnorm(100) Y <- 0.7*M + rnorm(100) …

lavaanの制約の構文[R]

制約条件の記号 記号 記述例 意味 == a == b aはbと同値である < a< b aはb以下の値となる > a>b aはb以上の値となる := a:=b aをbと定義する 準備 Holzinger and SwinefordのCFAモデルを簡略化して作成。 library(lavaan) model0 <- ' visual =~ x1 + x2 + …

lavaanのチュートリアル[R]

lavaanのチュートリアルが日本語翻訳されていたようだ。 英語版 https://lavaan.ugent.be/tutorial/tutorial.pdf 日本語翻訳 http://www.ec.kansai-u.ac.jp/user/arakit/documents/lavaanTutorial20170124.pdf 関西大学商学部の荒木孝治さんによる翻訳。

lavaanパッケージの構造方程式の初期値、モデル相関行列、決定係数[R]

今回も前回の続きlavaanパッケージのinspect関数についてである。 ides.hatenablog.com たくさんあるな中で、利用頻度の高そうな初期値、モデル相関行列、決定係数について求め方を書いた。 https://lavaan.ugent.be/tutorial/inspect.htmllavaan.ugent.be …

lavaanパッケージinspect関数[R]

lavaanの結果はsummary関数で出すが、それよりも詳細な結果が知りたい場合にはinspect関数を利用する。 https://lavaan.ugent.be/tutorial/inspect.htmllavaan.ugent.be 前準備 まずはこちらで分析したモデルを利用するので、オブジェクトfitに格納する。 li…

lavaanで分析した時の詳細情報[R]

https://lavaan.ugent.be/tutorial/inspect.htmllavaan.ugent.be 前準備 まずはこちらで分析したモデルを利用するので、オブジェクトfitに格納する。 library(lavaan) model <- ' # measurement model ind60 =~ x1 + x2 + x3 dem60 =~ y1 + y2 + y3 + y4 dem…

sem関数とlavaan関数[R]

sem関数が自働的にコードを補ってくれるため、基本的な分析には適しているが、細かいところまでコードを書き込む場合には、lavaan関数の方が向いていることもある。 sem関数での推定 PoliticalDemocracyを使って簡単なSEMを作成してみる。以下のようなSEMで…

構造方程式モデリングによる構成概念の因果関係[R]

今回扱うのは構造方程式によって作成した概念の因果を検証するモデルである。 データ lavaanに同梱されているPoliticalDemocracyを使用する。詳細はこちらのエントリ。 y1 1960年の報道の自由に関する専門家の評価 y2 1960年の政治的反対運動の自由 y3 1960…

ω係数[R]

ω(オメガ)係数は内的整合性を確認するための指標である。近年はCronbachのαより良い方法と言われることが多い。Cronbachのαは因子構造を無視して、一次元性の検証していることが原因である。 データ psychパッケージに含まれるIPIP-NEOのデータbfiを使用する…

lavaanパッケージを用いて階層因子分析を推定する[R]

階層因子分析(hierarchical factor analysis)について松田淑美・狩野裕「高次因子分析モデルと階層因子分析モデルについて」から説明を引用しよう。 http://www.sigmath.es.osaka-u.ac.jp/~kano/research/meeting/20050827_BSJ33/matsudaABS.pdf 階層因子…

lavaanパッケージを用いて二次因子分析モデルを推定する[R]

二次因子分析モデル(second order factor analysis)とは「斜交解による通常の因子分析の結果,因子聞に強い相闘が観察されたときには,それらの因子に共通して影響を与える上位の因子を想定することができます。このように,通常の因子分析における複数の因…

lavaanパッケージを用いてMIMICモデルを推定する[R]

複数の観測変数によって1つの構成概念が規定され、その構成概念が別の観測変数群に影響を与えているようなモデルをMIMIC(Multiple Indicator Multiple Cause)モデルと呼ぶ。 前回と同じくPoliticalDemocracyのデータを使用してPLSモデルをlavaanパッケージ…

lavaanパッケージを用いてPLSモデルを推定する

PLS(Partial Least Squares)モデルについて。日本語にすると部分的最小二乗回帰である。 PLSモデルは,複数の観測変数によって純粋に指標化された新たな変数が,別の複数の観測変数の背後に仮定される構成概念へ及ぼす影響の強さについて検討するモデルであ…

lavaanパッケージにおける共分散構造分析の付加的分析[R]

非標準化推定値と標準化推定値 豊田秀樹『共分散構造分析[R編]』36ページから。 母数の推定値には,非標準化推定値と標準化推定値があります。非標準化推定値は,データを標準化せずに分析を行った際に得られる推定値で,変数の単位の影響を受けます。一方,…

SEMの推定値の解釈[R]

lavaanパッケージで行った共分散構造分析の補足的なエントリ。 ides.hatenablog.com 例として潜在変数のところだけピックアップする。 Latent Variables: Estimate Std.Err z-value P(>|z|) Std.lv Std.all ind60 =~ x1 1.000 0.670 0.920 x2 2.180 0.139 15…

共分散行列からモデルを推定する

lavaanは共分散行列からもモデルの推定ができる。 http://lavaan.ugent.be/tutorial/cov.htmllavaan.ugent.be 例題はこの論文のようである。 https://www.jstor.org/stable/270754?seq=1 共分散行列を作成し、変数に名前をつける。 getCovコマンドを使用する…

Structural Equation Modeling with lavaan

Structural Equation Modeling with lavaan (English Edition)作者:Gana , Kamel,Broc , Guillaume発売日: 2018/12/31メディア: Kindle版 lavaanの本。驚くほど高い。 検索をかけているとシーク教の結婚式の情報が出てくる。 en.wikipedia.org あと、パンジ…