読了: 合崎・西村 (2007) 選択型コンジョイント分析の実験計画作成とパラメータ推定

合崎英男・西村和志 (2007) データ解析環境Rによる選択型コンジョイント分析入門. 農村工学研究所技報, 206, 151-173,

 選択型コンジョイント分析の実験計画作成・パラメータ推定についての手順解説。前に目を通していたのだけれど、このたび仕事の都合で選択型コンジョイント分析の実験計画作成について考えていて、メモを書いたりしていた関係で、ついでに再読した。
 第1著者の先生はこの後、選択型コンジョイント分析のRパッケージsupport.CEを公開し、日本語・英語で数多くの解説を書いておられるので、こんなに古いのを読むのは良くないのかもしれないけれど…

 いくつか気がついた点をメモしておく。

  • 実験計画の作成について。以前目を通したときは見落としていたのだが、ここで提案されている手順は、本文には明記されていないけど最適計画アプローチなのである。てっきりLouviere & Woodworthのアプローチみたく、Addelman計画をどうにか変形する話かと思っていた。なお、脚注でHuber & Zwerina(1996 JMR), Zwerina, Huber, & Kuhfeld (1996 SAS Tech.Support)がreferされている。
  • パラメータ推定にはsurvival::clogit()を使っている。

 実験計画の作り方は次の通り。例として、3属性、4x2x2水準、8試行、2選択肢とする。

  • 完全実施要因計画をつくる。4x2x2=16行になる。
  • 試行数ぶんの行を抜き出した部分実施要因計画をつくる、よく読むと、AlgDesign::optFederov()で8行と指定すると書いてある。おいおい、まじか、それってD-最適計画じゃん。
  • これをコピーして2個つくる。cs1, cs2と呼ぶ。ただいま各8行。
  • それぞれ行順をランダマイズする。cs1は選択肢1, cs2は選択肢2とし、それぞれ上から順に、試行1, 2, …, 8とする。
  • 試行内でプロファイルがダブったらやりなおす。

 ううむ。この手順はcbcTools::cbc_design(method = ‘dopt’)ととほぼ同じだ。cbcToolsとのちがいは試行重複をチェックしていない点である。いま、optFederov()が返した部分実施要因計画の行にプロファイル番号1,2,…,8を振ったとして、ランダマイズ後のcs1が上から1,2,…, cs2が上から2, 1, … となったとしますね。試行1はプロファイル(1,2)、試行2はプロファイル(2,1)となる。試行1と2は同じプロファイル集合の選択課題になってしまう。これはちょっとまずくないでしょうか。