チラシの裏の落書き日記

統計とか,研究とか,日常についての備忘録的なもの。

Mplusのモンテカルロ・シミュレーションコマンド覚書1

「MONTECARLO:」コマンドを使った場合に一緒に利用するコマンド・オプションの一部を一覧にしておく。

GENERAL SPECIFICATIONS

「NAMES = y1-y10;」は変数名を指定するオプション。

「NOBSERVATIONS = 500;」はデータ生成と分析に利用するサンプルサイズを指定するオプション。

多母集団の場合には,「NOBSERVATIONS = 500 1000;」とするとグループ1は500人,グループ2は1000人という意味になる。
さらに,「NOBSERVATIONS = 2(100) 10(500);」とすると,サンプルサイズ100人のグループが2つ,500人のグループが10つとなる。

「NGROUPS = 3;」で3つの母集団を仮定する。NGROUPSはデフォルトでは1で,1の場合にはTYPE=MIXTUREが使用できない。
なお,グループ名はg1, g2, ...と自動で名前が振られる。
TYPE=MIXTUREとともに使う場合には,既知のクラス数を指定する。ラベル「%g#1%」がはじめの既知のクラス,「%g#2%」が2番目のクラスを表す。これらのクラスを用いて,モデルを指定する。

「NREPS =100;」はシミュレーションの反復回数を表す。デフォルトは1。

「SEED = 123;」は乱数生成をするときのシード。結果の再現をしたい場合にはきちんと指定する必要がある。デフォルトは0。

DATA GENERATION

「GENERATE」コマンドは,生成する従属変数のスケールを指定する。
その他,打ち切り(censored),2値(binary),順序カテゴリ(ordered categorical; ordinal),名義(nominal),カウント(count),time-to-event変数の生成が出来る。
例えば「GENERATE = u1-u2 (1) u3 (1 p) u4 (1 l) u5 u6 (2 p) y1 (ca 1) y2 (cbi 0) u7 (n 2) u8 (ci) t1 (s 5*1);」などのように利用する。カッコ内の文字の意味を以下に説明する。

打ち切り変数は,以上・以下,インフレーションを含む・含まない,形式で生成できる。
「y1(ca 0)」は打ち切り値0より上の値を打ち切る指定。
「y1(cb 0)」は打ち切り値0より下の値を打ち切る指定。
「y1(cai 0)」はinflationを伴って,打ち切り値0より上の値を打ち切る指定。
「y1(cbi 0)」はinflationを伴って,打ち切り値0より下の値を打ち切る指定。

カテゴリカル変数の指定は以下のように行う。
「y1(1 l )」は一文字目は数字のいち, 二文字目はローマ字小文字のエルである。これで,ロジスティックモデルによる2値のカテゴリカル変数の生成が出来る。
閾値の数はカテゴリ数マイナス1である。)
「y1(1 p )」はプロビットによる2値のカテゴリカル変数の生成が出来る。(2パラメタ正規累積モデル, two-parameter normal ogive model.)
もし,lやpの指定がない場合にはロジスティックモデルが使用される。
ちなみに,「y1(1 3pl )」や「y1(1 4pl)」とすると,3パラメタ,4パラメタロジスティックモデルを指定出来る。
順序カテゴリを生成する場合には,段階反応モデル(graded response model)と同じ比例オッズモデル(proportional odds model)が使用される。
「y1(3 gpcm)」を使うと閾値3つで一般化部分採点モデル(generalized partial credit model)に従うデータを生成出来る。
また,推定方法が重み付き最小自乗法(weighted least squares estimation)を使う場合,2値と順っ女カテゴリカル変数には,プロビットモデルのみが許容される。
「y1(3 n)」は切片数3(カテゴリ数4)の名義変数を生成出来る。最後のカテゴリがレファレンスカテゴリとして切片が0と固定される。

カウント変数としては,Poisson, zero-inflated Poisson, negative binomial , zero-inflated negative binomial, zero-truncated negative binomial, negativi binomial hurdleの6種類が利用できる。
「x(c)」あるいは,「x(p)」でPoisson,「x(ci)」「x(pi)」でzero-inflated Poissonが指定できる。
「x(nb)」でnegative binomial, 「x(nbi)」でzero-inflated negative binomial モデル,「x(nbt)」でzero-truncated negative binomial modelが指定できる。「x(nbh)」でnegativi binomial hurdleを指定できる。

Time-to-event変数を指定するためには,文字「s」とベースライハザード関数の時間間隔の長さの数を指定する。もし,文字「s」飲みが指定された場合には,観測数と同じ長さの間隔数が指定される。
例えば,「t1 (s 5*1)」は長さ1の5つの時点間隔がデータ生成に利用されることを意味する。

