Оценка времени между землетрясениями для Паркфилда
В этом упражнении вы вычислите наилучшие оценки параметров для экспоненциальной и гауссовской моделей времени между землетрясениями. Затем вы построите теоретические функции распределения (CDF) для соответствующих моделей вместе с эмпирической функцией распределения (ECDF) фактических данных о временах между землетрясениями в Паркфилде.
Это упражнение является частью курса
Примеры применения статистического мышления
Инструкции к упражнению
- Вычислите среднее время между землетрясениями и сохраните его в переменной
mean_time_gap. Временные интервалы между крупными землетрясениями, выраженные в годах, хранятся вtime_gap. - Вычислите стандартное отклонение времён между землетрясениями и сохраните его в переменной
std_time_gap. - Используйте
np.random.exponential(), чтобы сгенерировать 10 000 выборок из экспоненциального распределения с подходящим средним значением. Сохраните их в переменнойtime_gap_exp. - Используйте
np.random.normal(), чтобы сгенерировать 10 000 выборок из нормального распределения с подходящими средним значением и стандартным отклонением. Сохраните их в переменнойtime_gap_norm. - Постройте теоретические CDF, используя подход
*dcst.ecdf(), представленный ранее в этой главе, — по одной строке на каждую. - Постройте ECDF с именованными аргументами
formal=True,min_x=-10иmax_x=50.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Compute the mean time gap: mean_time_gap
mean_time_gap = ____
# Standard deviation of the time gap: std_time_gap
std_time_gap = ____
# Generate theoretical Exponential distribution of timings: time_gap_exp
time_gap_exp = ____
# Generate theoretical Normal distribution of timings: time_gap_norm
time_gap_norm = ____
# Plot theoretical CDFs
_ = plt.plot(*____)
_ = plt.plot(*____)
# Plot Parkfield ECDF
_ = plt.plot(*____(____, ____=____, ____=____, ____=____))
# Add legend
_ = plt.legend(('Exp.', 'Norm.'), loc='upper left')
# Label axes, set limits and show plot
_ = plt.xlabel('time gap (years)')
_ = plt.ylabel('ECDF')
_ = plt.xlim(-10, 50)
plt.show()