始める無料で始める

b 値の計算

b 値は、ある地域の地震活動を表す一般的な指標です。地震データを扱う場面では、この値を繰り返し計算することになるでしょう。こうした頻繁に行う処理には、関数を作成しておくのが最善です。シグネチャ b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) を持つ関数を作成してください。この関数は、マグニチュードのセット mags に対して b 値と(n_repsNone でない場合は)その信頼区間を返します。完全性閾値は 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 に格納します。
    • bconf_int を返します。n_repsNone の場合は 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
コードを編集して実行