作業療法士のためのラッシュモデルと項目反応理論の解説
本記事では作業療法士のためのラッシュモデルと項目反応理論について解説します。
本題に入る前にお知らせです。私が代表を務めるThriver Projectでは、無料Webセミナーを開催しています。研究論文や研究計画書の書き方のコツを、わかりやすく丁寧に解説しています。この無料Webセミナーでは約300名以上の方が学んでおり、参加者からはたいへん好評を博しています。これらの書き方で悩んでいる方は、以下のリンクからアクセスしてください。皆さんの参加を心からお待ちしています。
【無料】IMRaDを使った研究論文の書き方講座【Webセミナー】 (thriver.one)
【無料】研究計画書の書き方講座【Webセミナー】 (thriver.one)
作業療法とラッシュモデル
作業療法系の国際学会や国際誌に尺度特性を検討した内容を投稿すると、「ラッシュモデルで検証しないのか?」と指摘されるケースがあります。
ラッシュモデルの特徴は、評価尺度の項目の難易度とその評価尺度で測定した対象者の能力値を別々に表現し、なおかつ測定の客観性を追求しているところにあります。
これはなかなかすごいことで、古典的なテスト理論では到底不可能でした。
それを支える設計思想は、常にモデル(理論)が正しく、それにあったデータを集めることが肝要だ、という考え方です。
つまり、ラッシュモデルはデータにモデルを合わせるのではなく、モデルにデータを合わせるという仕方で運用されるわけです。
作業療法界では、AMPSやESIなどの評価尺度の成功が、ラッシュモデルへの注目を高めるきっかけになりました。
AMPSなどのラッシュモデルで開発した評価尺度は本当によくできており、作業療法にひとつのイノベーションをもたらしました。
ともすれば、ラッシュモデルへの傾倒を感じさせる指摘は、この成功体験に影響を受けたものでしょう。
ラッシュモデルと項目反応理論の関係
作業療法界ではラッシュモデルほど使用されていませんが、これと類似した統計モデルに項目反応理論があります。
項目反応理論には1パラメータロジスティックモデル(PLM)、2PLM、3PLM、4PLM、5PLMなど他にもいろいろあります。
実は、ラッシュモデルと項目反応理論の1PLMと数学的に同型です。
これは数式を見た方が理解しやすいです。
ラッシュモデルは数式で以下のように表現できます。
P(θ) = 1 / 1 + exp (θ − b)
次に項目反応理論の1PLMは以下のように表現できます。
1PLM:P(θ) = 1 / 1 + exp (θ − b)
これをみると、ラッシュモデルと1PLMは数学的に同型であると理解できると思います。
ついでに、2PLM以上のモデルも示しますが、これらは1PLMを内包していることがわかります。
- 2PLM:P(θ) = 1 / 1 + exp (-a(θ − b))
- 3PLM:P(θ) = 1-c / 1 + exp (-a(θ − b))
- 4PLM:P(θ) = d-c / 1 + exp (-a(θ − b))
- 5PLM:P(θ) = d-c / (1 + exp (-a(θ − b)))e
ただ1PLMは、上位のモデルよりも推定するパラメータが少ないので、サンプルが小さくても安定した推定ができるという利点があります。
ラッシュモデルと項目反応理論の違い
では、ラッシュモデルと1PLM(項目反応理論)は同じかというと、実のところその設計思想は真逆です。
項目反応理論は、データにモデルを合わせる統計モデルだからです。
つまり、項目反応理論はラッシュモデルのように、常にモデル(理論)が正しいという前提を置かず、データにあわせて最適なモデルを組もうとする考え方に支えられているのです。
これは、ぼくたち作業療法士の素朴な感覚によくフィットすると思います。
作業療法士はプラグマティックな専門職なので、自分たちのモデルが常に正しいと考えず、実際の現象(データ)にあわせて柔軟に対応することに親しんでいるからです。
とまれ、項目反応理論とラッシュモデルは類似しているけども、その背景にある哲学が大きく異なるという点を理解しておいていただけたらと思います。
Stanで階層ラッシュモデル
ではラッシュモデルはどうやったら実行できるのでしょうか。
ラッシュモデルと一言で表しても、普通のラッシュモデルからAMPSなどで使ってる多相ラッシュモデルまで実にいろいろあります。
簡単な方法は、RのeRmパッケージの実行です。
でもそれだと面白くないので、ここでは、最近、ぼくのなかで流行しているStanを使った階層ラッシュモデルを紹介します。
基本的に以下のサイトのStanコードを習作しただけですので、詳しくはこれらの資料をご覧ください(ぼくの理解が間違っていたらご指摘ください)。
階層ラッシュモデルのStanコードは以下の通りです。
階層ベイズモデルは、事後分布=尤度×事前分布×階層事前分布で表せます。
Stanコードでいうと、19行目から22行目が階層事前分布、23行目と24行目が事前分布、26行目から29行目が尤度にあたります。
次にシミュレーションデータの作成と階層ラッシュモデルの実行です。
結果は以下です。
きちんと推定できていることがわかります。
Stanについては以下の書籍からどうぞです。