Hopp til innhald
Oppgåve

Varians og standardavvik

Vi jobbar med oppgåver om varians og standardavvik.

4.1.21

La X vere talet på humrar ein hummarfiskar får i ei tilfeldig hummarteine. Sannsynsfordelinga for X er gitt i tabellen:

Sannsynsfordeling
x01234
P(X=x)0,550,300,100,040,01

Rekn ut forventningsverdien, variansen og standardavviket.

Løysing

μ = 0·0,55+1·0,30+2·0,10+3·0,04+4·0,01= 0,30+0,20+0,12+0,04= 0,66

Var(X)=(0-0,66)2·0,55+(1-0,66)2·0,30+(2-0,66)2·0,10                        +(3-0,66)2·0,04+(4-0,66)2·0,01 =0,24+0,03+0,18+0,22+0,11=0,78

σ=VarX=0,78=0,8830,88

4.1.22

Overflata til eit tetraeder består av fire likesida trekantar. Dei ulike sidene er markerte med høvesvis 1, 2, 3 og 4 auge.

Vi kastar to slike "terningar". La X vere produktet av talet på auge på dei to sidene som vender ned mot bordet.

a) Lag ei oversikt over utfallsrommet til X.

Løysing

Vi lagar ein tabell for å skaffe oversikt:

utfallsrom
1234
11234
22468
336912
4481216

Dette gir følgande utfallsrom:

UX=1,2,3,4,6,8,9,12,16

b) Set opp sannsynsfordelinga til X.

Løysing

Vi les av tabellen i a) og oppgir alle sannsyna i sekstendelar:

sannsynet i sekstendelar
x12346891216
P(X=x)116216216316216216116216116

c) Rekn ut forventningsverdien, variansen og standardavviket til X.

Løysing

EX=1·116+2·216+3·216+4·316+6·216+8·216                   +9·116+12·216+16·116=116+416+616+1216+1216+1616+916+2416+1616=10016=254=6,25

VarX=1-6,252·116+2-6,252·216+3-6,252·216   +4-6,252·316+6-6,252·216   +8-6,252·216+9-6,252·116   +12-6,252·216+16-6,252·116=27,616+36,116+21,116+15,216+0,516+6,116+7,616+66,116+9516=275,316=17,2017,2

σ=VarX=17,2=4,144,1

d) Lag eit program som simulerer kast med to slike tetraeder og få programmet til å rekne ut gjennomsnittet, variansen og standardavviket. Samanlikn med svara du rekna ut i c).

Løysing

Her er to ulike måtar å skrive programmet på. Kanskje har du eit tredje alternativ som verkar minst like godt?

python
1import numpy as np
2
3rng = np.random.default_rng() 
4
5N = 100000
6X = np.zeros(N) #ein array for resultata av kast
7V = np.zeros(N) #ein array for kvadratavvika
8
9tetra_1 = (rng.integers(1, 5, size = N)) #kastar den eine terningen tilfeldig
10tetra_2 = (rng.integers(1, 5, size = N)) #kastar den andre terningen tilfeldig
11
12for i in range(N):     #finn produkta av dei to terningane i kvart kast
13    X[i] = tetra_1[i]*tetra_2[i]
14
15snitt = sum(X)/N       #finn gjennomsnittsverdien
16
17for i in range(N):     #reknar ut kvadratavviket i kvart tilfelle
18    V[i] = (snitt-X[i])**2
19    
20varians = sum(V)/N    #finn variansen
21avvik = np.sqrt(varians)  #reknar ut kvadratavviket
22
23print(f"Gjennomsnittet er {snitt:.2f}, variansen er {varians:.1f}, og standardavviket er {avvik:.1f}.")
python
1import numpy as np
2
3N = 100000
4U = [1,2,2,3,3,4,4,4,6,6,8,8,9,12,12,16]     #listar opp alle dei moglege utfalla i rett tal
5X = np.zeros(N) #ein array for resultata av kast
6V = np.zeros(N) #ein array for kvadratavvika
7
8for i in range(N):
9    X[i] = np.random.choice(U) #vel tilfeldig eit utfall frå utfallsrommet og legg det i arrayen
10
11snitt = sum(X)/N   #finn gjennomsnittet
12    
13for i in range(N):     #reknar ut kvadratavviket i kvart tilfelle
14    V[i] = (snitt-X[i])**2
15    
16varians = sum(V)/N    #finn variansen
17avvik = np.sqrt(varians)  #reknar ut kvadratavviket
18
19print(f"Gjennomsnittet er {snitt:.2f}, variansen er {varians:.1f}, og standardavviket er {avvik:.1f}.")

