Pythonと心理学研究
データ分析・シミュレーションなど
サンプルスクリプトは、利用者の責任において、自由に御利用下さい。
岡本安晴
心理学研究においてデータ分析やシミュレーションなどを行うのに現在(2023.11)は主にPythonを使っている。研究では、いろいろなプログラムを開発するが、そこで作成したプログラムの内、備忘録を用意しておきたいと思うサイトを用意した。C++のウェブサイトも別に用意している。
備忘録として始めた本サイトであるが、これからPythonを使い始める人の参考になるかと思い、Python準備の簡単な説明ウェブサイトも作成してみた。
利用したいライブラリの関係でPythonの最新版以外のバージョンを使用したいことがある。また、何らかの原因でPythonの動作が不安定になることがある。Anacondaを利用して複数の仮想環境を用意しておくとよい。AnacondaでのPythonインストールを、このウェブサイトで説明している。
Pythonプログラミングにおける標準入出力の簡単な使用例を別のウェブサイトに用意した。
また、これまでに作成したサンプルプログラムを以下のサイトに分けて載せている。
なお、これらのウェブサイトのサンプルスクリプトでは、パッケージ(ライブラリ/モジュール)numpy, pandas, matplotlib, scipyを利用しているものが多い。これらのインストールは
pip install
numpy pandas matplotlib scipy
とpipコマンドで行うことができる。
パッケージのインストールは、<パッケージのインストール>で説明している。
ベイズ分析のためのパッケージPyStan(Python用Stan)があるが、PyStanについてはこのウェブサイトで説明している。
Pythonをはじめて使うという人のための簡単な説明を、以下に用意した。
なお、グラフ描画、ファイル入出力、多変量解析、ベイズ分析のプログラミングの説明を拙著<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版>で行っている。
統計入門用のPythonスクリプト例のウェブサイトも用意した。
統計分析のPythonスクリプト入門のウェブサイトも用意している。
AnacondaでJupyter Notebookを始める簡単な説明のウェブサイトも用意した。
Pythonの開発環境としてJupyter Notebookがあるが、本ウェブサイトからダウンロードしたプログラムのJupyterでの使用例のウェブサイトも用意した。このサイトでは、簡単な仮想環境とJupyterのインストールについても説明している。ただし、説明されている方法は、Anacondaをインストールして、Anacondaの仮想環境においてJupyterをインストールする方法とは別の方法であるので注意されたい。
Jupyter間のプログラムの簡単なコピー・貼り付け法についてのウェブサイトも用意している。
なお、Anacondaをインストールせずに直接pipコマンドでJupyter Notebookをインストールすることもできる。Pythonの他のライブラリと同様に
pip install
jupyter
とpipコマンドを実行すればよい。
その後、コマンド
jupyter notebook
を実行すると、Jupyter Notebookが起動する。このとき、ディレクトリをプログラミングを行うディレクトリかそれを含むディレクトリに移動してから、Jupyter Notebookを起動する必要がある。起動したJupyter Notebookにおいては、起動時のディレクトリ(フォルダ)以下しか見ることができない。ディレクトリの移動は、コマンドcdで出来るが、このウェブサイトで簡単に説明している。
Anacondaの仮想環境におけるPyStanやPyMC3のWindowsあるいはCentOS 8での使用についてのウェブサイトも用意している。
Pythonを仮想環境で使うときは、端末での操作も必要になるが、最小限pythonコマンドとcdコマンドの2つが使えれば十分である。これらの簡単な説明のウェブサイトも用意した。
はじめてのPython
Jupyterでのプログラミングは、別のウェブサイトで説明している。
Windowsの場合とubuntuの場合について説明する。まず、Windowsの場合について説明し、その後、ubuntuの場合について説明するという順序を繰り返す。CentOS Streamの場合は、基本的にubuntuの場合と同じである。
インストールと基本的使い方
まず、インストールについて説明し、その後、使い方について説明する。
インストール
Windowsパソコンの場合(Ubuntu/CentOS Streamの場合はこちら)
Pythonは、ウェブサイト
からダウンロード・インストールできる。Windowsパソコンの場合のPythonインストールは、このウェブサイトを参照されたい。
Pythonの最新版以外のバージョンをインストールする方法の説明のウェブサイトも用意した。最新版より1つ前のバージョンの方が、使えるライブラリ(モジュール、パッケージ)が多いことが期待できる。最新版がPython 3.12であれば、その1つ前のバージョンはPython 3.11のバージョンで、Python 3.11の中で最新のものを選ぶ。同じバージョン内であれば、最新のものの方が安定していて対応しているモジュールも多いと考えられる。
Pythonのインストール後、スタートメニュを表示すると、図A.1のようになっている。
図A.1
「IDLE」を選んでクリックする。IDLEはPythonの統合開発環境(Integrated Development and Learning Environment)である。IDLEが起動すると、図A.2のウィンドウが表示される。
図A.2
「>>>」の右側に、実行するスクリプトを入力する。Pythonで実行するコードあるいはプログラムはスクリプトと呼ぶ。スクリプトの入力は、コンソール端末あるいはメモ帳などの普通のエディタの場合と同じ要領である。入力位置は、カーソル(図A.2の場合は縦線|)の点滅で示されている。式「1 + 2」を入力した状態が図A.3に示されている。
図A.3
実行させるスクリプトの入力後、Enterキーを押すと、スクリプトが実行される。図A.3の場合は、式「1 + 2」の計算が行われる。実行後、計算結果が表示され、「>>>」が表示されて次のスクリプト入力待ちになる(図A.4)。
図A.4
次に実行するスクリプトがあれば、それを入力すればよいが、IDLEを終了するときは、「exit()」と入力する(図A.5)。
図A.5
IDLEを本当に終了(kill)するのかどうか、確認フォームが表示される(図A.6)。
図A.6
「OK」ボタンをクリックすると終了になる。
Ubuntuの場合(CentOS Streamの場合も同様)
すでにインストールされているPythonとの競合を避けるため、AnacondaをインストールしてPython仮想環境を利用するのが安全である。
Anacondaは、ウェブサイト
https://www.anaconda.com/download
からインストーラをダウンロードできる。詳しくは、このウェブサイトを参照されたい。
2つの使い方、インタラクティブ モード(interactive mode)とスクリプト モード(script mode)がある。スクリプトをコンソール画面において入力しながら実行する場合がインタラクティブ モードであり、実行するスクリプト全体をファイルとして用意して、ファイルに書かれたスクリプトを実行するのがスクリプト モードである。Pythonで実行するプログラムあるいはコードはスクリプトと呼ぶ。以下に、それぞれのモードでの使い方をWindowsとUbuntu/CentOS Streamの場合について説明する。
Windowsの場合(Ubuntu/CentOS Streamの場合はこちら)
インタラクティブ モード
まず、PythonのIDLEによる場合を説明する。IDLEを起動するためにスタートメニューの項目「IDLE (Python 3.6 32-bit)」を選ぶ(図C.1)。
図C.1
IDLEのウィンドウが表示される(図C.2)。
図C.2
スクリプト、例えば「a = 1」と入力する(図C.3)。
図C.3
これは、変数aに1を入力するというものである。変数aを左辺に書くことにより、aは自動的に用意される。「a = 1」と入力してからEnterキーを押すと、入力したスクリプトが実行され、「>>>」が表示されて次の入力待ちとなる(図C.4)。
図C.4
変数aの値を表示するために、変数名aのみを入力する(図C.5)。
図C.5
「a」 と入力して、Enterキーを押すと、aの値が表示される(図C.6)。
図C.6
変数aに加えて、新しく変数bに値2を設定する(図C.7)。
図C.7
変数の和「a + b」を求めるスクリプトを実行すると、その値が表示される。しかし、和を変数sumに代入する式「sum = a + b」の実行の場合は、sumへの代入が実行されるだけで、変数sumの値は表示されない。表示させるために関数printを用いる。スクリプト「print(‘a + b = ‘, sum)」を実行すると、「a + b = 」に続けてsumの値が表示される。文字列は、引用符 ‘ で囲んで表す。関数printで表示するものは、コンマ , で区切って並べる。文字列はそのまま表示され、数値を表す変数はその値を表す文字列が表示される。
IDLEの終了は、関数exit()を実行すればよい(図C.8)。
図C.8
IDLEのウィンドウの右上角のX印をクリックしてもウィンドウが閉じられて終了となる。
インタラクティブ モードはコンソール端末からでも利用できる。コンソール端末は、Windows PowerShellが使い易い。スタートメニューから「Windows PowerShell」を選ぶ(図C.9)。
図C.9
PowerShellのウィンドウが表示されるので(図C.10)、コマンド「Python」を実行するとインタラクティブ モードになり、入力プロンプト「>>>」が表示される。
図C.10
スクリプトを入力すると実行される。これは、上で説明したIDLEの場合と同じである。関数exit()の実行でインタラクティブ モードの終了となる。
スクリプト モード
スクリプト モードでは、ファイルに格納されたスクリプトが実行されるので、実行したいスクリプトを格納したファイルを用意する必要がある。ファイルは、適当なエディタで作成すればよいが、Windowsの場合はIDLEによる方法が便利である。新しくスクリプトを格納したファイルを用意するときは、IDLEを起動して、メニュー項目「File|New File」を選ぶ(図D.1)。
図D.1
新規ファイルの編集用ウィンドウが左上に「untilted」と書かれて表示される(図D.2)。
図D.2
このファイルを、名前を付けて保存する。メニュー項目「File|Save As…」を選ぶ(図D.3)。
図D.3
「名前を付けて保存」ダイアログウィンドウが表示されるので、適当な名前を付けて保存する(図D.4)。
図D.4
ファイル拡張子は「.py」である。エディタ ウィンドウ内に実行するスクリプトを入力する(図D.5)。
図D.5
入力が終われば、メニュー項目「Run|Run Module」を選ぶ(図D.6)。
図D.6
作成した(あるいは、エディタで変更した)ファイルの保存を行わずに実行しようとしたため、ファイルの保存確認のメッセージ ボックスが表示される(図D.7)。
図D.7
「OK」ボタンをクリックすると、保存後、実行される。メニュー項目「Run|Run Module」を選ぶ前に、スクリプトを入力したファイルを保存しておけば、図D.7のメッセージボックスによる確認は行われずに実行される。また、既存のファイルを開いて編集後、保存せずに実行すると古いファイルが実行されるので注意。ファイルを編集したら、必ず保存してから実行する。スクリプトの実行が始まると、IDLEのウィンドウ(図D.1)に出力が表示される(図D.8)。
図D.8
スクリプト モードのときは、変数名を「a」と書くだけ(図D.5の2行目)では、変数の値は表示されない。表示するときは、関数printを用いる。図D.8の出力では、図D.5の2つのprint関数「print(‘a = ‘, a, ‘ b = ‘, b)」と「print(‘a + b = ‘, a + b)」によって変数aとbの値、および式a + bの値が表示されている。
IDLEを終了するときは、ウィンドウ右上角のX印をクリックするか、メニュー項目「File|Exit」を選べばよい。
コンソール端末でスクリプト モードを使うときは、コマンドpythonにパラメータとして実行するスクリプトの格納されたファイル名を付けてコマンドpythonを実行すればよい。例えば、コンソール端末としてWindows PowerShellを使った場合は図D.9のようになる。
図D.9
コンソール端末を起動してから、実行するスクリプトファイルの置かれているディレクトリ(フォルダ)に移動する。図D.9では、図D.5のファイルSample.pyの置かれているディレクトリに移り、コマンドcatによって、中身を表示して確認している。スクリプトファイルSample.pyを実行するために、pythonコマンドを
python Sample.py
と実行している。一般的には、
python スクリプトファイル名
である。コマンドpythonによりスクリプトファイルが実行されることが、コンソールでの出力に示されている。
AnacondaをインストールしてPythonを使う場合は、UbuntuもCentOS Streamも同様である。まず、インタラクティブ モードの説明を行い、その後、スクリプト モードの説明を行う。
インタラクティブ モード
コンソール端末で「python」とコマンドを入力すると、インタラクティブ モードになる(図E.1)。
図E.1
インタラクティブ モードでの使い方は、Windowsの端末での使い方(図C.10)と同じである。Ubuntuでの使用例(図E.2)とWindowsでの使用例(図C.10)を比較されたい。
図E.2
スクリプト モード
この場合も、Windowsでのコンソール端末での使い方と同じである。まず、実行するスクリプトのファイルを作成する。比較のために、Windows用に作成したファイル(図D.5)と同じ内容のファイルSample.pyを作成した(図F.1)。
図F.1
スクリプトファイルの置かれているフォルダ―に移って、「python Sample.py」とコマンドを入力するとスクリプトが実行される(図F.2)。
図F.2
Windowsの場合の実行(図D.8)と同じであることが確認できる。
Pythonには、目的に応じたいろいろな機能がパッケージとしてまとめられている。グラフ描画用パッケージmatplotlib、数値計算用パッケージnumpyなどいろいろなものがある。インストールは、Pythonをインストールするとコマンドpipもインストールされるので、これを用いる。Anacondaの場合は当該の仮想環境においてコマンドcondaを用いるが、コマンドcondaでインストールできないときはコマンドpipでインストールできる場合がある。Windowsの場合とUbuntuの場合に分けて説明する
Windowsにおけるパッケージのインストール(Ubuntu/CentOS Steamの場合はこちら)
コマンドpipを使うために管理者権限でコンソール端末を起動する。スタートメニュー項目「Windows PowerShell」をマウスの右ボタンでクリックして表示される項目から「管理者として実行する」を選ぶ(図G.1)。
図G.1
「このアプリがデバイスに変更を加えることを許可しますか?」というメッセージのダイアログボックスが表示されるので、「はい」ボタンをクリックする。PowerShellが管理者権限で起動される(図G.2)。
図G.2
コマンドを
pip install
matplotlib numpy
と実行すると、matplotlibとnumpyがインストールされる。コマンドpipの使用の一般形は
pip install パッケージの並び
である。
Ubuntu/CentOS Streamにおけるパッケージのインストール
Anacondaの仮想環境におけるパッケージのインストールは、このウェブサイトなどを参考にされたい。
Pythonによるデータ分析の解説書
岡本安晴「いまさら聞けないPythonでデータ分析―多変量解析,ベイズ統計分析(PyStan,PyMC)―」丸善出版
を上梓した。
心理学データ分析の解説書
のPythonスクリプト例をウェブサイト
に上げている。