Up

Pythonサンプルプログラム

以下のウェブサイトのプログラムは、自由に御利用下さい。

ダウンロードしたファイルをJupyterで利用する方法の説明ウェブサイトも用意した。

 

はじめてのPython

初めてPythonを使う場合のPythonの簡単な準備について説明した。

なお、岡本安晴データを使いこなすための統計入門22世紀アートウェブサイトには、本書に合わせたPythonサンプルプログラムを用意している。

 

Stan(PyStan)の準備と使用

確率プログラミングでベイズ分析を行うソフトPyStanPythonStan)のインストールと簡単な使用例

 

簡単な統計と描画プログラム例

1変量および2変量の場合の簡単な統計量(平均値、分散、標準偏差、相関係数)を

算出するPythonプログラムを作成してみた。

ヒストグラムと散布図についてもmatplotlibを利用して簡単なサンプルプログラムを作成した。

データはテキストファイル入出力のサンプルプログラムを用意した。

ファイル入出力の説明は、<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版>の第3章「ファイル入出力」で行っている。

統計計算のPythonスクリプト例は、<岡本安晴「データを使いこなすための統計入門」22世紀アート>のウェブサイトにも用意している。

 

グラフ描画プログラム例

棒グラフ、円グラフ、折れ線グラフ、ヒストグラムなどの描画プログラムを作ってみた。

 

グラフ描画のより詳しい説明は、<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版>の第2章「グラフ描画」で行っている。

 

箱図、バイオリン図、カーネル密度推定図

箱図(Box plot)、バイオリン図(Violin plot)、カーネル密度推定図(Kernel density estimate plot)などを描いてみた。

 

PythonとExcel

Excelファイルの読み書きをPythonでやってみた。

 

統計計算とPythonオブジェクトプログラミング

統計計算(データ分析)プログラムでオブジェクト(クラス型)を使ってみた。

 

クロス表の作成

クロス表の作成とその列あるいは行の入れ換えの簡単なスクリプト例を示す。

 

Pythonで親しむデータ分析と確率モデル

統計学の基本的な事柄を、Pythonプログラミングによる例を示しながら説明している。

 

P値と事後分布

帰無仮説検定のp値とベイズ分析の事後分布を比較してみた。

 

平均および分散の計算スクリプトさまざま

リストとnumpyの配列の違いを少し説明してみるとともに、平均および分散を計算するスクリプトをいくつか書いてみた。

 

文字列の分割

テキストファイルとして用意されたデータは、1行に複数の項目が書かれていることが普通である。

1行のデータは文字列であるが、文字列から区切り文字で区切られた部分文字列を取り出すプログラムを作成してみた。

 

数値計算

Pythonのライブラリを用いた簡単な数値計算サンプルスクリプトを書いてみた。

 

Pythonによる心理学データ分析と測定

心理学におけるデータ分析および測定のPythonサンプルスクリプトを用意した。

 

主成分分析と回転

多変量データの主要な傾向を記述する方法として主成分分析がある。

主成分分析を低次元空間への正射影と考え、射影された空間での適切な座標系の選択方法として回転を位置付ける。

 

長周期乱数のPythonプログラム例

合同式を用いる乱数はPythonで簡単に記述できる。

LEcuyerらの方法をPythonで書いてみた。

プログラムは、ウェブサイトを用意して上げておいた。

 

共通数量化

調査などの質問項目の回答はカテゴリデータであることが多い。

カテゴリ変数を数量化すれば、量的変数の分析法が使える。

また、数量化された変数と量的変数を一緒に分析することもできる。

この数量化のためのPythonプログラムのウェブサイトを用意した。

数量化による分析例については、以下のウェブサイト

http://y-okamoto-psy1949.la.coocan.jp/booksetc/TwoStepQA/

http://y-okamoto-psy1949.la.coocan.jp/booksetc/TwoStepCmnQExmpl/PrgsExpln/

http://y-okamoto-psy1949.la.coocan.jp/booksetc/jwu_2016_2015/

も参照されたい。

 

マルチプロセスによるMCMC

ベイズ統計分析におけるMCMC法の複数のマルコフ鎖をマルチプロセスによって

同時に実行するPythonプログラムを書いてみた。

 

閾値(JND)と主観的等価点(PSE

2件法(2カテゴリ強制選択)、3件法(わからない/等しい判断を許す)

および4件法(たぶん〜判断を許す)のデータから閾値などをベイズ的に

求めるプログラムを作成してみた。マルチプロセッシングを利用している。

 

参照によるオブジェクトの連結

変数が参照であることを利用して、オブジェクトを連結するプログラム例を作成した。

これは、C/C++ではポインタを使って実装されていることに対応している。

 

Stanの利用

Python用のStanPyStanを使ってみた。例は1変量データに正規分布モデルを適用するもの、および

2変量データに多変量正規分布モデルを適用するものの2例を用意した。

 

Stanサンプリング途中経過の表示

ベイズ分析において事後分布の推定を行うStanMCMCサンプリングが

長時間掛かるとき、サンプリングの途中経過が見たくなる。

サンプリングの途中経過の表示法について説明する。

 

PyMC3の簡単なサンプルスクリプト例

Pythonベイズ分析のためのライブラリの1つとしてPyMC3がある。

PyMC3を用いたベイズ分析の簡単なサンプルスクリプトを幾つか用意してみた。

 

新型コロナウィルスワクチンの効果

新型コロナウィルスに対するワクチンの効果を2項分布を用いてベイズ分析してみた。

Stan (PyStan)版とPyMC3版の2つを作成してみた。

 

新型コロナウィルスPCR検査結果の統計学的信頼性

PCR検査の結果が陰性(ウイルス検出されずという結果)であるときの

ウィルスに感染している確率は、検査対象集団における感染者の比率に応じて大きく変わる。

この「検査結果が陰性であるときの感染確率」を、検査対象集団における感染者の比率の関数として描いてみた。

感染者の比率が100%であれば、検査結果が陰性でも感染確率は100%であり、

感染者の比率が0%であれば、検査結果が陰性のときの感染確率は0%である。」

 

男女の出生率(Laplaceの例)

Laplaceの例に対して、2項分布によるベイズ分析を行ってみた。

 

Pythonプログラミングいろいろ

Pythonプログラミング備忘録として用意したサイトである。

 

Python雑記

Pythonについてのいろいろ備忘録である。

 

Up