Lise skal lage godteposer til en barnebursdag. Hun kjøper inn store poser med karameller, og det er cirka 20 karameller i hver pose. Det kommer 14 barn i bursdagen, og hun vil helst ha 10 karameller til hver. Hun lurer litt på om hun kan forvente at det holder å kjøpe 7 poser. Fra produsenten får hun vite at sannsynlighetsfordelingen for antall karameller i hver pose er som gitt i tabellen:
sannsynlighetsfordeling
antall karameller,
18
19
20
21
22
Hvor mange karameller kan Lise regne med å få hvis hun kjøper 7 poser?
Løsning
Vi setter variabelen lik antallet karameller til sammen i de 7 posene.
Vi har at .
Forventningsverdien for antall karameller i 7 poser er 139. Det betyr at Lise kan forvente å få en karamell for lite.
En hundeeier driver med avl og har hvert år to tisper av to ulike raser som får kull. Rasene han har, får inntil 7 valper i ett kull, men det vanligste er 4. Han er en populær oppdretter, og valpene er vanligvis holdt av lenge før han vet hvor mange han får. Kundene har som oftest en favorittrase, men tar gjerne den andre rasen dersom det er for få av den de helst ønsker. Oppdretteren trenger derfor å vite hvor mange valper han kan forvente å få til sammen hvert år. Vi lar betegne hvor mange valper den ene tispa får, og hvor mange valper den andre tispa får.
Sannsynlighetsfordelingene til og er gitt nedenfor.
sannsynlighetsfordeling x
1
2
3
4
5
6
7
0,02
0,08
0,25
0,4
0,2
0,04
0,01
sannsynlighetsfordeling 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øsning
b) Lag et program som kan løse oppgave a og i tillegg finne , og .
1import numpy as np
23X =input("Oppgi de mulige verdiene X kan ha. Skill mellom verdiene med komma.")4p_x =input("Oppgi de tilhørende sannsynlighetene. Skill 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 de mulige verdiene Y kan ha. Skill mellom verdiene med komma.")20p_y =input("Oppgi de tilhørende sannsynlighetene. Skill 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 henter vi dataene fra brukeren om .
Linjene 6 og 11: Vi splitter opp informasjonen fra brukeren og legger tallene i ei liste.
Linjene 7–8 og 12–13: Vi gjør om elementene til tall.
Linjene 9 og 14: Vi transformerer til array slik at vi får mulighet til å regne med elementene.
Linje 16: Vi finner forventningsverdien.
Linje 17: Vi finner variansen.
Linjene 19–33: Vi gjentar for .
I linjene 35 og 36 finner vi og .
Til slutt skrives de fem verdiene ut.
Ved å kjøre programmet får vi følgende 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) En annen oppdretter driver bare med samme rase som tispe . Han har fire kull i året. Hvor mange valper kan han forvente å få i løpet av 10 år? Løs oppgaven både for hånd og ved å utvide programmet i b).
Løsning
Vi setter .
Da har vi at .
Vi setter inn ei kodelinje på slutten av programmet fra b):
python
1print(f"Forventningsverdien etter 10 år blir {e_X*4*10:.2f}.")