第1回
第1回ハンズオン†
Pythonで確率分布を見てみよう†
- Pythonには,SciPyという強力な数値解析ライブラリがある.その中のstatパッケージを使えば,
様々な統計関数を簡単に利用できる
statsライブラリの基本的な使い方†
- まずはimportする
from scipy import stats
- 確率分布を定義する
変数名 = stats.分布(パラメータ)
- 離散型確率分布
- ベルヌーイ分布: stats.bernoulli(p=確率)
- 二項分布: stats.binom(n=個数, p=確率)
- ポワソン分布: stats.poisson(mu=平均)
- 連続型確率分布
- 正規分布: stats.norm(loc=平均, scale=標準偏差)
- 指数分布: stats.expon(scale=1/ラムダの値)
- 確率分布から確率関数 f_X(x)=P(X=x)の値を求める
変数名.pmf(xの値) #離散型の場合 probability mass function
変数名.pdf(xの値) #連続型の場合 probability density function
- 確率分布から分布関数 F_X(x)=P(X<=x))を求める
変数名.cdf(xの値) #cumulative distribution function
- 確率分布から分布関数 F_X(x)=P(X>x))を求める
変数名.sf(xの値) #survival function.1-変数名.cdf(x)に同じ
- 確率分布の下側パーセント点を求める
変数名.ppf(下側確率) #percent point function
- 確率分布の上側パーセント点を求める
変数名.isf(上側確率) #inverse survival function
- 確率分布に従った乱数を発生させる
変数名.rvs(size=個数) #random variates
例題:ポワソン分布†
神戸市における交通事故は1か月約350件と報告されている.この時,ポワソン分布を使って,以下の問いに答えなさい.
なお,1日あたりの平均件数λ=350/30としてよい.
- RQ1: 1日あたり10件の交通事故が発生する確率はいくらか?
- RQ2: 1日あたり3件未満に収まる確率はいくらか?
- RQ3: 上側5%点にあたるに件数はいくつか?
母集団に対する統計的推測をシミュレーションしてみよう†