Metodi di Campionamento
metodo NON Probabilistico
Campionamento Non Probabilistico
Tipologie ed Esempi in PythonIl campionamento non probabilistico è una tecnica in cui gli elementi del campione vengono selezionati senza criteri casuali.
Questo metodo è utile quando la randomizzazione non è possibile o pratica, ma può introdurre bias.
Di seguito, analizziamo quattro tipi principali:
- Campionamento Convenient
- Campionamento per Quota
- Campionamento Purposive
- Campionamento Snowball
Tutti i codici Python forniti possono essere testati su Google Colab.
Campionamento Convenient
Si selezionano i primi elementi disponibili, ad esempio intervistando le prime persone che si incontrano. È il metodo più semplice, ma anche il meno rappresentativo.Esempio in Python
import pandas as pd
# Creiamo un dataset di esempio
data = {'ID': range(1, 21), 'Valore': range(100, 120)}
df = pd.DataFrame(data)
# Selezioniamo i primi 5 elementi (campionamento conveniente)
convenient_sample = df.head(5)
print(convenient_sample)
Campionamento per Quota
Il campione viene selezionato in modo da rispettare certe proporzioni della popolazione, come età o genere.Esempio in Python
import random
# Creiamo un dataset con categorie
data = {'ID': range(1, 21), 'Categoria': ['A']*10 + ['B']*10}
df = pd.DataFrame(data)
# Selezioniamo 3 elementi dalla categoria A e 3 dalla categoria B
quota_sample = df.groupby('Categoria').apply(lambda x: x.sample(3)).reset_index(drop=True)
print(quota_sample)
Campionamento Purposive
Si scelgono gli elementi in base a un criterio specifico, ad esempio selezionando solo persone con esperienza in un settore.Esempio in Python
# Creiamo un dataset con punteggi
data = {'ID': range(1, 21), 'Punteggio': [random.randint(50, 100) for _ in range(20)]}
df = pd.DataFrame(data)
# Selezioniamo solo quelli con punteggio sopra 80
purposive_sample = df[df['Punteggio'] > 80]
print(purposive_sample)
Campionamento Snowball
Si usa quando la popolazione è difficile da raggiungere, partendo da pochi soggetti che poi reclutano altri simili.Esempio in Python
import networkx as nx
# Creiamo una rete di connessioni tra individui
G = nx.erdos_renyi_graph(20, 0.2)
# Partiamo da un nodo iniziale
start_node = 0
snowball_sample = set([start_node])
# Aggiungiamo amici del primo nodo
for neighbor in G.neighbors(start_node):
snowball_sample.add(neighbor)
Conclusione
Il campionamento non probabilistico è utile quando la randomizzazione è difficile, ma può introdurre bias.La scelta del metodo dipende dal contesto e dagli obiettivi dello studio.