Statistica

Metodi di Campionamento

metodo NON Probabilistico

Campionamento Non Probabilistico

Tipologie ed Esempi in Python
Il 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.

Livio Bollini
Walter Livio Bollini

Matematico & Informatico · Intelligenza Artificiale · Sviluppo Web