こんにちは。
先日こんな内容のツイートがありました。
心理学の実験でプログラミングをしないといけないのですが、おススメの言語やソフトウェアはありますか?
確かに心理学の実験をするためにはプログラミングは重要です。そしてその後の統計解析も心理学には必要です。
というわけで今回はどういうサービスが心理学向けにおススメなのか?を回答していきます。
プログラミングと心理学ってなんの関係があるの?
臨床系では使う機会が少ないようですが、基礎系では「刺激(図とか)を提示してそれに対する反応を見る」というタイプの実験を行うことがよくあります。
こういう実験では「刺激の繰り返し」「刺激提示順序のランダマイズ」「反応時間の計測」を正しく行う必要がありますが、もはや人の手作業ではムリです。
そんなわけで、現在の卒論ではプログラミングがほぼ必須の技術になりつつあります。
プログラミング
プログラミングが大事なのはわかりますが、文系出身者が多い心理学部生だと苦手な人も多いはず。ここでは、比較的楽に学習出来て知り合いでも多くの方が使っている言語とソフトウェアをまとめてみました。
Python
今をときめくプログラミング言語。アプリケーション作成から機械学習まで幅広く利用可能な汎用性が強みです。もちろん参考書もたくさんあります。私の周囲でも、先輩方でPythonを使って実験を作る人は多かったです。
その高い汎用性とデータサイエンスへの強みがあることから、機械学習エンジニアにはほぼ必須になっている言語でもあります。
心理学を活かして理系就職したい場合、プログラミングスキルはとても大事です。私も技術系で応募した企業の面接でプログラミングスキルを問われました。
Psychopy
Pythonの言語を使って心理学の実験を作るためのソフトウェアです。実験作成ソフトはたぶん他にもありますが、大きな特徴が2つあります。
- 無料である
- GUI*1なのでプログラミングをしなくても実験作成可能
- 裏でPythonを直接書くことでさらに細かい操作が可能
特にプログラミングをしなくても実験作成ができるのは大きな特徴です。完全無料なので企業に就職後もこのソフトで実験を作ることができます。ただ、知名度が低いようで自社で使っている人を見たことがないですが...
まだまだ参考書は少ないですが、こちらのサイトがPsychopyによる心理学実験の方法について解説してくれています。
なお、学生時代の研究室で参考書を探してみたところ心理学実験にPsychopyを使おう!という触れ込みで次のような本が見つかりました。解説に使われているのが現行では使われなくなりつつあるPython2系であることや,そもそもプログラミング初心者向けには解説が丁寧ではないなどの課題はあるものの、類書が全くないため紹介します。詳しくはamazonのリンク先でご覧ください。
統計処理
ここでは前処理から実際の分析までやってくれる方法を解説してみました。
VBAマクロ(Excelによる前処理)
もちろんExcelのVBAマクロはプログラミングが必須ですが、RやPythonに比べて少ないプログラミングでそれなりに便利な解析ができます*2。
R
プログラミングが必要な言語ですが、Rcmdr(Rコマンダー)というパッケージを使えばプログラミングをなるべく回避しつつ、統計解析ができます。
SPSSと異なりフリーソフトであるため最新の分析手法や特殊なパス解析なども多数実装されているのも大きな魅力です。
また,分散分析など心理学でよく使う分析であればパッケージ(例えば井関先生のANOVA君など)を用いることでプログラミングの負担を大幅にできます。
SPSS
値段は高いですがそこそこ参考書もあります。私の出身校ではないですが、他の大学だとSPSSを用いた統計解析の授業があるところもあり、大学における学習環境が比較的恵まれているのも魅力。
プログラミングをすることなく解析が可能ですが、表示を改善したり詳細な操作が必要な時はシンタックスを使うことで可能になります。
HAD
清水先生が開発した統計分析ソフト(?)です。Excelをベースにしているため、無償で導入することが可能ですし、2要因ANOVAを始めとした心理学でよく使う統計手法は一通り揃えています。個人的には結構おススメなサービスなので解説記事を書いてみました。詳しくはこちらの記事をどうぞ。
まずはとりあえず触ってみよう
今回いくつかソフトや言語を紹介してみましたが、まずは触ってみることが大事です。SPSSのように有料のものもありますが、Rのように無料で使えるモノも多いです。大学を卒業してからは教えてくれる人も減るので、学生時代の今のうちに使い始めてみてはどうでしょうか。こういった手法を活用することは大学院に進学するにしても、企業に就職するにしても意外に役に立つスキルだと思います。