b 値の計算
b 値は、ある地域の地震活動を表す一般的な指標です。地震データを扱う場面では、この値を繰り返し計算することになるでしょう。こうした頻繁に行う処理には、関数を作成しておくのが最善です。シグネチャ b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) を持つ関数を作成してください。この関数は、マグニチュードのセット mags に対して b 値と(n_reps が None でない場合は)その信頼区間を返します。完全性閾値は mt で与えられます。キーワード引数 perc は信頼区間の下限・上限のパーセンタイルを指定し、n_reps は信頼区間の計算に使用するブートストラップ複製の数です。
この演習はコースの一部です
統計的思考 ケーススタディ
演習の手順
- シグネチャ
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)を持つ関数を次のように定義しましょう。- ブールインデックスを使って、
magsから完全性閾値mt以上のマグニチュードを抽出し、変数mに格納します。 - b 値の最良推定値を計算します。最良推定値の式は b = (m - mt)·ln(10) であることを思い出してください。結果を変数
bに格納します。 n_repsが None でない場合、以下を実行します。mの平均のブートストラップ複製をn_reps個生成し、変数m_bs_repsに格納します。mの平均のブートストラップ複製を b 値の複製に変換し、b_bs_repsに格納します。- b 値のブートストラップ複製から信頼区間を計算し、
conf_intに格納します。
bとconf_intを返します。n_repsがNoneの場合はbのみを返します。
- ブールインデックスを使って、
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
____ ____:
"""Compute the b-value and optionally its confidence interval."""
# Extract magnitudes above completeness threshold: m
m = ____[____ >= ____]
# Compute b-value: b
b = ____
# Draw bootstrap replicates
if n_reps is None:
return b
else:
m_bs_reps = ____
# Compute b-value from replicates: b_bs_reps
b_bs_reps = (____ - ____) * ____
# Compute confidence interval: conf_int
conf_int = ____
return b, conf_int