Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering af Sampling i Python | Sandsynlighed & Statistik
Matematik for Datavidenskab

Implementering af Sampling i Python

Stryg for at vise menuen

Simpel tilfældig udvælgelse

1234567
import random N = 30 # population size n = 5 # sample size sample_srs = random.sample(range(1, N+1), n) print(f"Simple Random Sample: {sample_srs}")
  • random.sample(range(1, N+1), n) vælger tilfældigt n unikke værdier fra populationen;
  • Fungerer uden tilbageføring (ingen gentagelser);
  • Hvert medlem af populationen har lige stor sandsynlighed for at blive valgt.

Stratificeret udtagning

123456789
N_males = 18 N_females = 12 N_total = N_males + N_females n_total = 10 n_males = round((N_males / N_total) * n_total) n_females = round((N_females / N_total) * n_total) print(f"Stratified Sample Size -> Males: {n_males}, Females: {n_females}")
  • Populationen opdeles i undergrupper (strata);
  • Udvalget trækkes proportionelt fra hver undergruppe;
  • Sikrer repræsentation af nøglegrupper.

Klyngeudvælgelse

1234567
import random clusters = 5 students_per_cluster = 25 selected_cluster = random.randint(1, clusters) print(f"Selected cluster (classroom): {selected_cluster} containing {students_per_cluster} students")
  • Population opdelt i klynger (f.eks. klasselokaler);
  • En eller flere klynger udvælges tilfældigt;
  • Alle i de valgte klynger undersøges;
  • Effektiv, når det er upraktisk at opregne alle individer.

Systematisk udvælgelse

123456789101112
import random N = 1000 n = 100 k = N // n # Sampling interval start = random.randint(1, k) # Random start sample_systematic = list(range(start, N+1, k)) print(f"Sampling interval k = {k}") print(f"Random start = {start}") print(f"First 10 samples: {sample_systematic[:10]}")
  • Interval k=Nnk = \frac{N}{n};
  • Startpunkt valgt tilfældigt mellem 1 og kk;
  • Udvælg hvert kk-te element fra den ordnede population.

Oversigt over metoder

  • Simpel tilfældig: lige chance for alle, ingen gentagelser;
  • Stratificeret: sikrer repræsentation af undergrupper;
  • Klynge: vælger hele grupper tilfældigt;
  • Systematisk: vælger med faste intervaller efter tilfældig start.
question mark

Hvilken funktion bruges til simpel tilfældig udvælgelse uden tilbageføring?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Implementering af Sampling i Python

Simpel tilfældig udvælgelse

1234567
import random N = 30 # population size n = 5 # sample size sample_srs = random.sample(range(1, N+1), n) print(f"Simple Random Sample: {sample_srs}")
  • random.sample(range(1, N+1), n) vælger tilfældigt n unikke værdier fra populationen;
  • Fungerer uden tilbageføring (ingen gentagelser);
  • Hvert medlem af populationen har lige stor sandsynlighed for at blive valgt.

Stratificeret udtagning

123456789
N_males = 18 N_females = 12 N_total = N_males + N_females n_total = 10 n_males = round((N_males / N_total) * n_total) n_females = round((N_females / N_total) * n_total) print(f"Stratified Sample Size -> Males: {n_males}, Females: {n_females}")
  • Populationen opdeles i undergrupper (strata);
  • Udvalget trækkes proportionelt fra hver undergruppe;
  • Sikrer repræsentation af nøglegrupper.

Klyngeudvælgelse

1234567
import random clusters = 5 students_per_cluster = 25 selected_cluster = random.randint(1, clusters) print(f"Selected cluster (classroom): {selected_cluster} containing {students_per_cluster} students")
  • Population opdelt i klynger (f.eks. klasselokaler);
  • En eller flere klynger udvælges tilfældigt;
  • Alle i de valgte klynger undersøges;
  • Effektiv, når det er upraktisk at opregne alle individer.

Systematisk udvælgelse

123456789101112
import random N = 1000 n = 100 k = N // n # Sampling interval start = random.randint(1, k) # Random start sample_systematic = list(range(start, N+1, k)) print(f"Sampling interval k = {k}") print(f"Random start = {start}") print(f"First 10 samples: {sample_systematic[:10]}")
  • Interval k=Nnk = \frac{N}{n};
  • Startpunkt valgt tilfældigt mellem 1 og kk;
  • Udvælg hvert kk-te element fra den ordnede population.

Oversigt over metoder

  • Simpel tilfældig: lige chance for alle, ingen gentagelser;
  • Stratificeret: sikrer repræsentation af undergrupper;
  • Klynge: vælger hele grupper tilfældigt;
  • Systematisk: vælger med faste intervaller efter tilfældig start.
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
some-alt