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

Максимизация правдоподобия, часть 1

Ранее мы использовали выборочное mean как оценку параметра модели генеральной совокупности mu. Но как убедиться, что выборочное среднее является наилучшей оценкой? Это непростой вопрос, поэтому разберём его в два этапа.

В части 1 вы воспользуетесь вычислительным подходом, чтобы рассчитать логарифмическое правдоподобие для заданной оценки. В части 2 мы увидим, что при вычислении логарифмического правдоподобия для множества возможных значений оценки одно из них даёт максимальное правдоподобие.

Это упражнение является частью курса

Введение в линейное моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите mean() и std() предварительно загруженного массива sample_distances — эти значения будут использоваться как предполагаемые параметры вероятностной модели.
  • Рассчитайте вероятность для каждого значения distance с помощью функции gaussian_model(), построенной на основе sample_mean и sample_stdev.
  • Вычислите loglikelihood как sum() значений log() вероятностей probs.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Compute sample mean and stdev, for use as model parameter value guesses
mu_guess = np.____(sample_distances)
sigma_guess = np.____(sample_distances)

# For each sample distance, compute the probability modeled by the parameter guesses
probs = np.zeros(len(sample_distances))
for n, distance in enumerate(sample_distances):
    probs[n] = gaussian_model(____, mu=____, sigma=____)

# Compute and print the log-likelihood as the sum() of the log() of the probabilities
loglikelihood = np.____(np.____(probs))
print('For guesses mu={:0.2f} and sigma={:0.2f}, the loglikelihood={:0.2f}'.format(mu_guess, sigma_guess, ____))
Редактировать и запускать код