[fpr 3856] Pickle, Stan, Python

Yasuharu Okamoto


 岡本@日本女子大学心理学科です。

Pickleを用いると、Stanを利用するPythonスクリプトの開発向上に
著しい効果があることを実感しました。Pickle利用の簡単な例を
http://y-okamoto-psy1949.la.coocan.jp/Python/misc/Pickle_Stan/
に上げておきました。

Pickleを使うようになった、使わざるを得なくなった事情を
一応、説明しておきたいと思います。

Stanを使う切っ掛けは、信号検出理論の評定法データの分析プログラムを
用意することでした。信号検出理論のデータは「Yes/No」の2件法が
標準ですが、これは効率が悪いと思います。評定法を取り入れると
データ収集の効率が上がりますが、この分析プログラムをC++で開発した
ものは既に
http://y-okamoto-psy1949.la.coocan.jp/booksetc/pm2010/SDT/
に公開しております。C++は心理学ではあまり歓迎されないようですので
Pythonで開発したものを用意して
http://y-okamoto-psy1949.la.coocan.jp/Python/misc/SDT/
に公開した次第です。Stanスクリプトは簡明なものだと思いました。
Psyhophysicsの弁別データの分析もC++で開発したものは
http://y-okamoto-psy1949.la.coocan.jp/VCpp/adapupdown/
などに公開しておりますが、Stanで書くと簡単になりました。モデルの
考え方としては、多値項目(polytomous item)の項目反応理論のモデルと
似ているので、多値項目分析のStanスクリプトを書いてみると簡単なものに
なりました。2値項目(binary item)の分析プログラムとともにそれぞれ
多値項目
http://y-okamoto-psy1949.la.coocan.jp/Python/misc/IRTpol/
2値項目
http://y-okamoto-psy1949.la.coocan.jp/Python/misc/IRTbin/
に上げてあります。この項目反応理論のStanスクリプトの実行に意外と
時間が掛かったのでPickleを使ってみた次第です。Stanスクリプトの
コンパイル・ビルドに時間が掛かる場合、サンプリングに時間が掛かる
場合には、pickleでモデルあるいはサンプリング結果を保存すると、
Stanスクリプトが一応できた後(Stanスクリプトは簡単に出来上がると
思います)は、Pythonによる分析と分析結果の表示スクリプトの開発
ですので、Stanスクリプトの処理に煩わされずにプログラミングが
できます。

横浜市在住
岡本安晴






スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。