始める無料で始める

パークフィールドの b 値

ECDF はロールオフを視覚的に確認するのに効果的で、マグニチュード 1 未満ではその様子がよくわかります。マグニチュード 3 以上の地震データは十分にあるため、完全性しきい値として mt = 3 を使用できます。このしきい値を用いて、1950 年から 2016 年のパークフィールド地域における b 値と 95% 信頼区間を計算し、結果を画面に出力しましょう。すべてのマグニチュードを含む変数 mags はすでに名前空間に用意されています。

理論的な指数 CDF を重ねて表示し、パークフィールド地域がグーテンベルク・リヒター則に従っていることを確認しましょう。

この演習はコースの一部です

統計的思考 ケーススタディ

コースを見る

演習の手順

  • b_value() 関数を使って b 値と 95% 信頼区間を計算しましょう。ブートストラップ反復回数は 10,000 回を使用します。
  • np.random.exponential() を使って、理論分布から 100,000 個のサンプルを生成しましょう。分布の平均は b/np.log(10) で、位置パラメータを適切に処理するために mt をサンプルに加算する必要があります。結果を m_theor に格納しましょう。
  • m_theor の ECDF を線グラフとしてプロットしましょう。
  • mt 以上のすべてのマグニチュードの ECDF を点グラフとしてプロットしましょう。
  • 回答を送信 してグラフを表示し、b 値と信頼区間を画面に出力しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Compute b-value and 95% confidence interval
b, conf_int = ____(____, ____, ____=[____, ____], n_reps=____)

# Generate samples to for theoretical ECDF
m_theor = ____(____, size=____) + ____

# Plot the theoretical CDF
_ = ____(*____)

# Plot the ECDF (slicing mags >= mt)
_ = plt.plot(*____(____[____ >= ____]), marker='.', linestyle='none')

# Pretty up and show the plot
_ = plt.xlabel('magnitude')
_ = plt.ylabel('ECDF')
_ = plt.xlim(2.8, 6.2)
plt.show()

# Report the results
print("""
b-value: {0:.2f}
95% conf int: [{1:.2f}, {2:.2f}]""".format(b, *conf_int))
コードを編集して実行