0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

検定・推定時に使用するpythonのコード

Last updated at Posted at 2021-05-17

※随時更新

正規分布、標準正規分布

scipy.stats.norm

scipy.stats.norm.ppf

用途:100p%点を求め棄却域を調べるとき

ss.norm(0,1).ppf(0.95)
1.6448536269514722

scipy.stats.norm.cdf

Cumulative distribution function.

平均0、分散1と指定して標準正規分布を扱うことができる。
ss.norm(0,1).cdf(x=5.0)

1-ss.norm(0,1).cdf(x=5.0)でp値を求められる。

T分布

scipy.stats.t

scipy.stats.t.ppf

用途:100p%点の確認
print(ss.t(9).ppf(0.95))

scipy.stats.t.cdf(vals,df=)

用途:累積確率の確認

1 - ss.t.cdf(x=1.5811388300841895,df=9)

χ二乗分布

scipy.stats.chi2(df)

scipy.stats.chi2(df).ppf(q, df, loc=0, scale=1)

自由度nのχ二乗分布のパーセント点の出し方

1,2どっちの書き方でも同じ
1
ss.chi2(9).ppf(0.025) # 2.7003894999803584

2
from scipy.stats import chi2
df=1
# 下側から自由度1のχ二乗分布の累積確立95%点を求めた
chi2.ppf(0.95, df)

# 下側から自由度10のχ二乗分布の累積確立95%点を求めた
df=10
chi2.ppf(0.95, df)
>>> 18.307038053275146

scipy.stats.chi2.pdf(x、df、loc = 0、scale = 1)

確率密度関数
np.linspace使ってパーセント点の配列を求めて、それらのパーセント点に対して確率関数を出す。ちょっとだけめんどくさい。

fig, ax = plt.subplots(1, 1)
df = 10
x = np.linspace(chi2.ppf(0.01, df),
                chi2.ppf(0.99, df), 100)
ax.plot(x, chi2.pdf(x, df),
       'r-', alpha=0.7, label='chi2 pdf') # alpha = 

F分布

scipy.stats.f.pdf(x, dfn, dfd, loc=0, scale=1) # Probability density function.

用途:確率密度関数を確認したい時など

import scipy.stats as ss

d1 = 3
d2 = 100

x = np.linspace(-1,5, 1000)

plt.plot(x, ss.f(d1,d2).pdf(x), color="black")

plt.show()

scipy.stats.f.cdf(x, dfn, dfd, loc=0, scale=1) # Cumulative distribution function.

用途:自由度m,nのF分布に従う統計量F値のp値を確認したい時等

Cumulativeなので、F値以下が起こる確率の累積を計算する。なのでp値を求めたいときは
$$1-p(X≤F)$$

pval=1- ss.f.cdf(x = 10,  dfn=3, dfd=6) #x=p値,f値なのに引数がxなのが紛らわしいので注意
print(pval)
0.00947164803029854
0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?