あなたも興味があるかもしれません...
選択型コンジョイントにおける部分効用値の計算には、以下のアルゴリズムを使用します:
回答者の総数を R とし、個々の回答者を r = 1 ... R とします。
各回答者に提示されるタスク数を T とし、t = 1 ... T とします。
各タスク t には C 個の構成(コンセプト)があり、c = 1 ... C とします(通常、C は 3 または 4 です)。
属性の総数を A(a = 1 〜 A)、各属性 a が持つ水準数を La(l = 1 〜 La)とすると、特定属性・水準の組み合わせに対する部分効用値は w’(a,l) と表されます。ここでは、この部分効用値のジャグ配列を求めます。これは次のような要素を持つ1次元配列 w(s) に単純化できます:
{w’(1,1), w’(1,2) ... w’(1,L1), w’(2,1) ... w’(A,LA)} ※w は S 個の要素を持ちます
特定の構成 x は1次元配列 x(s) として表現され、特定の水準・属性が存在する場合は x(s) = 1、存在しない場合は 0 となります。
回答者 r のタスク t における c 番目の構成を Xrtc と表します。したがって、実験計画はサイズ R × T × C × S の4次元行列 X で表現されます。
回答者 r がタスク t で構成 c を選択した場合、Yrtc = 1 とし、それ以外は 0 とします。
特定の構成における効用 Ux は、その構成に含まれる属性・水準の部分効用値の合計、すなわち内積 x·w となります。
効用が U1 および U2 である2つの構成間の選択において、多項ロジットモデルでは、構成1が選択される確率を以下のように予測します:
EXP(U1) / (EXP(U1) + EXP(U2)) ※0から1の間の数値
N 個の構成からの選択において、構成1が選択される確率は以下の通りです:
EXP(U1) / (EXP(U1) + EXP(U2) + ... + EXP(UN))
多項ロジットモデルを用いた、回答者 r のタスク t における c 番目の構成の選択確率 Prtc は次のようになります:
Prtc = EXP(xrtc.w) / SUM(EXP(xrt1.w), EXP(xrt2.w), ... , EXP(xrtC.w))
対数尤度 LL は次のように計算されます:
Prtc は算出対象である部分効用ベクトル w の関数です。
対数尤度 LL の値を最大化するベクトル w を求めることで、部分効用ベクトルを算出します。ここでは S 個の変数を求めている点に注目してください。
これは多次元非線形連続最大化問題であり、標準的なソルバーライブラリが必要です。本システムではネルダー・ミード法を使用しています。
対数尤度関数は関数 LL(w, Y, X) として実装され、最大値を与えるベクトル w を求めるために最適化されます。回答データ Y と実験計画 X は与えられた定数として扱われます。ベクトル w の初期値は原点 0 に設定できます。
この機能は、次のライセンスで利用できます。