ComeçarComece de graça

Estimando o erro de teste

Agora que você tem o posterior_predictive (disponível no seu ambiente de trabalho), pode avaliar o desempenho do modelo em novos dados. Para isso, você vai precisar iterar sobre as observações de teste e, para cada uma delas, calcular o erro de previsão como a diferença entre a distribuição preditiva para essa observação e o valor real. Isso vai gerar a distribuição do erro do seu modelo, que você poderá visualizar.

Você vai precisar de pymc3 e numpy, que já foram importados como pm e np, respectivamente. Os dados de teste, bikes_test, também estão disponíveis no seu ambiente. Vamos lá!

Este exercício faz parte do curso

Análise de Dados Bayesiana em Python

Ver curso

Instruções do exercício

  • Inicialize errors como uma lista vazia.
  • Para cada linha em bikes_test, calcule o erro de previsão como as amostras preditivas para essa linha a partir de posterior_predictive menos o único valor real de num_bikes da linha.
  • Redimensione errors convertendo-os para um array do numpy e aplicando o método .reshape() ao resultado, e atribua o resultado final a error_distribution.
  • Plote a distribuição do erro de teste usando a função plot_posterior() do pymc3.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Initialize errors
errors = ____

# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
    error = ____[____][:, ____] - ____[____]
    errors.append(error)

# Reshape errors
error_distribution = ____(____).____()

# Plot the error distribution
____
plt.show()
Editar e executar o código