Hopp til innhold

Oppgaver og aktiviteter

Sentralgrensesetningen

Her kan du jobbe med oppgaver om sentralgrensesetningen.

4.2.21

Utforsking!

To tikronestykker som viser myntsiden til venstre og kronesiden  til høyre. Foto.

a) Vi kaster to mynter. Vi spiller et spill der to kroner gir gevinst. Hva er sannsynligheten, p, for å vinne i dette spillet? Hva er sannsynligheten for å ikke vinne?

Løsning

Vi lar X være antall kroner og får følgende tabell:

sannsynlighetsfordeling myntkast

Antall kroner (X)

0

1

2

Sannsynlighet

141214

Dette gir

P(to kroner)=14

P(ikke to kroner)=1-14=34

b) Finn forventningsverdien og standardavviket for dette spillet.

Løsning

Vi kan se på dette som et binomisk forsøk med n=1 og p=14. Dette gir

μ=n·p=1·14=14

σ=n·p·1-p=14·34=316=340,43

c) Vi utfører nå myntkastet vårt fem ganger, altså kaster vi to mynter fem ganger etter hverandre. Vi lar Y være antall ganger vi får to kroner. Forklar at vi kan se på dette som et binomisk forsøk med n=5 og p=14. Finn forventningsverdien E(Y) og standardavviket SD(Y)

Løsning

Vi har her et binomisk forsøk fordi vi har n uavhengige forsøk med lik sannsynlighet, der vi enten kan få to kroner eller ikke få to kroner. Fem kast med myntene gir n=5 ,og fra b) får vi at p=14=0,25.

EY= np = 5·0,25=1,25SDY = np1-p=5·14·34=1516=1540,97

d) Lag et program som skriver ut sannsynlighetsfordelingen til Y.

Løsning

python

1import numpy as np
2from scipy.stats import binom
3
4n = 5
5p = 0.25
6Y = np.arange(0,n+1)       #lager ei liste med verdiene til den stokastiske variabelen Y
7
8tokroner = binom.pmf(Y,n,p)  #lager en array med sannsynlighetsfordelingen
9
10print("y","P(Y=y)")       #lager overskrifter til sannsynlighetsfordelingen
11
12antall = 0
13for i in tokroner:
14    print(antall,i)                 #skriver sannsynlighetsfordelingen i en kolonne
15    antall = antall + 1

e) Endre programmet i d) slik at det tegner et søylediagram over sannsynlighetene i stedet for å skrive ut tabellen.

Tips til koden

Kommandoen bar(X,sannsynligheter) fra biblioteket matplotlib.pyplot vil lage et søylediagram. Du kan også sette inn bredden du ønsker på søylene, og legge inn edgecolor = "black".

Løsning

python

1import numpy as np
2from scipy.stats import binom
3import matplotlib.pyplot as plt
4
5n = 5
6p = 0.25
7Y = np.arange(0,n+1)        #lager ei liste med verdiene til den stokastiske variabelen Y
8
9tokroner = binom.pmf(Y,n,p) #lager en array med sannsynlighetsfordelingen
10
11plt.bar(Y,tokroner,1,edgecolor="black") #lager et søylediagram med bredde 1,  
12                                        #slik at søylene ligger inntil hverandre
13plt.show()

f) Endre nå antall forsøk først til 10, så til 50 og til slutt til 500. Hva observerer du når du ser på formen til søylediagrammet?

Løsning

Vi kan observere at jo flere ganger vi kaster to mynter, jo mer vil sannsynligheten for å få to kroner fordele seg symmetrisk om forventningsverdien.

g) Finn forventningsverdi og standardavvik i de tre fordelingene i f).

Løsning

Vi har tre forsøk med n lik henholdsvis 10, 50 og 500.

Det vil si at vi får

n=10:

EY= np = 10·0,25=2,5STY = np1-p=10·14·34=3016=3041,37

n=50:

EY= np = 50·0,25=12,5STY = np1-p=50·14·34=15016=15043,06

n=500:

EY= np = 500·0,25=125STY = np1-p=500·14·34=150016=150049,68

h) Utvid programmet i d) slik at du tegner grafen til en normalfordelt variabel med μ=np og σ=np(1-p). Kjør programmet med n=5, n=10, n=50 og n=500. Kommenter resultatet.

Løsning

python

