Otosuunnan Toteuttaminen Pythonissa
Yksinkertainen satunnaisotanta
1234567import 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)
valitsee satunnaisesti n uniikkia arvoa perusjoukosta;- Toimii ilman palautusta (ei toistoja);
- Jokaisella perusjoukon jäsenellä on yhtä suuri mahdollisuus tulla valituksi.
Ositettu otanta
123456789N_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}")
- Perusjoukko jaetaan alakokonaisuuksiin (ositteisiin);
- Otos poimitaan suhteellisesti jokaisesta alakokonaisuudesta;
- Varmistaa keskeisten ryhmien edustavuuden.
Klusteriotanta
1234567import 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")
- Perusjoukko jaettu klustereihin (esim. luokkahuoneet);
- Yksi tai useampi klusteri valitaan satunnaisesti;
- Kaikki valitun klusterin jäsenet otetaan mukaan tutkimukseen;
- Tehokas, kun jokaisen yksilön listaaminen on epäkäytännöllistä.
Systemaattinen otanta
123456789101112import 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]}")
- Väli k=nN;
- Alkupiste valitaan satunnaisesti väliltä 1 ja k;
- Valitaan jokainen k:s alkio järjestetystä perusjoukosta.
Menetelmien yhteenveto
- Yksinkertainen satunnaisotanta: yhtäläinen mahdollisuus kaikille, ei toistoja;
- Ositettu otanta: varmistaa alaryhmien edustuksen;
- Ryhmäotanta: valitsee satunnaisesti kokonaisia ryhmiä;
- Systemaattinen otanta: valitsee kiintein välein satunnaisen aloituksen jälkeen.
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 5. Luku 6
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Suggested prompts:
Can you explain the main differences between these four sampling methods?
When should I use stratified sampling instead of simple random sampling?
Can you give real-world examples where cluster sampling is most effective?
Awesome!
Completion rate improved to 1.96
Otosuunnan Toteuttaminen Pythonissa
Pyyhkäise näyttääksesi valikon
Yksinkertainen satunnaisotanta
1234567import 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)
valitsee satunnaisesti n uniikkia arvoa perusjoukosta;- Toimii ilman palautusta (ei toistoja);
- Jokaisella perusjoukon jäsenellä on yhtä suuri mahdollisuus tulla valituksi.
Ositettu otanta
123456789N_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}")
- Perusjoukko jaetaan alakokonaisuuksiin (ositteisiin);
- Otos poimitaan suhteellisesti jokaisesta alakokonaisuudesta;
- Varmistaa keskeisten ryhmien edustavuuden.
Klusteriotanta
1234567import 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")
- Perusjoukko jaettu klustereihin (esim. luokkahuoneet);
- Yksi tai useampi klusteri valitaan satunnaisesti;
- Kaikki valitun klusterin jäsenet otetaan mukaan tutkimukseen;
- Tehokas, kun jokaisen yksilön listaaminen on epäkäytännöllistä.
Systemaattinen otanta
123456789101112import 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]}")
- Väli k=nN;
- Alkupiste valitaan satunnaisesti väliltä 1 ja k;
- Valitaan jokainen k:s alkio järjestetystä perusjoukosta.
Menetelmien yhteenveto
- Yksinkertainen satunnaisotanta: yhtäläinen mahdollisuus kaikille, ei toistoja;
- Ositettu otanta: varmistaa alaryhmien edustuksen;
- Ryhmäotanta: valitsee satunnaisesti kokonaisia ryhmiä;
- Systemaattinen otanta: valitsee kiintein välein satunnaisen aloituksen jälkeen.
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 5. Luku 6