Estimando velocidade e confiança
Vamos continuar analisando os dados de trilhas do National Park. Observe que algumas distâncias são negativas porque a caminhada foi no sentido oposto ao início da trilha; os dados são bagunçados, então vamos focar apenas na tendência geral.
Neste exercício, seu objetivo é usar bootstrap (reamostragem) para encontrar a distribuição dos valores de velocidade para um modelo linear e, a partir dessa distribuição, calcular a melhor estimativa da velocidade e o intervalo de confiança de 90% dessa estimativa. Aqui, a velocidade é o parâmetro de inclinação do modelo de regressão linear que ajusta a distância em função do tempo.
Para começar, pré-carregamos os dados de distance e time, junto com a função least_squares() já definida para calcular o valor de velocidade em cada reamostragem.

Este exercicio faz parte do curso
Introdução à Modelagem Linear em Python
Instruções do exercicio
- Use
np.random.choice()para extrairsample_indsdepopulation_inds, preservando o pareamento distância-tempo de cada dado. - Para preservar a ordem temporal, aplique
.sort()emsample_indse depois usesample_indspara indexardistancesetimes. - Use
least_squares(times, distances)para calcular os parâmetros do modelo linear e armazenea1emresample_speeds. - Aplique
np.mean()enp.percentiles()emresample_speeds, calculando a velocidade e o intervalo de confiançaci_90, e então imprima ambos.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Resample each preloaded population, and compute speed distribution
population_inds = np.arange(0, 99, dtype=int)
for nr in range(num_resamples):
sample_inds = np.random.choice(____, size=100, replace=True)
sample_inds.____()
sample_distances = distances[____]
sample_times = times[____]
a0, a1 = ____(sample_times, sample_distances)
resample_speeds[nr] = ____
# Compute effect size and confidence interval, and print
speed_estimate = np.mean(____)
ci_90 = np.percentile(____, [5, 95])
print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(____, ____[0], ____[1]))