今回は米の重さのサンプルデータから
母平均の信頼区間を求めてみました
解説動画はこちら
VIVANT
ドラマでは200人程度の人数分を提供していたと見られ
その中からランダムサンプリングされた10皿のデータが
描かれていました

手での配給なのでばらつくよと犯人
150gの米は、炊くと2.2倍の330gになるらしい・・・
このデータから本来推定される
母集団の平均の信頼区間を求めてみましょう
信頼区間を求める
母集団の平均が分からない時に
サンプルデータから母集団を推定する方法です
計算方法としては次のような式があります

次の手順で求めてみましょう
必要なものはサンプルの平均値と不偏分散
統計量tの値となります
1.標本平均と不偏分散をもとめる
Pythonではこう言った計算を行うための
ライブラリが用意されています
読みこんでおいて、お米もデータ化しておきます
平均は次のように求められます
分散は偏差の2乗の合計値を個数で割った値です
不偏分散は個数の代わりに 個数-1 で割ります
不偏分散は stats.tvar で求める事ができます
ライブラリなしでも
不偏分散は求める事ができます
2.統計量tを計算する
統計量tは
今回は信頼度95%(0.95)で行ってみるとして
他に自由度が必要です
自由度は 個数-1 で求められます
2.2622157
3.信頼区間を推定する
先ほどの式に求めた値を当てはめてみましょう
下限の値は サンプルの平均 - 統計量t * 平方根(不偏分散/個数)
上限の値は サンプルの平均 + 統計量t * 平方根(不偏分散/個数)
これが95%の信頼区間となります
99%区間はもう少し広くなります
実測から求めた母平均の信頼区間が
おそよ 296g - 303g なので
平均330gになるように米をよそったら
この値には到達しないですね
1割減の300g平均でよそったと見るべきでしょう
不正はバレバレですね
このあたりの追求はまるで
「半沢直樹」のようでした
まとめ
是非覚えてみて下さい
それでは
母平均の信頼区間を求めてみました
解説動画はこちら
VIVANT
TBSの日曜9時のドラマ「VIVANT」の第8話
日本の秘密組織とされる別班メンバーである
主人公「乃木」がテロ組織「テント」に潜入
テントの活動を調査している最中に
支援団体の給食提供シーンがあり
支援団体の給食提供シーンがあり
一人当たり「150gの米」を炊いて提供
しかし主人公は違和感を抱いた・・・
この違和感が正しいのかどうか
検証してみましょう
米の重さ
検証してみましょう
米の重さ
ドラマでは200人程度の人数分を提供していたと見られ
その中からランダムサンプリングされた10皿のデータが
描かれていました

手での配給なのでばらつくよと犯人
150gの米は、炊くと2.2倍の330gになるらしい・・・
このデータから本来推定される
母集団の平均の信頼区間を求めてみましょう
信頼区間を求める
母集団の平均が分からない時に
サンプルデータから母集団を推定する方法です
計算方法としては次のような式があります

次の手順で求めてみましょう
1.標本平均と不偏分散をもとめる
2.統計量tを計算する
3.信頼区間を推定する
必要なものはサンプルの平均値と不偏分散
統計量tの値となります
1.標本平均と不偏分散をもとめる
Pythonではこう言った計算を行うための
ライブラリが用意されています
読みこんでおいて、お米もデータ化しておきます
import math from scipy import stats # 米の重さ kome = [302,296,298,304,300,301,303,305,295,297]
平均は次のように求められます
# 標本平均 (合計 / 個数) mean = sum(kome) / len(kome) print(mean)300.1
分散は偏差の2乗の合計値を個数で割った値です
不偏分散は個数の代わりに 個数-1 で割ります
不偏分散は stats.tvar で求める事ができます
# 不偏分散( 偏差の二乗の合計 / (個数-1) ) var = stats.tvar(kome ) print(var)12.1
ライブラリなしでも
不偏分散は求める事ができます
# 不偏分散( 偏差の二乗の合計 / (個数-1) ) sum([(c - mean)**2 for c in kome]) /(len(kome) - 1)
2.統計量tを計算する
統計量tは
stats.t.interval(信頼度, df=自由度) で求める事ができます
今回は信頼度95%(0.95)で行ってみるとして
他に自由度が必要です
自由度は 個数-1 で求められます
#自由度(個数 - 1) dof = len(kome) - 1 print(dof) # stats.t.interval(0.95, df=9) _ , t = stats.t.interval(0.95, df=dof) print(t)9
2.2622157
3.信頼区間を推定する
先ほどの式に求めた値を当てはめてみましょう
下限の値は サンプルの平均 - 統計量t * 平方根(不偏分散/個数)
上限の値は サンプルの平均 + 統計量t * 平方根(不偏分散/個数)
bottom = mean - t * math.sqrt(var/len(kome)) up = mean + t * math.sqrt(var/len(kome)) print(bottom) print(up)
297.61162
302.58837
これが95%の信頼区間となります
99%区間はもう少し広くなります
実測から求めた母平均の信頼区間が
おそよ 296g - 303g なので
平均330gになるように米をよそったら
この値には到達しないですね
1割減の300g平均でよそったと見るべきでしょう
不正はバレバレですね
このあたりの追求はまるで
「半沢直樹」のようでした
まとめ
Scipyモジュール を使うと
色々な統計分析を行う事ができます
色々な統計分析を行う事ができます
検査とかで誤差が正しいのかどうかを
検証できたりもするのですごく便利です
検証できたりもするのですごく便利です
Pythonを使えばこういう分析も
簡単に行えるので、スキルアップには丁度良いですよ
簡単に行えるので、スキルアップには丁度良いですよ
是非覚えてみて下さい
それでは
コメントする