1import numpy as np
2from scipy.stats import binom, norm
3import matplotlib.pyplot as plt
4
5n = 5
6p = 0.25
7Y = np.arange(0,n+1)       #lager ei liste med verdiene til den stokastiske variabelen Y
8
9tokroner = binom.pmf(Y,n,p) #lager en array med sannsynlighetsfordelingen
10
11mu = n*p
12sigma = np.sqrt(n*p*(1-p))
13
14Y_2 = np.linspace(mu-3*sigma, mu+3*sigma,100)
15normalfordeling = norm.pdf(Y_2,mu,sigma)
16
17plt.bar(Y,tokroner,1,edgecolor = "black")
18plt.plot(Y_2,normalfordeling)
19plt.show()

Vi legger merke til at jo større n blir, jo større blir sammenfallet mellom den binomiske fordelingen og normalfordelingen.

i) Vi har en binomisk fordeling der en stokastisk variabel X står for antall suksesser i løpet av n forsøk, der SD=σ0 for hvert enkelt forsøk. Vis at SDX=σ=n·σ0=np(1-p).

Løsning

Vi har at for en binomisk fordeling er σ=np(1-p). Vi kan alltid se på et enkeltforsøk i en binomisk fordeling som en binomisk fordeling i seg selv, med n=1. Da er standardavviket σ0=p·1-p.

Vi har da at

SDX=σ=n·σ0=n·p(1-p)=np(1-p)

4.2.22

På teorisiden bruker vi kast av mange terninger som eksempel. Her skal vi lage en simulering der du kan teste ut om det stemmer at et slikt forsøk kan tilnærmes med en normalfordeling.

a) Lag et program som simulerer kast med én terning. La terningen bli kastet 10 000 ganger. Skriv ut summen av terningkastene.

Løsning

Forslag til program:

python

1from numpy.random import default_rng         # importerer default_rng
2rng = default_rng()                          # lager en rng (random number generator)
3
4N = 10000
5terning = rng.integers(1, 7, size = N)      # lager en array med N terningkast
6
7print(f'Summen av {N} terningkast er {sum(terning)}.')       # skriver ut summen

b) Utvid programmet fra a) slik at forsøket (altså å kaste terningen 10 000 ganger) blir utført 1 000 ganger. Finn gjennomsnittet og standardavviket i de 1 000 forsøkene. Bruk simuleringen til å beregne sannsynligheten for at summen av 10 000 terningkast er over 3 500.

Løsning

Forslag til program:

python

1import numpy as np
2rng = np.random.default_rng()                          # lager en rng (random number generator)
3
4
5N = 10000                                    # antall kast i hvert forsøk
6n = 1000                                     # antall forsøk
7resultater = np.zeros(n)                     # en array til resultatene
8
9for i in range(n):
10    terning = rng.integers(1, 7, size = N)   # lager en array med N terningkast
11    resultater[i] = sum(terning)
12
13sanns = sum(resultater >= 35000)/n           # teller opp antall resultater større enn eller
14                                             # lik 35000
15
16print(f'Gjennomsnittet er {np.mean(resultater):.1f}.')
17print(f'Standardavviket er {np.std(resultater):.1f}.')
18print(f'Sannsynligheten er {sanns:.2f}.')

c) Kommenter svarene med bakgrunn i sentralgrensesetningen.

Løsning

Når vi kjører programmet, ser vi at

  • gjennomsnittet av de 1 000 forsøkene blir veldig nært 35 000

  • sannsynligheten for at summen av et tilfeldig forsøk er over 35 000, er nær 0,5

  • standardavviket er nær 170

Dette underbygger at vi kunne ha brukt en normalfordeling til å tilnærme sannsynlighet for kast med 10 000 terninger. Denne normalfordelingen ville ha hatt

μ=n·3,5=10 000·3,5=35 000

σ=n·1,70=10 000·1,70=100·1,70=170

4.2.23

Svein dyrker moreller. Vi lar X være vekta i gram til en tilfeldig valgt morell. Svein har funnet ut at X har forventningsverdien μ=10, og at standardavviket σ=1,0. Vi lar S være samlet vekt av 50 tilfeldig valgte moreller.

a) Finn forventningsverdien μS til S. Forklar hva du har funnet.

Løsning

Ifølge sentralgrensesetningen har vi at μS=n·μ=50·10=500. Dette betyr at forventet vekt til 50 moreller er 500 gram.

b) Finn standardavviket σS til S.

Løsning

Vi bruker formelen for standardavvik gitt ved sentralgrensesetningen:

σS=n·σ=50·1=7,077,1

c) Finn PS>510 og forklar hva du har funnet.

Løsning

Vi velger å bruke Python:

python

1from scipy.stats import norm
2
3Sannsynligheten = 1 - norm.cdf(510,500,7.1)
4print(f"Sannsynligheten for at 50 moreller veier mer enn 510 g, er {Sannsynligheten:.3f}.")

Utskriften av programmet blir "Sannsynligheten for at 50 moreller veier mer enn 510 g, er 0,079."

d) Finn PS<490 og P490<S<510 uten å bruke noe annet enn svaret i c).

Løsning

Siden en normalfordeling er symmetrisk om forventningsverdien, vet vi at

PX<490=PX>510=0,079

Den siste sannsynligheten finner vi ved

P490<X<510 = 1-P(X<490)-PX>510= 1-2·0,079=0,842

e) Svein selger kurver med 500 gram moreller. Han veier ikke alle kurvene, men sjekker 10 kurver med 50 moreller hver dag. Hva er forventningsverdien og standardavviket til gjennomsnittet av disse ti kurvene?

Løsning

Vekta til en kurv moreller er det samme som variabelen S. Vi kan se på dette som at vi trekker ut et utvalg fra den normalfordelte variabelen S, der n=10. Vi har da at

E(S¯) = μS=500SD(S¯) = σSn=7,110=2,242,2


4.2.24

Våren 2023 var det 2 957 elever som avla skriftlig eksamen i matematikk R1. Av disse var det 4,8 % som strøk. Vi trekker ut 300 elever helt tilfeldig.

a) Forklar at vi kan se på disse 300 som binomiske forsøk med p=0,048.

Løsning

1) Vi har to mulige utfall, stryk eller ikke stryk.

2) Vi kan si at det er lik sannsynlighet for stryk for hver elev, siden vi trekker ut så få av det totale antallet.

3) Vi kan si at forsøkene er uavhengige av hverandre, av samme grunn som i punkt 2.

b) Finn sannsynligheten for at mer enn 15 av disse tilfeldige elevene strøk på eksamen ved hjelp av en binomisk sannsynlighetsmodell.

Løsning

Vi velger igjen å løse i Python (men husk at GeoGebra også er et godt verktøy her).

python

1import numpy as np
2from scipy.stats import binom
3
4n = 300
5p = 0.048
6X = np.arange(16,n+1)     # lager en array med tallene [16,300]
7
8stryk = binom.pmf(X,n,p)  # får en array med de tilhørende sannsynlighetene
9
10print(f'Sannsynligheten for at flere enn 15 stryker, er {sum(stryk):.3f}.')  
11                          # skriver ut sannsynligheten

Utskriften blir "Sannsynligheten for at flere enn 15 stryker, er 0.369.".

c) Bruk normalfordelingen som tilnærming og regn ut sannsynligheten for at mer enn 15 av elevene strøk. Sammenlikn med svaret i b) og kommenter.

Løsning

Først sjekker vi at vi kan bruke normalfordelingen som tilnærming:

np = 300·0,048=14,4>10n(1-p) = 300·0,952=285,6>10

Vi får da følgende forventningsverdi og standardavvik:

μ = np=14,4σ = np(1-p)=14,4·0,952=3,70

Vi løser i Python ved å utvide programmet fra b) (her lar vi Python regne ut μ og σ):

python

1import numpy as np
2from scipy.stats import binom, norm
3
4n = 300
5p = 0.048
6X = np.arange(16,n+1)     # lager en array med tallene [16,300]
7
8strykbinom = binom.pmf(X,n,p)  # får en array med de tilhørende sannsynlighetene
9
10my = n*p
11sigma = np.sqrt(n*p*(1-p)) # regner ut my og sigma
12stryknormal = 1 - norm.cdf(16,my,sigma)   #finner sannsynligheten 
13                
14print(f'Sannsynligheten for at flere enn 15 stryker, er ifølge binomisk fordeling {sum(strykbinom):.3f}.')   
15print(f'Sannsynligheten for at flere enn 15 stryker, er ifølge normalfordeling {stryknormal:.3f}.')   
16

Utskriften blir:
"Sannsynligheten for at flere enn 15 stryker, er ifølge binomisk fordeling 0.369.
Sannsynligheten for at flere enn 15 stryker, er ifølge normalfordeling 0.333."

Vi ser at de ligger nokså nær hverandre.

CC BY-SASkrevet av Tove Annette Holter, Olav Kristensen og Stein Aanensen.
Sist faglig oppdatert 08.12.2023

Læringsressurser

Statistiske fordelinger. Normalfordelingen