MODEL POPULATIONでは,打ち切り,カウント変数のinflation partは数1に続くナンバーサイン(#)変数の打ち切り・カウント変数の名前を追加することによって参照される。

CUTPOINTS

カテゴリカル独立変数を指定するために使用される。
例えば,「CUTPOINTS = x1(0) x2(1);」とすると,x1は0, x2は1をカットポイントを持つ。カットポイントより低い値は0,高い値は1となる。
多母集団分析では,記号「|」で区切って指定を行う。例えば,「CUTPOINTS = x1 (0) x2 ( 1) | x1 (1) x2 (0);」とすると,グループ1と2で異なったカットポイントを指定出来る。

GENCLASSES

「GENCLASSES」オプションはカテゴリカル潜在変数を生成するために使用される。このオプションは,TYPE = MIXUREとともに利用される。
例えば,「GENCLASSES = c1 (3) c2 (2) c3 (3);」とすると,c1, c2, c3という名前の3つのカテゴリカル潜在変数を生成する。c1は3,c2は2,c3は3つのクラスを持つことを示す。

「GENCLASSES = cb (2 b);」のように文字「b」を着けると,between-levenのカテゴリ潜在変数を指定出来る。この変数は「BETWEEN」オプションを使用するbetween-level変数として必ず指定されなければならない。

NCSIZES

「NCSIZES」は,TYPE=TWOLEVEL,TYPE=THREELEVEL,TYPE=CROSSCLASSIFIEDとともに使用されなければならない。
例えば,TYPE=TWOLEVELに対しては,「NCSIZES = 3;」はデータ生成で使用されるユニークなクラスターサイズ3を指定している。
多母集団の場合には,「NCSIZES = 3 | 2;」とすると,グループ1では3つのユニークなクラスター,グループ2では2つのユニークなクラスターを生成する。
TYPE=THREELEVELでは,学生はクラスにネストされており,クラスは学校にネストされている。例えば,「NCSIZES=3[2];」と指定される。3(レベル3,学校)と2(レベル2,クラス)はユニークなクラスサイズとしてデータ生成に使用される。
多母集団の場合には,「NCSIZES = 3 [2] | 4 [3];」とすると,グループ1(レベル3で3つ,レベル2で2つのユニークなクラスタ)とグループ2(レベル3で4つ,レベル2で3つのユニークなクラス)で異なったクラスターサイズを指定できる。

TYPE =CROSSCLASSIFIEDを指定した場合には,生徒は学校と地域にネストされる。この場合,レベル1は生徒,レベル2aは学校,レベル2bは地域となる。
ここで「NCSIZES = 3 [2];」とすると,3はレベル2a, 2はレベル2bに対応する。分析のタイプがTHREELEVELかCROSSCLASSIFIEDかによって,NCSIZESの指定の意味が異なることに注意。

CSIZES

CSIZESはクラスターとサイズを指定する。
TYPE = TWOLEVELでは,「CSIZES = 100 (10) 30 (5) 15 (1);」と指定すると,サイズ10のクラスタを100クラスター,サイズ5のクラスターを30, サイズ1のクラスターを15がデータ生成に使用される。
多母集団では,「CSIZES = 100 (10) 30 (5) 15 (1) | 80 (10) 20 (5);」とすると,グループごとにクラスサイズを別に指定できる。
TYPE=THREELEVELの場合,「CSIZES = 40 [15(2) 10(5)] 30 [6(8)] 7 [20(2)];」と指定する。このようにすると,レベル3のクラスタ数が40, 30, 7となる。さらに,レベル3が40のものに対して,レベル1が2で15このレベル2クラスターとレベル1が5でレベル2のクラスターサイズが10こ,データ生成に利用される。この場合,3200の観測が得られる。以下同様。
多母集団の場合は「CSIZES = 30 [6(8)] 7 [20(2)] | 40 [5(6)] 20 [4(2)] ;」とする。

TYPE=CROSSCLASSIFIEDの場合,「CSIZES = 40 [15(2) 10(5)] 30 [6(8)] 7 [20(2)];」とすると,レベル2bのクラスタ数は角括弧の外の数(40, 30, 7),レベル2aのクラスタ数は角括弧の中,()の外の数(15, 10, 30, 20)を示す。レベル1のサイズは()内の数となる。

HAZARDC

HAZARDCは連続時間の生存解析の打ち切りプロセスのハザードを指定するために使用される。
0が打ち切られていない,1が右側打ち切りである打ち切りインディケータを生成するために使われる。
例えば,「HAZARDC = t1 (.5);」ここで,「t1」はtime-to-event変数名,.5は打ち切りのハザードを示す。

MISSING DATA GENERATION

Missingの生成するためには,PATMISSとPATPROBSを利用する。
例えば,「PATMISS = y1 (.2) y2 (.3) y3 (.1) |
y2 (.2) y3 (.1) y4 (.3) |
y3 (.1) y4 (.3);」とすると3種類の欠測パタンを生成できる。
「PATPROBS = .4 | .3 | .3;」とすると,PATMISSで指定した3つの欠測パタンが生じる確率を指定する。

MISSINGオプションは,どの従属変数で,欠測データが生成されるかを指定する。このオプションはMODLE MISSINGコマンドと同時に使用される。
Missing dataに観測独立変数を指定することはできない。
例えば,「MISSING = y1 y2 u1;」と指定される。
MODEL MISSINGは以前の記事で説明したように,ロジスティック回帰モデルで欠測確率を指定する。

次の記事で紹介する予定?

気が向いたら,以下のものについても紹介します。

  • SCALE OF DEPENDENT VARIABLES FOR ANALYSIS
  • OPTIONS FOR DATA ANALYSIS
  • VARIABLES WITH SPECIAL FUNCTIONS FOR DATA GENERATION AND ANALYSIS
  • POPULATION, COVERAGE, AND STARTING VALUES
  • SAVING DATA AND RESULTS