Pythonにおけるブートストラップサンプリング

これはPythonにおけるブートストラップサンプリングのチュートリアルです。このチュートリアルでは、ブートストラップとは何かを学び、それを実装する方法を見ていきます。

始めましょう。 (Hajimemashou.)

ブートストラップサンプリングとは何ですか?

ブートストラップサンプリングの定義は次の通りです。

統計学において、ブートストラップサンプリングは、データソースからのサンプルデータを再帰的に復元抽出し、母集団のパラメータを推定する方法です。

基本的には、ブートストラップサンプリングとは、集団内のすべてのデータポイントを個々に考慮せずに、平均などのパラメータを全集団について推定するための手法である。

人口全体を見る代わりに、同じ大きさの複数の部分集合を人口から抽出して参照します。

例えば、人口の大きさが1000人である場合、全ての1000エントリーを考慮する代わりに、4人ずつのサンプルを50回抽出し、各サンプルの平均値を計算することができます。これにより、ランダムに選ばれた200個のエントリーの平均値を取ることができます。

市場調査員が大規模な人口を対象に調査を行う際には、同様の戦略が使用されます。

PythonでBootstrap Samplingを実装する方法は何ですか?

これから、Pythonでブートストラップサンプリングを実装する方法を見てみましょう。

私たちは、あらかじめ決められた平均値を持つランダムなデータを生成します。それにはPythonのNumPyモジュールを使用します。

必要なモジュールをインポートしてみましょう。

1. 必要なモジュールをインポートしてください。

必要なモジュールは以下のとおりです:

  • Numpy
  • Random

これらのモジュールをインポートするには、以下のように使用します:

import numpy as np
import random

次のステップでは、いくつかのランダムデータを生成する必要があります。それにはNumpyモジュールを使用しましょう。

2. ランダムなデータを生成する。

平均が300でエントリーが1000の正規分布を生成しましょう。

それに関するコードは以下で示されています。

x = np.random.normal(loc= 300.0, size=1000)

このデータの平均を計算することができます。

print (np.mean(x))

出力:

300.01293472373254

人口の実際の意味であることに注意してください。 (Jinkō no jissai no imi de aru koto ni chūi shite kudasai.)

3. 平均値を推定するためにブートストラップサンプリングを使用する。

「平均を推定するために、4つのサンプルを含む50個のサンプルを作成しましょう。」

それを行うためのコードは次の通りです:

sample_mean = []

for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

リストsample_meanには、50個のサンプルの平均が含まれます。母集団の平均を推定するためには、sample_meanの平均を計算する必要があります。

それは使っていただけます。

print(np.mean(sample_mean))

結果:

300.07261467146867

もし、この節のコードを再実行すれば、異なる出力結果が得られます。それは、コードを実行するたびに新しいサンプルが生成されるためです。ただし、出力結果は常に真の平均値(300)に近いものになります。

このセクションで再度コードを実行すると、以下の出力が得られます。

299.99137705245636

もう一度実行すると、次の結果が得られます。

300.13411004148315

Pythonでブートストラップサンプリングを実装するための完全なコードを作成してください。

このチュートリアルの完全なコードはこちらです。

import numpy as np
import random

x = np.random.normal(loc= 300.0, size=1000)
print(np.mean(x))

sample_mean = []
for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

print(np.mean(sample_mean))

結論

今回のチュートリアルは、Pythonにおけるブートストラップサンプリングについてでした。私たちは、より小さなサンプルを作成することで、母集団の平均を推定する方法を学びました。これは、オーバーフィッティングを避けるために、機械学習の世界で非常に役立つものです。私たちと一緒に学んで楽しんでいただけたら嬉しいです!

コメントを残す 0

Your email address will not be published. Required fields are marked *