| オープンMX | |
|---|---|
![]() | |
| パラダイム | 構造方程式モデリング |
| デザイン: | OpenMXチーム |
| 開発者 | OpenMx開発コアチーム |
| 初登場 | 2010年[ 1 ] |
| 安定版リリース | 2.19.8 [2] / 2021年9月24日 ( 2021-09-24 ) |
| プレビューリリース | ベータ版 / 2017年7月19日 ( 2017-07-19 ) |
| タイピングの規律 | 動的 |
| OS | クロスプラットフォーム |
| ライセンス | Apacheライセンス、バージョン2.0 |
| Webサイト | openmx.ssri.psu.edu |
| 影響を受けた | |
| Mx、R | |
| 影響を受けた | |
| metaSEM ; simsem および semTools、Onyx、umx ヘルパーライブラリ | |
OpenMxは、拡張構造方程式モデリングのためのオープンソースプログラムです。Rのパッケージとして動作します。クロスプラットフォームで、Linux、Mac OS、Windowsで動作します。[ 2 ]
OpenMxは、 SEMモデルの迅速かつ柔軟な実装と推定をサポートするR関数と最適化ライブラリで構成されています。モデルは、生データ( FIMLモデリングを使用)または相関行列または共分散行列に基づいて推定できます。モデルは連続データと順序データの混合を扱うことができます。現在のバージョンはOpenMx 2 [ 3 ]で、 CRANで入手可能です。
パス分析、確証的因子分析、潜在成長モデル、媒介分析がすべて実装されています。複数グループモデルも容易に実装できます。モデルを実行するとモデルが返され、モデルを更新できます(パスの追加と削除、制約と等式の追加、パラメータに同じラベルを付与することで等式化)。革新的な点として、ラベルを他のパラメータのアドレスで構成できるため、アドレスによるパラメータの制約を簡単に実装できます。
RAMモデルは、標準化推定値と生の推定値に加え、様々な適合指標(AIC、RMSEA、TLI、CFIなど)を返します。信頼区間はロバストに推定されます。
このプログラムには、R の並列環境へのリンクを介して並列処理が組み込まれており、一般的に R プログラミング環境を活用します。
ユーザーは関数を追加してパッケージを拡張できます。これらの関数は、例えば修正インデックスの実装などに使用されています。
モデルは「パス」形式または「行列」形式で記述できます。パスモデルで考える場合、パスは mxPath() を用いて記述します。行列代数による記述の方が適しているモデルの場合は、R 環境の同様の関数拡張、例えば mxMatrix や mxAlgebra を用いて記述します。
以下のコードは、OpenMxでパス形式または行列形式を用いて、シンプルな確証的因子分析を実装する方法を示しています。モデルは以下のとおりです。

以下は、5 つの指標を持つ 1 因子パス モデルを推定するための実装、実行、および概要を出力するコードです。
require ( OpenMx ) data ( demoOneFactor ) manifests <- names ( demoOneFactor ) latents <- c ( "G" )m1 <- mxModel ( "One Factor" 、type = "RAM" 、manifestVars = manifests 、latentVars = latents 、mxPath ( from = latents 、to = manifests )、mxPath ( from = manifests 、arrows = 2 )、mxPath ( from = latents 、arrows = 2 、free = FALSE 、values = 1.0 )、mxData ( cov ( demoOneFactor )、type = "cov" 、numObs = 500 ) ) summary ( mxRun ( m1 ))以下は、5 つの指標を持つ 1 因子パス モデルを推定するための実装、実行、および概要を出力するコードです。
ライブラリ( OpenMx )データ( demoOneFactor ) df = cov ( demoOneFactor )m1 <- mxModel ( "One Factor" 、mxMatrix ( "Full" 、nrow = 5 、ncol = 1 、values = 0.2 、free = TRUE 、name = "A" )、mxMatrix ( "Symm" 、nrow = 1 、ncol = 1 、values = 1.0 、free = FALSE 、name = "L" )、mxMatrix ( "Diag" 、nrow = 5 、ncol = 5 、values = 1.0 、free = TRUE 、name = "U" )、mxAlgebra ( A %*% L %*% t ( A ) + U 、name = "R" )、mxExpectationNormal ( covariance = "R" 、dimnames = names ( demoOneFactor ))、mxFitFunctionML ()、mxData ( df 、type = "cov" ) , numObs = 500 ) )サマリー( mxRun ( m1 ))