-->

Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

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.