Aan de slagGa gratis aan de slag

Significantie van verschil in schattingen

Een lijngrafiek met foutbalken geeft je globaal een idee van trends, maar zijn de jaar-op-jaarverschillen statistisch significant? In deze oefening bepaal je de significantie van veranderende mediane huizenprijzen in Philadelphia. Je beoordeelt de verschillen per jaar tussen 2011 en 2017.

De formule voor de Z-statistiek met twee steekproeven is:

$$Z = \frac{x_1 - x_2}{\sqrt{SE_{x_1}^2 + SE_{x_2}^2}}$$

Er is een DataFrame philly beschikbaar met de kolommen median_home_value, median_home_value_moe en year.

pandas is geïmporteerd als pd, en de functie sqrt is geïmporteerd uit de module numpy.

Deze oefening maakt deel uit van de cursus

US Census-gegevens analyseren in Python

Cursus bekijken

Oefeninstructies

  • Stel x1 in op de mediane woningwaarde van het huidige jaar, en x2 op de mediane woningwaarde van het voorgaande jaar (huidige jaar min 1)
  • Stel se_x1 in op de MOE van de mediane woningwaarde voor het huidige jaar gedeeld door Z_CRIT, en se_x2 op dezelfde berekening voor het voorgaande jaar
  • Gebruik de ternary-operator van Python (result1 if condition else result2) om de lege string te retourneren als de absolute waarde van z groter is dan Z_CRIT, en anders "not " te retourneren

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Set the critical Z score for 90% confidence, prepare message
Z_CRIT = 1.645
msg = "Philadelphia median home values in {} were {}significantly different from {}."
for year in range(2012, 2018):
    # Assign current and prior year's median home value to variables
    x1 = int(philly[philly["year"] == ____]["median_home_value"])
    x2 = int(____)
    
    # Calculate standard error as 90% MOE / critical Z score
    se_x1 = float(____)
    se_x2 = float(____)
    
    # Calculate two-sample z-statistic, output message if greater than critical Z score
    z = (x1 - x2) / sqrt(se_x1**2 + se_x2**2)
    print(msg.format(year, ____, year - 1))
Code bewerken en uitvoeren