検出の精神測定関数
検出の閾値(detection threshold)を求めるための適応的方法(psi method)を用いた実験のプログラムと、検出実験データから精神測定関数(心理測定関数、psychometric function)を求め、検出の閾値を算出するプログラムを作成した。このページの前半で検出実験のプログラムの説明を、後半で検出データの分析プログラムの説明を行う。
検出実験プログラム
実験は、図1のように青色の正方形の中心に描かれた少し明るい青色の小正方形の検出(見えるかどうか)を調べるものである。
図1
青色の正方形は、第1インタバルと第2インタバルの2回提示されるが、中央に小正方形が描かれている正方形は第1インタバルか第2インタバルのいずれかで提示される。小正方形が描かれているパターンが提示されなかったインタバルでは、図2の一様に同じ青色である正方形のパターンが提示される。
図2
観察者は、小正方形が提示されたのが第1インタバルであるのか、第2インタバルであるのかの選択を行う。強制2選択肢課題(two alternative forced-choice task: 2AFC task)である。青色のパターンの明るさは、RGBの値で
FromArgb( 0,
0, V )
と設定している。背景となっている正方形では
であり、は0〜50の範囲の値をとる一様乱数である。ピクセル単位ごとにランダムにVの値によって青色の明るさを設定している。小正方形の明るさは
として、dの値を1, 2, … からいずれかの値を選んで明るさの度合いを調整している。小正方形が第1インタバルで提示されるか、第2インタバルで提示されるかはランダムに乱数によって決められている。dの値は、psi 法(Kontsevich & Tyler, 1999;岡本安晴「計量心理学」培風館、2006、65-68参照)により適応的に与えられる。
実験プログラムは、プログラム名ExpDetect2b.exeをクリックしてダウンロード・実行することができる。プログラムのソースコードファイルなどは圧縮ファイルとしてまとめた。圧縮ファイル名ExpDetect2b.zipをクリックしてダウンロードした後、ダウンロードしたファイル名をマウスの右ボタンでクリックして表示されるメニュから解凍操作を選ぶ。解凍したファイルは、Visual C++ 2013で開くことができる。
プログラムを実行すると、まず図3のフォームが表示される。「GO」ボタンのクリックで実験が始まる。
図3
「GO」ボタンのクリックで、まず「計算中」というメッセージのフォームがしばらく表示された後、図4のフォームとなる。
図4
中央に「1/210」とあるのは、総試行数210試行における第1試行であることを表している。「提示」ボタンのクリックで、図1と図2のパターンが試行ごとに設定された順序で提示され、その後、図5のフォームになる。
図5
第1インタバルで小正方形が提示されたと思ったときは上の「1番目にあり」ボタンを、第2インタバルで小正方形が提示されたと思ったときは下の「2番目にあり」ボタンをクリックする。このボタンのクリックで図6のフォームが表示され、第2試行に進む。
図6
第2試行以降も、第1試行と同様である。210試行が終了すると、実験終了のメッセージが表示され、実験についてのコメントを記入するフォームが提示される(図7)。
図7
コメントの記入後、「Close」ボタンをクリックすると、実験データなどを書き出すファイル名の設定を求めるダイアログ・フォームが表示される。ファイルはテキストファイルとして出力されるので、ファイル名の拡張子は「.txt」としておく。出力用ファイル名の設定を行って、プログラムは終了する。書き出された出力ファイルのデータは、次節の分析プログラムで処理することができる。
上の検出実験で得られたデータは、分析用プログラムAnalDetect2.exeで分析することができる。このプログラムは、プログラム名AnalDetect2.exeをクリックしてダウンロード・実行することができる。プログラムのソースコードファイルなどは、圧縮ファイルとしてまとめた。圧縮ファイル名AnalDetect2.zipをクリックしてダウンロードした後、ファイル名をマウスの右ボタンでクリックするなどして解凍する。解凍したプログラムファイルはVisual C++ 2013で開くことができる。
分析のための精神測定関数(psychometric function; PF)を
と設定した。式(1)は、high-threshold theoryの下では以下のように解釈される。
いま、小円の明るさがであるときの検出確率を
とおく。検出されなかったときに、観察者がたまたま正しく検出反応を行う確率をとおく。このとき、正反応の確率は
で与えられる。High-threshold theoryは、現在では不適切な理論であるとされている。しかし、式(1)は、記述式として最もよく用いられているものである(Kingdom and Prins, 2010, p. 80)ので、ここでも記述式として採用する。但し、式(1)は、Kingdomら(2010)の式(4.2a)あるいは式(4.2b)においてlapseパラメタあるいはを0とおいたものであるが、lapseパラメタは観察者のうっかりミスの確率であると解釈されるものである。本ウェブサイトの検出実験の場合は、観察者自身が「提示」ボタンをクリックした後に刺激が提示されるので、lapseパラメタは0とおいて、観察者のうっかりミスは無視できるものとしている。
検出確率をの関数として表す精神測定関数(心理測定関数)として、ワイブル分布(Weibull distribution)を用いた。すなわち、
とおいた。検出確率の精神測定関数にワイブル分布を用いることの理論的説明がGreen & Luce (1975) によって与えられていることは、<岡本安晴「計量心理学」培風館、2006、p. 84>で指摘されている。
検出実験データに対して、式(1)および(2)のパラメータを、プログラムAnalDetect2.exeではベイズ的にMCMCにより推定している。詳しくは、本書「心理学データ分析と測定」の「第11章 感覚の違いを測る」を参照されたい。また、ベイズ的分析法については、<岡本安晴「計量心理学」、培風館、2006、「付録H ベイズ的アプローチ」>でも説明している。
プログラムAnalDetect2.exeを実行すると、図8のフォームが表示される。
図8
「GO」ボタンのクリックで、入力データファイル名の設定を求めるダイアログ・フォームが表示される(図9)。
図9
入力データファイル名は、上の検出実験の出力データファイル名を設定する。図9で設定されているデータは、本書「心理学データ分析と測定」の表11.2.1(DataTable1121.txt)のものである。
入力データファイル名の設定後、「開く」ボタンをクリックする。次に、出力データファイル名の設定を求めるダイアログフォームが表示される(図10)。
図10
出力データファイルは、計算結果などがテキストファイルとして出力されるものである。ファイル拡張子「.txt」を付けたテキストファイル名を設定して、「保存」ボタンをクリックすると、計算が始まる。計算中は、計算途中であることを示すウィンドウが4個表示されるが、これは4本のスレッドで計算していることを示すものである。計算が終了すると図11のフォームになる。
図11
分析の途中なので、描かれているグラフは不完全である。フォーム左上のボタン「Param_p」「Param_a」「Param_b」(図12)をクリックすると、パラメタp、a、bの事後分布が描かれる(図13、図14、図15)。
図12
図13
図14
図15
3つのボタンのすべてをクリックした後、「PFs」ボタンがイネーブルになる。このとき、「PFs」ボタンをクリックすると、検出確率の精神測定関数が表示される(図16)。
図16
実験では、第1インタバルに小円が提示される系列1(Ser.1;青色)と第2インタバルに小円が提示される系列2(Ser.2;緑色)の2系列が用いられているが、各系列に対する結果が色別で表示されている。破線がデータの値であり、実線の曲線が式(1)の値である。データは横軸(あるいはの値)が1以上のときのものであるので、データ値は1から右側が描かれている。式(2)は赤線で表されている。検出の閾値は、式(2)の値を0.5にするものとして与えられている。
Kingdom and Prins (2010)では、閾値(threshold)が関数の位置パラメータで与えられているが、をワイブル分布(式(2))で与えた場合、この値はパラメータの値であり、このとき関数の値は、
となる。位置パラメータの値に対する関数値は、正規分布とロジスティック分布の場合、0.5である。関数形によって位置パラメータの値に対する関数値が異なるので、ここでは逆に関数値0.5に対する値として閾値(threshold)を求めた。
図16の系列1(Ser. 1)の理論曲線(青色の曲線)がデータの曲線(青色の破線)から横軸の値が4のところ()で著しくずれているように見えるが、これはデータ数の違いによる。に対するデータ数は7個であるが、に対するデータ数は23個、に対するデータ数は19個である。理論曲線には、これらのデータ数の違いが反映されている。このデータ数の違いは、Psi法が観察者の反応に応じて提示刺激値を選ぶという適応的方法であることによる。
図13から図16までのグラフの画像は、「Save」ボタンのクリックで保存することができる。
「Close」ボタンのクリックで、プログラムの実行終了となる。
Visual C++プログラミングの入門書として<岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房、2010>を上梓した。
引用文献
Kingdom, F. A. A. and Prins, N. (2010). Psychophysics: A practical introduction. Academic Press.