Web
Analytics

【心理学向け】プログラミングと統計解析のおススメソフト

こんにちは。

先日こんな内容のツイートがありました。

心理学の実験でプログラミングをしないといけないのですが、おススメの言語やソフトウェアはありますか?

 

確かに心理学の実験をするためにはプログラミングは重要です。そしてその後の統計解析も心理学には必要です。そこで今回はどういうサービスが心理学向けにおススメなのか?を回答していきます。

 

本記事は心理学部の人など「プログラミングとか面倒!ムリ」という人向けに書いています。

 

 

プログラミングと心理学の関係性

臨床系では使う機会が少ないようですが、基礎系では「刺激(図とか)を提示してそれに対する反応を見る」というタイプの実験を行うことがよくあります。

これらの実験では「刺激の繰り返し」「刺激提示順序のランダム化」「反応時間の計測」を正しく行う必要がありますが、もはや手作業ではムリです。

そのため現在の卒論ではプログラミングによる自動化が必須の技術になりつつあります。

プログラミング

プログラミングが大事なのはわかりますが、心理学部生の中には苦手な人も多いはず。ここでは、比較的楽に学習出来て知り合いでも多くの方が使っている言語とソフトウェアをまとめてみました。

Python

今をときめくプログラミング言語。アプリ作成から機械学習まで幅広く使える汎用性が強みです。もちろん参考書もたくさんあります。私の周囲ではPythonを使って心理学実験を作る人は少ないですが、工学系ではPythonで実験を構築する人も多かったです。

優れた汎用性とデータサイエンスへの強みがあることから、機械学習エンジニアにはほぼ必須の言語でもあります。

私も技術系で応募した企業の面接でPythonのスキルを問われました。心理学出身者が専門を活かしてIT系に就職したいならPython習得はコスパの良い対策と言えます。

Psychopy

Pythonを使って心理学の実験を作るためのソフトウェアです。実験作成ソフトはたぶん他にもありますが、大きな特徴が2つあります。

  • 無料
  • GUI*1なのでプログラミングなしで実験を作れる
  • 裏でPythonを書けばより細かい操作が可能

特にプログラミングなしで実験を作れるのが大きな特徴。完全無料なのも学生にはありがたいですね。

注意

知名度が低い為、企業では使えないことも多そうなのが難点。

まだまだ参考書は少ないですが、こちらのサイトがPsychopyによる心理学実験の方法について解説してくれています。

私の出身校だけでなく、心理系の学会で他大の方とお話をしていてもPsychopyはとても人気です。50%近いシェアがありそうな気がする...

なお、最近になって参考書を探してたところ心理学実験にPsychopyを使おう!という触れ込みで新しい本が見つかりました。そもそもプログラミング初心者向けには解説が丁寧ではないなどの課題はあるものの、類書が少ない為紹介します。

統計処理

心理学では大量のデータを収集しますが、その際に統計処理が必須。そして分析の前には外れ値や欠損値の処理といった前処理が必要です。そしてこの前処理が結構面倒。

ここでは前処理や実際の分析を担当してくれるものを解説してみました。オススメのマクロとRは一覧表で比較できるようまとめています。

VBAマクロ(Excelによる前処理)

Microsoft系のプログラミング言語()です。分析のための前処理はRやPythonでもできますが、これらにはない特徴があります。それは必要最低限のプログラミングで動かせること。RやPythonは開発環境の整備から始まり、習得にそこそこ時間のかかるプログラミングが必須です。

RならRコマンダー(Rcmdrのパッケージ)を導入してプログラミングを回避できますが、使い勝手があまり良くないです。

もちろんExcelのVBAマクロはプログラミングが必須ですが、RやPythonほど頑張らなくてもそれなりに前処理ができます*2

実際のコードの書き方はこちらの本を参考にしてください。私も購入しましたが、解説が丁寧でとても分かりやすい本でした。繰り返し構文などの基本的なものだけでなく、ピボットテーブルの自動作成など 中級者向けの内容もあります。

R

  • フリーソフト
  • 最新の解析法も使える
  • 開発環境であるR Studioも無料
  • 心理学系向けの参考書も多数

の4点セットが揃うのが強み。プログラミングが必要な言語ですが、Rcmdr(Rコマンダー)というパッケージを使えばプログラミングを回避しつつ、統計解析ができます。

また,分散分析など心理学でよく使う分析であればパッケージ(例えば井関先生のANOVA君など)を用いることでプログラミングの負担を大幅にできます。

注意

前処理も可能ですが、GUIではない為見やすさはイマイチ。Excelで前処理→Rで解析の流れを個人的には推します。

SPSS

IBM系の統計分析ソフトウェアです。お値段が高いもののサポートが充実しているのが強み。また大学生や院生の場合,アカデミックパッケージによって無料で使うことも可能です*3

値段は高いですがそこそこ参考書もあります。私の出身校ではないですが、他の大学だとSPSSを用いた統計解析の授業があるところもあり、大学における学習環境が比較的恵まれているのも魅力。

プログラミングをすることなく解析が可能ですが、表示を改善したり詳細な操作が必要な時はシンタックスでコードを書く必要があります。

HAD

関学大の清水先生が開発した統計分析ソフト(?)です。Excelベースなので無償で導入することが可能ですし、2要因ANOVAを始めとした心理学でよく使う統計手法は一通り揃えています。

個人的には結構おススメなサービスなので解説記事を書いてみました。詳しくはこちらの記事をどうぞ。

まずはとりあえず触ってみよう

今回いくつかソフトや言語を紹介してみましたが、まずは触ってみることが大事です。SPSSのように有料のものもありますが、Rのように無料で使えるモノも多いです。大学を卒業してからは教えてくれる人も減るので、学生時代の今のうちに使い始めてみてはどうでしょうか。

こういった手法を活用することは大学院に進学するにしても、企業に就職するにしても意外に役に立つスキルだと思います。

*1:グラフィカルユーザインタフェースの略、コマンドではなくクリックなどで操作していきます

*2:もとから開発環境が整備されているのが魅力

*3:卒業後は使えなくなります