Implementazione del Campionamento in Python
Campionamento casuale semplice
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)seleziona casualmente n valori unici dalla popolazione;- Funziona senza reinserimento (nessuna ripetizione);
- Ogni membro della popolazione ha la stessa probabilità di essere scelto.
Campionamento stratificato
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}")
- La popolazione è suddivisa in sottogruppi (strati);
- Il campione viene estratto proporzionalmente da ciascun sottogruppo;
- Garantisce la rappresentanza dei gruppi chiave.
Campionamento a grappolo
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")
- Popolazione suddivisa in grappoli (ad esempio, classi);
- Uno o più grappoli vengono selezionati casualmente;
- Tutti gli individui nei grappoli scelti vengono inclusi nell'indagine;
- Metodo efficiente quando elencare ogni singolo individuo è poco pratico.
Campionamento sistematico
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]}")
- Intervallo k=nN;
- Punto di partenza scelto casualmente tra 1 e k;
- Selezione di ogni elemento k-esimo dalla popolazione ordinata.
Riepilogo dei Metodi
- Casuale semplice: stessa probabilità per tutti, senza ripetizioni;
- Stratificato: garantisce la rappresentanza dei sottogruppi;
- A grappolo: seleziona casualmente interi gruppi;
- Sistematico: seleziona a intervalli fissi dopo un avvio casuale.
Tutto è chiaro?
Grazie per i tuoi commenti!
Sezione 5. Capitolo 6
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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
Implementazione del Campionamento in Python
Scorri per mostrare il menu
Campionamento casuale semplice
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)seleziona casualmente n valori unici dalla popolazione;- Funziona senza reinserimento (nessuna ripetizione);
- Ogni membro della popolazione ha la stessa probabilità di essere scelto.
Campionamento stratificato
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}")
- La popolazione è suddivisa in sottogruppi (strati);
- Il campione viene estratto proporzionalmente da ciascun sottogruppo;
- Garantisce la rappresentanza dei gruppi chiave.
Campionamento a grappolo
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")
- Popolazione suddivisa in grappoli (ad esempio, classi);
- Uno o più grappoli vengono selezionati casualmente;
- Tutti gli individui nei grappoli scelti vengono inclusi nell'indagine;
- Metodo efficiente quando elencare ogni singolo individuo è poco pratico.
Campionamento sistematico
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]}")
- Intervallo k=nN;
- Punto di partenza scelto casualmente tra 1 e k;
- Selezione di ogni elemento k-esimo dalla popolazione ordinata.
Riepilogo dei Metodi
- Casuale semplice: stessa probabilità per tutti, senza ripetizioni;
- Stratificato: garantisce la rappresentanza dei sottogruppi;
- A grappolo: seleziona casualmente interi gruppi;
- Sistematico: seleziona a intervalli fissi dopo un avvio casuale.
Tutto è chiaro?
Grazie per i tuoi commenti!
Sezione 5. Capitolo 6