Objetivos de fitness
Vamos a modelar cómo los niveles de actividad influyen en la pérdida de peso usando pulseras de actividad modernas. Los días que vas al gimnasio, haces de media unas 15k pasos, y unos 5k pasos el resto de días. Vas al gimnasio el 40% del tiempo. Modelemos el número de pasos en un día como una variable aleatoria de Poisson con una media \(\lambda\) que depende de si vas o no al gimnasio.
Para simplificar, supongamos que tienes un 80% de probabilidad de perder 1 lb y un 20% de probabilidad de ganar 1 lb cuando haces más de 10k pasos. Las probabilidades se invierten cuando haces menos de 8k pasos. En caso contrario, hay la misma probabilidad de ganar o perder 1 lb. Con toda esta información, halla la probabilidad de perder peso en un mes.
Este ejercicio forma parte del curso
Simulación estadística en Python
Instrucciones del ejercicio
- Simula
stepscomo una variable aleatoria de Poisson para un día dado en función del valor delam. - Establece
probcomo[0.2, 0.8]sisteps > 10000o como[0.8, 0.2]sisteps < 8000. Suma todo el peso perdido o ganado en un mes almacenado enw. - Calcula e imprime la fracción de simulaciones en las que el peso total de un mes en
outcomeses menor que 0. Guarda el resultado comoweight_loss_outcomes_fracy úsalo para imprimir tus resultados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Simulate steps & choose prob
for _ in range(sims):
w = []
for i in range(days):
lam = np.random.choice([5000, 15000], p=[0.6, 0.4], size=1)
____ = np.random.poisson(____)
if steps > 10000:
prob = ____
elif steps < 8000:
prob = ____
else:
prob = [0.5, 0.5]
w.append(np.random.choice([1, -1], p=prob))
outcomes.append(sum(w))
# Calculate fraction of outcomes where there was a weight loss
weight_loss_outcomes_frac = ____
print("Probability of Weight Loss = {}".format(____))