基本のジャックナイフ推定 - 平均
ジャックナイフ再標本化は古くからある手法で、ブートストラップほど頻繁には使われませんが、基本的な推定の進め方を知っておくと役に立ちます。最初の演習では、平均に対するジャックナイフ推定量を計算します。スパナ工場の例に戻りましょう。
あなたはスパナ工場を経営しており、製品が仕様を満たしているか確認するため、スパナの平均の長さを測定したいと考えています。工場では毎日何千本も生産しますが、すべての長さを測るのは現実的ではありません。一方で、代表性のある100本のサンプルは手元にあります。ジャックナイフ推定を使って平均の長さを求めてみましょう。
シェルで変数 wrench_lengths を確認してください。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
wrench_lengthsから1つずつ観測値を抜き取って除外する操作を繰り返し、ジャックナイフ標本を作成してjk_sampleに代入します。jk_sampleの平均を計算し、mean_lengthsに追加します。- 最後に、配列
mean_lengthsの平均をとり、ジャックナイフ推定量mean_lengths_jkを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Leave one observation out from wrench_lengths to get the jackknife sample and store the mean length
mean_lengths, n = [], len(wrench_lengths)
index = np.arange(n)
for i in range(n):
jk_sample = ____[index != i]
mean_lengths.append(____)
# The jackknife estimate is the mean of the mean lengths from each sample
mean_lengths_jk = ____(np.array(mean_lengths))
print("Jackknife estimate of the mean = {}".format(mean_lengths_jk))