Når vi køyrer desse programma mange gonger, ser vi at svara varierer veldig lite. Vi kan få dei til å variere endå mindre ved å køyre simuleringa fleire gonger, det vil seie ved å gjere N større.

4.1.23

Sannsynsfordelinga til ein stokastisk variabel X er gitt ved

Sannsynsfordeling
x1234
P(X=x)0,40a0,200,10

a) Bestem a.

Løysing

Vi har at summen i ei sannsynsfordeling alltid skal vere lik 1:

0,40+a+0,20+0,1 = 1a = 1-0,70a = 0,30

b) Finn standardavviket til X.

Løysing

Vi må først finne forventningsverdien:

μ=1·0,4+2·0,3+3·0,2+4·0,1=2,0

Så kan vi rekne ut variansen og standardavviket:

VarX = (1-2)2·0,4+(2-2)2·0,3+(3-2)2·0,2+(4-2)2·0,1= 0,4+0+0,2+0,4= 1σ = 1=1

4.1.24

To maskiner, A og B, pakkar lakrispastillar i esker. Talet på pastillar i eska varierer litt. La X vere talet på pastillar i eskene til pakkemaskin A og Y vere talet på pastillar i eskene til pakkemaskin B.

Sannsynsfordelingane til X og Y er gitt nedanfor.

Maskin A:

maskin a
x2829303132
PX=x1101412110120

Maskin B:

maskin b
y2829303132
PY=y22532035320150

a) Finn forventningsverdi, varians og standardavvik til X og Y.

Løysing

EX = 28·110+29·14+30·12+31·110+32·120= 28·220+29·520+30·1020+31·220+32·120= 2·28+5·29+10·30+2·31+1·3220= 59520=29,75

VarX=(28-29,75)2·110+(29-29,75)2·14+(30-29,75)2·12           +(31-29,75)2·110+(32-29,75)2·120=3,06·220+0,56·520+0,06·1020+1,56·220+5.06·1200,89

SDX=0,890,94

EY = 28·225+29·320+30·35+31·320+32·150= 28·8100+29·15100+30·60100+31·15100+32·2100= 8·28+15·29+60·30+15·31+2·32100= 2988100=29,88

VarY=(28-29,88)2·225+(29-29,88)2·320+(30-29,88)2·35           +(31-29,88)2·320+(32-29,88)2·150=3,53·220+0,77·520+0,01·1020+1,25·220+4,49·1200,69

SDY=0,690,83

b) Kva maskin produserer esker med minst spreiing i talet på pastillar?

Løysing

Standardavviket til Y er mindre enn standardavviket til X. Det betyr at maskin B produserer pastillesker med minst spreiing i talet på pastillar.

c) Lag eit program som lar brukaren oppgi sannsynsfordeling, og som så reknar ut forventningsverdi, varians og standardavvik. Test programmet ved å køyre det på maskin A og B.

Løysing

Forslag til program:

python
1import numpy as np
2
3X = input("Oppgi dei moglege verdiane X kan ha. Skil mellom verdiane med komma.")
4p_x = input("Oppgi dei tilhøyrande sannsyna. Skil med komma.")
5
6X = X.split(",")
7for i in range(len(X)):
8    X[i] = float(X[i])
9X = np.array(X)
10
11p_x = p_x.split(",")
12for i in range(len(p_x)):
13    p_x[i] = float(p_x[i])
14p_x = np.array(p_x)
15
16e = sum(X*p_x)
17v = sum((X-e)**2*p_x)
18
19print(f"Forventningsverdien blir {e:.2f}.")
20print(f"Variansen blir {v:.2f}.")
21print(f"Standardavviket blir {np.sqrt(v):.2f}.")

I linjene 3 og 4 hentar vi dataa frå brukaren.

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–21: Vi skriv ut dei tre verdiane.

Legg merke til at du må oppgi sannsyna som desimaltal (med punktum som desimalskiljeteikn), og ikkje som brøk.