Hur många fallissemang kan vi förvänta oss?
Anta att en bank har beviljat 100 bolånelån. Antalet lån som hamnar i fallissemang kan vara allt från 0 till 100. Du vill ta reda på sannolikheten för ett visst antal fallissemang, givet att sannolikheten för ett fallissemang är p = 0.05. För att undersöka detta gör du en simulering. Du utför 100 Bernoulli-försök med funktionen perform_bernoulli_trials() som du skrev i föregående övning och registrerar hur många fallissemang du får. Här är ett fallissemang en "framgång". (Kom ihåg att "framgång" helt enkelt betyder att Bernoulli-försöket utvärderas till True, det vill säga att låntagaren hamnade i fallissemang.) Du upprepar detta för ytterligare 100 Bernoulli-försök – om och om igen tills du har gjort det 1 000 gånger. Sedan ritar du ett histogram som beskriver sannolikheten för olika antal fallissemang.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 1)
Övningsinstruktioner
- Seeda slumptalsgeneratorn med värdet 42.
- Initiera
n_defaultssom en tom array mednp.empty(). Den ska innehålla 1 000 element, eftersom vi gör 1 000 simuleringar. - Skriv en
for-slinga med1000iterationer för att beräkna antalet fallissemang per 100 lån med funktionenperform_bernoulli_trials(). Den tar två argument: antalet försökn– i det här fallet 100 – och sannolikheten för framgångp– i det här fallet sannolikheten för ett fallissemang, vilket är0.05. Lagra resultatet i motsvarande element in_defaultsför varje iteration. - Rita ett histogram över
n_defaults. Inkludera nyckelordsargumentetdensity=Trueså att staplarnas höjd anger sannolikheten. - Visa diagrammet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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