パークフィールドの 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))