Aan de slagGa gratis aan de slag

De b-waarde berekenen

De b-waarde is een veelgebruikte maat voor de seismische activiteit in een regio. Je kunt je voorstellen dat je die vaak wilt berekenen als je met aardbevingsdata werkt. Voor dit soort taken die je vaak doet, kun je het beste een functie schrijven! Schrijf daarom een functie met de signatuur b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) die de b-waarde retourneert en (optioneel, als n_reps niet None is) het betrouwbaarheidsinterval voor een set magnitudes, mags. De volledigheidsdrempel wordt gegeven door mt. Het keywordargument perc geeft de percentielen voor de onder- en bovengrens van het betrouwbaarheidsinterval, en n_reps is het aantal bootstrap-replicaties dat je gebruikt om het betrouwbaarheidsinterval te berekenen.

Deze oefening maakt deel uit van de cursus

Casestudies in statistisch denken

Cursus bekijken

Oefeninstructies

  • Definieer een functie met de signatuur b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) die het volgende doet:
    • Selecteer magnitudes uit mags die op of boven de volledigheidsdrempel mt liggen met Booleaanse indexering. Sla het resultaat op in de variabele m.
    • Bereken de beste schatting van de b-waarde. Denk eraan: de beste schatting voor de b-waarde is b = (m - mt)·ln(10). Sla het resultaat op in de variabele b.
    • als n_reps niet None is, doe dan het volgende.
      • Trek n_reps bootstrap-replicaties van het gemiddelde van m. Sla het resultaat op in de variabele m_bs_reps.
      • Zet de bootstrap-replicaties van het gemiddelde van m om naar replicaties van de b-waarde. Sla het resultaat op in b_bs_reps.
      • Bereken het betrouwbaarheidsinterval op basis van de bootstrap-replicaties van de b-waarde. Sla het resultaat op in conf_int.
    • Retourneer b en conf_int, of alleen b als n_reps None is.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

____ ____:
    """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
Code bewerken en uitvoeren