¿Cuántos impagos podríamos esperar?
Imagina que un banco concedió 100 hipotecas. Es posible que entre 0 y 100 de esos préstamos entren en impago. Te gustaría conocer la probabilidad de obtener un número dado de impagos, sabiendo que la probabilidad de impago es p = 0.05. Para investigarlo, vas a hacer una simulación. Realizarás 100 ensayos de Bernoulli usando la función perform_bernoulli_trials() que escribiste en el ejercicio anterior y registrarás cuántos impagos obtenemos. Aquí, un éxito es un impago. (Recuerda que la palabra "éxito" solo significa que el ensayo de Bernoulli evalúa a True, es decir, ¿la persona que recibió el préstamo incurrió en impago?) Harás esto para otros 100 ensayos de Bernoulli. Y otra vez, y otra vez hasta haberlo probado 1000 veces. Luego, representarás un histograma que describa la probabilidad del número de impagos.
Este ejercicio forma parte del curso
Pensamiento estadístico en Python (Parte 1)
Instrucciones del ejercicio
- Fija la semilla del generador de números aleatorios a 42.
- Inicializa
n_defaults, un array vacío, usandonp.empty(). Debe contener 1000 elementos, ya que haremos 1000 simulaciones. - Escribe un bucle
forcon1000iteraciones para calcular el número de impagos por cada 100 préstamos usando la funciónperform_bernoulli_trials(). Acepta dos argumentos: el número de ensayosn—en este caso 100— y la probabilidad de éxitop—en este caso, la probabilidad de impago, que es0.05. En cada iteración del bucle, guarda el resultado en una posición den_defaults. - Representa un histograma de
n_defaults. Incluye el argumento de palabra clavedensity=Truepara que la altura de las barras del histograma indique la probabilidad. - Muestra tu gráfica.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Instantiate and seed random number generator
# Initialize the number of defaults: n_defaults
# Compute the number of defaults
for i in ____:
n_defaults[i] = ____
# Plot the histogram with default number of bins; label your axes
_ = plt.hist(____, ____)
_ = plt.xlabel('number of defaults out of 100 loans')
_ = plt.ylabel('probability')
# Show the plot