Lise skal lage godteposar til ein barnebursdag. Ho kjøper inn store posar med karamellar, og det er cirka 20 karamellar i kvar pose. Det kjem 14 barn i bursdagen, og ho vil helst ha 10 karamellar til kvar. Ho lurer litt på om ho kan forvente at det held å kjøpe 7 posar. Frå produsenten får ho vite at sannsynsfordelinga for talet på karamellar i kvar pose er som gitt i tabellen:
sannsynsfordeling
tal på karamellar,
18
19
20
21
22
Kor mange karamellar kan Lise rekne med å få dersom ho kjøper 7 posar?
Løysing
Vi set variabelen lik talet på karamellar til saman i dei 7 posane.
Vi har at .
Forventningsverdien for talet på karamellar i 7 posar er 139. Det betyr at Lise kan forvente å få ein karamell for lite.
Ein hundeeigar driv med avl og har kvart år to tisper av to ulike rasar som får kull. Rasane han har, får inntil 7 kvalpar i eitt kull, men det vanlegaste er 4. Han er ein populær oppdrettar, og kvalpane er vanlegvis haldne av lenge før han veit kor mange han får. Kundane har som oftast ein favorittrase, men tek gjerne den andre rasen dersom det er for få av den dei helst ønsker. Oppdrettaren treng derfor å vite kor mange kvalpar han kan forvente å få til saman kvart år. Vi lar stå for kor mange kvalpar den eine tispa får, og kor mange kvalpar den andre tispa får.
Sannsynsfordelingane til og er gitt nedanfor.
sannsynsfordeling x
1
2
3
4
5
6
7
0,02
0,08
0,25
0,4
0,2
0,04
0,01
sannsynsfordeling y
1
2
3
4
5
6
7
0,02
0,03
0,2
0,35
0,25
0,1
0,05
a) Finn forventningsverdien til og .
Løysing
b) Lag eit program som kan løyse oppgåve a) og i tillegg finne , og .
1import numpy as np
23X =input("Oppgi dei moglege verdiane X kan ha. Skil mellom verdiane med komma.")4p_x =input("Oppgi dei tilhøyrande sannsyna. Skil med komma.")56X = X.split(",")7for i inrange(len(X)):8 X[i]=float(X[i])9X = np.array(X)1011p_x = p_x.split(",")12for i inrange(len(p_x)):13 p_x[i]=float(p_x[i])14p_x = np.array(p_x)1516e_X =sum(X*p_x)17v_X =sum((X-e_X)**2*p_x)1819Y =input("Oppgi dei moglege verdiane Y kan ha. Skil mellom verdiane med komma.")20p_y =input("Oppgi dei tilhøyrande sannsyna. Skil med komma.")2122Y = Y.split(",")23for i inrange(len(Y)):24 Y[i]=float(Y[i])25Y = np.array(Y)2627p_y = p_y.split(",")28for i inrange(len(p_y)):29 p_y[i]=float(p_y[i])30p_y = np.array(p_y)3132e_Y =sum(Y*p_y)33v_Y =sum((Y-e_Y)**2*p_y)3435e = e_X + e_Y
36v = v_X + v_Y
3738print(f"Forventningsverdien for X blir {e_X:.2f}.")39print(f"Forventningsverdien for Y blir {e_Y:.2f}.")40print(f"Forventningsverdien for X+Y blir {e:.2f}.")41print(f"Variansen for X+Y blir {v:.2f}.")42print(f"Standardavviket for X+Y blir {np.sqrt(v):.2f}.")
I linjene 3 og 4 hentar vi dataa frå brukaren om .
Linjene 6 og 11: Vi splittar opp informasjonen frå brukaren og legg tala i ei liste.
Linjene 7–8 og 12–13: Vi gjer om elementa til tal.
Linjene 9 og 14: Vi transformerer til array slik at vi får moglegheit til å rekne med elementa.
Linje 16: Vi finn forventningsverdien.
Linje 17: Vi finn variansen.
Linjene 19–33: Vi gjentek for .
I linjene 35 og 36 finn vi og .
Til slutt blir dei fem verdiane skrivne ut.
Ved å køyre programmet får vi følgande svar:
Forventningsverdien for blir 3,84. Forventningsverdien for blir 4,28. Forventningsverdien for blir 8,12. Variansen for blir 2,70. Standardavviket for blir 1,64.
c) Ein annan oppdrettar driv berre med den same rasen som tispe . Han har fire kull i året. Kor mange kvalpar kan han forvente å få i løpet av 10 år? Løys oppgåva både for hand og ved å utvide programmet i b).
Løysing
Vi set .
Då har vi at .
Vi set inn ei kodelinje på slutten av programmet frå b):
python
1print(f"Forventningsverdien etter 10 år blir {e_X*4*10:.2f}.")