计算 b 值
b 值是衡量某一区域地震活动性的常用指标。处理地震数据时,您很可能会经常需要计算它。对于这类高频任务,最好编写一个函数!请编写一个函数,签名为 b_value(mags, mt, perc=[2.5, 97.5], n_reps=None),用于返回给定震级集合 mags 的 b 值;并且在 n_reps 非 None 时,还返回该 b 值的置信区间。完备性阈值由 mt 给出。关键字参数 perc 指定置信区间上下界对应的百分位数,n_reps 是计算置信区间时使用的自助法重复次数。
本练习是课程的一部分
统计思维案例研习
练习说明
- 定义一个签名为
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)的函数,完成以下操作:- 使用布尔索引在完备性阈值
mt及以上从mags中切片震级,结果存入变量m。 - 计算 b 值的最佳估计。请记住,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