• Hem

    Hem

  • Sök

    Sök

  • resultat

    Resultat

  • forum

    Forum

  • Fler alternativ

    Fler alternativ

  • roll

    Roll

  • Hjälp och tips

    Hjälp och tips

  • profil

    Profil

  • Lämna

    Lämna

1c 5. Statistik: 5.3 Analys och hantering av statistiska data

Teori Simulering

Vi skapar ett litet dataprogram i Python 3. I första raden tar vi in slumptalsfunktionerna.

import random

Därefter definierar vi variabler och en for-slinga.

socdem, annat=0,0
for n in range(0,5000):
  slumptal = random.random()
  if slumptal <= 0.283:socdem = socdem + 1
  else: annat = annat + 1

Programmet genererar godtyckliga slumptal mellan #0# och #1#. Om talet är mindre eller lika med #0,283# (motsvarande #28,3~\%#), räknar vi det som en röst på Socialdemokraterna. Är talet större, räknar vi det som en röst på något annat parti. Slingan bestämmer att slumptal ska genereras #5 \; 000# gånger, motsvarande det antal personer som svarade i undersökningen, och räknar ihop antalet ”röster” för respektive alternativ

Sist definierar vi en variabel för procentandel, avrundad till en decimal, och låter programmet skriva ut resultatet. Hela koden blir:

import random
socdem, annat = 0,0
for n in range(0,5000):
  slumptal = random.random()
  if slumptal <= 0.283: socdem = socdem + 1
  else: annat = annat + 1
procentandel = round(100*socdem/5000, 1)
print('socialdemokraterna: ',socdem,' annat parti: ',annat,' andel: ',procentandel,'%')

Kopiera programmet och kör det tio gånger. Hur ofta får du ett procentvärde under #27,6#?

Att köra simuleringen tio gånger är inte tillräckligt för att dra någon bestämd slutsats. Genom att ”bygga in” programmet i ytterligare en for-slinga, kan vi i stället automatiskt köra det exempelvis #3 \ 000# gånger. Vi definierar en variabel för procentvärden mindre eller lika med #27,6# och låter programmet räkna ihop hur många gånger av de #3 \ 000# vi får sådana. Till slut får programmet räkna ut procentandelen för detta och skriva ut alltihop. För att slippa få #3 \ 000# rader med utskrivna delresultat, kommentarsmarkerar vi print-kommandot i den inre for-slingan med #. Hela programmet blir:

import random
under276=0
for n in range(0,3000):
  socdem, annat = 0,0
    for n in range(0,5000):
    slumptal = random.random()
    if slumptal <= 0.283: socdem = socdem + 1
    else: annat = annat + 1
  procentandel = round(100*socdem/5000, 1)
  # print('socialdemokraterna: ',socdem,' annat parti: ',annat,' andel: ',procentandel,'%')
  if procentandel <= 27.6: under276 = under276 + 1
sannolikhet = round(under276/3000,3)
print('sannolikhet för ett värde under 27,6 %: ', sannolikhet)

Kör detta program några gånger. Ungefär hur stor är sannolikheten för ett värde under #27,6~\%#?

I riksdagsvalet 2018 fick Centerpartiet #8,6~\%# av rösterna. I den senare väljarundersökningen var värdet för partiet #9,7~\%#, det vill säga #1,1# procentenheter högre.

Justera programmet, så att det i stället mäter sannolikheten för att ett stickprov på #5 \ 000# skulle ge ett värde större eller lika med #9,7~\%#, om det verkliga värdet var #8,6~\%#. Ungefär hur stor är denna sannolikhet?

I samma väljarundersökning fick Sverigedemokraterna #16,4~\%#. I det föregående riksdagsvalet 2018 hade partiet fått #17,5~\%# av rösterna. Antag att det verkliga värdet för partiet i hela populationen låg kvar på #17,5~\%#. Ungefär hur stor skulle då sannolikheten vara för att ett stickprov med #5 \ 000# svarande gav #16,4~\%# eller lägre?

Copyright © 2025 Liber
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna
Lyssna