この記事では、Python言語とNumPyを用いて、母平均を点推定を求める方法をソースコード付きで解説します。
母平均の点推定
点推定とは、母集団の特性値(母平均・母分散など)を標本の特性値1つから推定することです。 母平均の点推定は、母集団から取り出した標本の平均値を計算するだけです。 点推定を何回も繰り返し、標本の平均値を複数回求めてその平均を取ってやれば、点推定で求めた母平均は本来の母平均の値に近づいていきます。 今回はそれを試してみました。
アルゴリズム
プログラムの処理手順は下記の通りです。 ①数値計算モジュール「NumPy」をインポートする。 ②サイズ100の母集団を生成する。 ③母集団からサイズ5のデータをランダムに取り出し、標本を生成する。 ④標本平均を計算する。 ⑤2-4の処理を100回繰り返す。 ⑥100個の標本平均の平均値を計算する。(母平均の推定) ⑦計算結果を表示する。
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*-
import numpy as np
def main():
# 母集団の生成
data = np.random.rand(50)
# 母平均の点推定
ave = np.ndarray([]) # 標本平均を格納する配列
# 点推定(100回繰り返し)
for i in range(100):
x = np.random.choice(data,5) # 母集団からサイズ5の標本を抽出
ave = np.append(ave, np.average(x)) # 標本平均を計算して配列に格納
mu = np.average(ave) # 100個の標本平均の平均値:母集団の推定平均値
# 結果を表示
print("点推定で求めた母平均:", mu) # 0.41236012518
print("実際の母平均:", np.average(data)) # 0.412642489611
if __name__ == '__main__':
main()

コメント