НачатьНачать бесплатно

Оценка времени между землетрясениями для Паркфилда

В этом упражнении вы вычислите наилучшие оценки параметров для экспоненциальной и гауссовской моделей времени между землетрясениями. Затем вы построите теоретические функции распределения (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()
Редактировать и запускать код