Parscaleの上限

昨日から何をやっているって、パー助のプログラムなのだ。何度やってもうまくDIFモデルが回らない。

しかし、夜になってやっと原因らしきものを突き止めた。
後輩Mが第六因子だけ成功した、という連絡をしてきたので確認をしていたときのこと。ひょっとして、項目数が少なければ回るのか?と思ったので試してみた。

第一因子、25項目で回すと必ずエラーが出る。少し減らして、24項目データ+未使用データ1で分析してもダメ。しかし、23項目+未使用データ2という設定でやると回るんです!つまり、同じデータ、同じプログラムでも、項目数=ブロック数が増えると駄目なようだ。しかも、ダメになるときは、同じプログラムで23項目のときは読み取れるグループ名やグループ化変数の読み取りに失敗している。そこで失敗するので、実際のデータ読み取りにまで行かないのだ。
DIFモデルなので、23項目×2群=46ブロックなら問題ないようだ。24×2=48ブロックなら問題になるようだ。つまり、ブロック数には上限があるのだね。マニュアルのどこを見ても書いてないけどね。

ソフトが使うworkingメモリの設定欄があるので、ここを増やしてみたが、解決ならず。ということは、(まさかとは思うけど、いやさひょっとしたら)ブロック数で確保する配列の上限が48ぐらいにあるんではないだろうか。

ともかく、DIFモデルが回らないのは、パー助の限界だと思われ。
今後はMplusによるカテゴリカル因子分析モデルでアタリをつけてから、パー助に入るなどの工夫が要りそうです。