Python

Python/Scipyで母平均の信頼区間を計算しよう(母分散:未知)

今回は母平均の信頼区間推定(母分散:未知バージョン)をPythonでやってみたいと思います。

前回のこちらの記事では、母分散:既知でやりましたが、今回は未知のパターンになります。

 

母分散:未知の場合の母平均信頼区間の復習

まずは母平均の信頼区間について復習しておきましょう。

母分散:未知という通り、母平均の信頼区間を推定するときは、その母集団の確率分布の分散が既知か未知かでやり方が異なりますね。

 

そもそも信頼区間推定とは

タイトルにも「母平均の信頼区間の計算」と書いていますが、考えてみるとよくわからない表現だと思います。

何のデータを元に何を推定したいのかよくわからないですよね。

ちゃんと表現しておくと、「ある母集団がありその一部の標本からその母集団の平均を推定する」ということです。

なのでこの区間推定では、「母集団からの標本」を対象にするということを理解しておく必要があります。

この記事を読めば、Pythonを使って信頼区間推定の計算はできるようになりますが、そもそもその問題背景・問題設定を理解していないと意味がありませんので注意しましょう。

あと、信頼区間では95%信頼区間などをよく使いますが、この95%信頼区間というのは平均が95%の確率でその区間に入るというわけではありません。

ベイズ信用区間などはこの考えでいいのですが、95%信頼区間といった場合には、
「母集団から標本を取り、その平均から95%信頼区間を計算する作業を100回行ったときに、95回はその区間の中に母平均が含まれるということ」です。
(統計WEB参照→https://bellcurve.jp/statistics/course/8891.html)

母平均は一つですが、標本によってはデータが変わり推定区間が変わるので、このような解釈になると思えばよいです。

 

Scipyによる母平均の信頼区間推定(母分散:未知)

では、実際にScipyを使って母平均の信頼区間推定を行っていきましょう。

前回は母分散:既知だったので、標準正規分布を使って区間推定を行いましたが、今回は母分散:未知です。

この場合は分散を不偏分散を用いて標準誤差: σ/√nを計算しないといけないので、このσを不偏標準偏差sに置き換えて、s/√nで計算を行います。

この分布はt分布に従うことがわかっているので、まとめると母分散:未知の場合は上記のような標準誤差を用いてt分布でいかのように区間推定できます。

[μ − t(n-1) * s/√n, μ + t(n-1) * s/√n]

ここでt(n-1)は自由度n-1のt値です。

信頼区間の%や両側・片側で値は変わってきますので、状況によって選びましょう。

 

例題

では、以下の例題をやってみましょう。

「ある学校の1年生200人からランダムに10人選んだときに、国語のテストの点数は、平均:68点、不偏分散:300であった。このとき、学年の国語の点数の95%信頼区間を求めよ。ただし、点数は正規分布に従うとする。」

 

Scipyコード

上記の問題をやってみます。

状況として、ある学校の1年生という母集団から10サンプル(標本:X1~X10まで)抽出したときに、その標本分布を用いて平均国語の点数の95%信頼区間を求めます。

今回は母集団の母分散がわかっていませんが、標本から不偏分散を計算したときに不偏分散は300だったとわかっているとします。

今は不偏分散を与えていますが、簡単に標本から計算できます。

そしてt分布を用いて次のようなコードを書けば、信頼区間を求めることができます。


コードの簡単な解説をしましょう。

まず、t分布を用いるのでscipy.statsからtをimportします。

標本のサンプル数は10なのでn=10、自由度はn-1=9です。

そして、t.intervalに必要な信頼区間の値や標本平均、標準誤差、自由度を入れると信頼区間の上下の値を返してくれます。

簡単ですね!

では一応、手計算でも簡単なので検算してみましょう。

今回の信頼区間は、

[μ − 2.262 * s/√n, μ + 2.262 * s/√n] = [μ − 2.262 * sqrt(300/10), μ + 2.262 * sqrt(300/10)]

となりますので、これを計算するとちゃんと正しいことがわかります。

ちなみに2.262という値は自由度9のt分布の両側2.5%点のt値です。

手計算でもできますがscipyで計算できると簡単で便利ですね!

おすすめ記事

1

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

2

お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...

3

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

-Python

Copyright© さとぶろぐ , 2024 All Rights Reserved Powered by AFFINGER5.