中央値のジャックナイフ信頼区間
この演習では、標準的でない推定量に対してジャックナイフによる95%信頼区間(CI)を計算します。ここでは中央値を扱います。ジャックナイフ推定量の分散は、元の標本の観測数を n とすると、各ジャックナイフ標本からの個々の推定値の分散に n-1 を掛けたものになることに注意してください。
レンチ工場の例に戻り、レンチの長さの中央値とその95% CIを推定して、規格内に収まっているか確認したいとします。
前の演習のコードを、今回は中央値という文脈で復習しましょう。演習の最後には、標準的でない推定量に対してジャックナイフ再標本化を使って信頼区間を計算する方法が、よりよく理解できるようになります。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
- 各ジャックナイフ標本の中央値を
median_lengthsに追加します。 median_lengthのジャックナイフ推定の平均を計算し、jk_median_lengthに代入します。1.96*np.sqrt(jk_var)を用いて、中央値の95%上側信頼区間jk_upper_ciと95%下側信頼区間jk_lower_ciを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Leave one observation out to get the jackknife sample and store the median length
median_lengths = []
for i in range(n):
jk_sample = wrench_lengths[index != i]
median_lengths.append(____)
median_lengths = np.array(median_lengths)
# Calculate jackknife estimate and it's variance
jk_median_length = ____
jk_var = (n-1)*np.var(median_lengths)
# Assuming normality, calculate lower and upper 95% confidence intervals
jk_lower_ci = jk_median_length - ____
jk_upper_ci = jk_median_length + ____
print("Jackknife 95% CI lower = {}, upper = {}".format(jk_lower_ci, jk_upper_ci))