Probabilità: approccio frequentista e soggettivista a confronto

Probabilità: approccio frequentista e soggettivista a confronto

Condividi con i tuoi amici...

L’approccio frequentista alla probabilità prevede di contare quante volte succede qualcosa per capire quanto è probabile che succeda di nuovo. Per esempio, se lanci una moneta 100 volte e 50 volte esce testa, diresti che la probabilità che esca testa è del 50%. È un po’ come contare quante volte piove in un mese per capire quanto spesso pioverà il prossimo mese.

Bruno De Finetti, un famoso matematico, non era molto d’accordo con questo modo di vedere le cose. Lui diceva che questa visione ha dei problemi perché non tutto può essere ripetuto tante volte per contare i risultati. Ad esempio, non puoi “ripetere” un evento come un’elezione presidenziale molte volte per vedere quante volte vince un candidato.

L’approccio soggettivista

L’approccio soggettivista alla probabilità, che è quello che De Finetti preferiva, implica fare una stima basata su ciò che pensi o credi. Qui, la probabilità è più personale e dipende da quello che sai o credi. Per esempio, se pensi che domani pioverà perché hai visto delle nuvole scure, stai usando la probabilità in modo soggettivo.

Bruno de Finetti, un matematico e statistico italiano, aveva una visione unica della probabilità, nota come “interpretazione soggettiva” o “probabilità bayesiana soggettiva”.

Secondo De Finetti, la probabilità non è una proprietà intrinseca degli eventi o dei fenomeni, ma piuttosto un’espressione della fiducia o della credenza soggettiva di un individuo riguardo all’accadimento di un certo evento. In altre parole, la probabilità è vista come una misura della certezza personale piuttosto che come una proprietà oggettiva.

Questa visione si distingue nettamente dall’interpretazione frequentista della probabilità, che considera la probabilità come il limite della frequenza relativa di un evento in una serie infinita di prove. Per de Finetti, le probabilità sono personali e si aggiornano con l’acquisizione di nuove informazioni, in linea con il teorema di Bayes.

Sul fronte dei recenti sviluppi, la visione soggettiva della probabilità continua ad avere un impatto significativo, specialmente nell’ambito della statistica bayesiana. I moderni statistici bayesiani utilizzano il concetto di probabilità soggettiva per incorporare conoscenze pregresse (o priori) e aggiornarle con nuove evidenze per ottenere una distribuzione di probabilità posteriori. Questo approccio è diventato sempre più popolare in molti campi, dalla scienza dei dati all’intelligenza artificiale, dove è fondamentale integrare l’incertezza e le credenze soggettive nell’analisi statistica.

Secondo Bruno De Finetti, l’interpretazione frequentista della probabilità presenta alcune limitazioni sostanziali. Essa si basa sulla nozione di serie infinite di esperimenti, che è un concetto teorico e non praticamente realizzabile. De Finetti sosteneva che nella realtà, abbiamo a che fare con un numero finito di eventi, rendendo l’applicazione diretta del frequentismo problematica.

Il frequentismo tratta la probabilità come una proprietà oggettiva e fisica degli eventi, che esiste indipendentemente dalle credenze o dalle conoscenze degli osservatori. De Finetti riteneva che questa visione ignorasse il ruolo delle credenze soggettive e delle informazioni pregresse nell’assegnazione delle probabilità. L’interpretazione frequentista fatica a gestire eventi unici o non ripetibili. Ad esempio, assegnare una probabilità alla domanda “Ci sarà una guerra mondiale entro il 2050?” è difficile secondo il frequentismo, poiché non si può ripetere questo evento in molteplici prove.

Il teorema di Bayes

L’approccio soggettivista alla probabilità, come quello proposto da Bruno de Finetti, si concentra sull’uso del teorema di Bayes per aggiornare le probabilità in base alle informazioni disponibili. La formula base del teorema di Bayes è:

Dove:

P(H∣E) è la probabilità posteriore, ovvero la probabilità della ipotesi H dopo aver osservato l’evidenza E.
P(E∣H) è la verosimiglianza, ovvero la probabilità di osservare l’evidenza E se l’ipotesi H è vera.
P(H) è la probabilità a priori dell’ipotesi H prima di osservare l’evidenza.
P(E) è la probabilità marginale dell’evidenza E, che funge da fattore di normalizzazione.

Abbiamo già parlato del teorema di Bayes in questo articolo: Il classificatore di Bayes

In questo contesto, la probabilità non è vista come un attributo intrinseco degli eventi, ma piuttosto come un grado di credenza o fiducia in un’affermazione, che può essere aggiornato man mano che emergono nuove informazioni.

In pratica, questo significa che ogni individuo può avere una probabilità iniziale diversa (a priori) basata sulle proprie credenze o conoscenze, che poi viene aggiornata in maniera bayesiana quando si presentano nuove evidenze. Questo è in netto contrasto con l’interpretazione frequentista, che considera la probabilità come una proprietà oggettiva basata sulla frequenza di occorrenza degli eventi.

Per capire bene questo approccio ti consigliamo di leggere anche l’articolo
L’inferenza baysiana: un modo razionale di cambiare idea

Esempio: il lancio di un dado

Nel caso di eventi ripetibili come il lancio di un dado, è possibile integrare l’approccio frequentista e quello bayesiano soggettivista.

In un’interpretazione frequentista, la probabilità di un determinato risultato (ad esempio, ottenere un “6” lanciando un dado) è basata sulla frequenza relativa con cui quel risultato si verifica in un gran numero di lanci. Se il dado è equilibrato, ci aspetteremmo che ogni faccia compaia con la stessa frequenza nel lungo periodo, quindi la probabilità di ottenere un “6” sarebbe 1/6

Nell’approccio bayesiano soggettivista si inizia con una probabilità a priori (che può essere basata su credenze personali, conoscenze pregresse o semplicemente una distribuzione uniforme se non c’è conoscenza pregressa). Dopo ogni lancio del dado, si aggiorna questa probabilità a priori utilizzando il teorema di Bayes, basandosi sui risultati osservati.

Inizialmente, si può partire con una probabilità a priori (ad esempio, la probabilità uniforme di 1/6 per ogni faccia del dado se non ci sono ragioni per credere che il dado sia truccato). Ogni volta che si lancia il dado, si utilizza il risultato per aggiornare questa probabilità. Con un numero sufficiente di lanci, la probabilità bayesiana soggettiva dovrebbe convergere verso quella frequentista assumendo che il dado non sia truccato e che i lanci siano indipendenti e identicamente distribuiti.

Supponiamo che dopo alcuni lanci, i risultati suggeriscano che il dado potrebbe non essere equilibrato (ad esempio, il “6” appare più frequentemente del previsto). Un bayesiano aggiornerebbe la sua probabilità a posteriori di ogni faccia del dado in base a questi risultati. Questo aggiornamento continua con ogni lancio, riflettendo sempre più precisamente la distribuzione reale delle frequenze del dado.

Se il dado è effettivamente equilibrato, le probabilità bayesiane a posteriori dovrebbero convergere verso 1/6​ per ogni faccia con un numero sufficiente di lanci, in linea con l’interpretazione frequentista. Questo mostra come, in condizioni ideali e con dati sufficienti, i due approcci possono convergere verso la stessa conclusione.

La differenza chiave nella pratica è che mentre il frequentismo considera la probabilità come una proprietà intrinseca e fissa dell’evento (in questo caso, il lancio del dado), l’approccio bayesiano soggettivista consente una valutazione dinamica e adattabile in base alle informazioni disponibili. Questo può essere particolarmente utile in situazioni reali dove le condizioni possono cambiare o dove l’informazione iniziale è incompleta o incerta.

In sintesi, integrando i due approcci nel contesto di eventi ripetibili come il lancio di un dado, si può iniziare con un’ipotesi iniziale bayesiana (la probabilità a priori) e poi affinarla continuamente in base all’osservazione dei risultati, con l’aspettativa che, nel lungo termine, i risultati bayesiani riflettano le probabilità frequentiste se l’oggetto del test (il dado) è equilibrato e non manipolato.

Approccio baysiano nel caso del lancio del dado

Per illustrare l’approccio bayesiano nel caso del lancio di un dado, consideriamo un esempio in cui vogliamo stimare la probabilità che il dado mostri un “6” ad ogni lancio. Supponiamo di non sapere se il dado è equilibrato. Utilizzeremo il teorema di Bayes per aggiornare le nostre credenze a ogni lancio del dado.

H: il dado è equilibrato
¬H: il dado non è in equilibrato
E: risultato del lancio: 6

P(E|H) è la probabilità di osservare l’evidenza (E) dato che l’ipotesi (H) è vera. Nel caso del lancio di un dado equilibrato, questa è la probabilità di ottenere un “6” supponendo che il dado sia effettivamente equilibrato. Questa probabilità è sempre 1/6, indipendentemente dai risultati dei lanci precedenti.

P(H) è la probabilità a priori che l’ipotesi sia vera, e cambia man mano che vengono raccolte nuove informazioni. Ad esempio, se continuiamo a ottenere un numero insolitamente alto di “6”, potremmo iniziare a sospettare che il dado sia truccato.

P(E) è la probabilità di osservare l’evidenza indipendentemente dall’ipotesi. Per il teorema delle probabilità totali: P(E) = P(E|H)P(H) + P(E|¬H)P(¬H)

Si vede che per calcolare P(E) bisogna conoscere già P(E|¬H) la probabilità di ottenere 6 quando il dado è truccato. A tal fine si deve già avere un modello a priori di “dado sbilanciato a favore del 6” appreso da altri esperimenti.

P(H|E), la probabilità a posteriori, è ciò che aggiorniamo in base ai risultati osservati. Se iniziamo ad ottenere un numero insolitamente alto di “6”, questa probabilità diminuirà, riflettendo la crescente credenza che il dado possa essere truccato a favore del “6”.

In sintesi, P(E|H) rimane costante in questo scenario perché è basata sulla struttura intrinseca del dado e non cambia in base ai risultati dei lanci.

Serie di lanci

Lancio 1
se esce 6: P(H∣E) = P(E∣H)×P0(H) / P0(E) = P1(H)
dove P0(E) = P(E|H)P0(H) + P(E|¬H)P0(¬H)

se non esce 6: P(H∣¬E) = P(¬E∣H)×P0(H) / P0(¬E) = P1(H)
dove P0(¬E) = (1 – P(E|H))P0(H) + (1- P(E|¬H))P0(¬H)

Lancio 2
se esce 6: P(H∣E) = P(E∣H)xP1(H) / P1(E) = P2(H)
dove P1(E) = P(E|H)P1(H) + P(E|¬H)P1(¬H)

se non esce 6: P(H∣¬E) = P(¬E∣H)xP1(H) / P1(¬E) = P2(H)
dove P1(¬E) = (1 – P(E|H))P1(H) + (1- P(E|¬H))P1(¬H)

Lancio 3
se esce 6: P(H∣E) = P(E∣H)xP2(H) / P2(E) = P3(H)
dove P2(E) = P(E|H)P2(H) + P(E|¬H)P2(¬H)

se non esce 6: P(H∣¬E) = P(¬E∣H)xP2(H) / P2(¬E) = P3(H)
dove P2(¬E) = (1 – P(E|H))P2(H) + (1- P(E|¬H))P2(¬H)
…..

Lancio n
se esce 6: P(H∣E) = P(E∣H)xPn(H) / Pn(E) = Pn+1
dove Pn(E) = P(E|H)Pn(H) + P(E|¬H)Pn(¬H)

se non esce 6: P(H∣¬E) = P(¬E∣H)xPn(H) / Pn(¬E) = Pn+1
dove Pn(¬E) = (1 – P(E|H))Pn(H) + (1- P(E|¬H))Pn(¬H)

Dopo n lanci, Pn(H) rappresenta la probabilità aggiornata che il dado sia equilibrato, data l’evidenza raccolta fino a quel punto. È importante comprendere che questa è una misura della nostra credenza sull’equilibrio del dado rispetto al numero 6.

Dopo un certo numero di lanci Pn(H) può essere usato per stabilire con che probabilità uscirà 6 nel prossimo lancio con quel dado:

P(E)=P(E∣H)Pn+1(H)+P(E∣¬H)Pn+1(¬H)

dove:

P(E∣H)=1/6 probabilità di ottenere un “6” se il dado è equilibrato

Pn+1(¬H)=1−Pn+1(H) probabilità che il dado non sia equilibrato, data le serie di N risultati

Diagramma di flusso

CLICCA SUL DIAGRAMMA PER INGRANDIRLO

P(E∣¬H) è la probabilità di ottenere un “6” se il dado non è equilibrato, che deve essere stimata o assunta in base ai dati disponibili ma in un contesto reale potrebbe non essere immediatamente nota e richiederebbe un’analisi dettagliata dei risultati dei lanci o della struttura del dado stessa. È possibile utilizzare un approccio bayesiano anche per stabilire P(E|¬H), Tuttavia, questo richiede di avere o sviluppare una modello di come il dado potrebbe essere truccato e quali siano le probabilità risultanti per ciascun esito.

Esempio con python

Per semplicità, assumeremo che P(E|¬H) sia un valore noto o stimato, come 0.5 (50% di probabilità di ottenere 6 con un dado truccato). In un caso reale, questo valore potrebbe essere molto diverso e richiederebbe analisi dettagliate.

Questo algoritmo è fatto per trattare con dadi equilibrati o di cui si conosce il grado di disequlibrio rispetto al 6 e non rispetto ad altri numeri. Se per esempio abbiamo a che fare con un dado truccato che privilegia il 5, questo algoritmo richiede comunque la conoscenza della probabilità dell’uscita del 6 con tale dado. Le previsioni vengono fatte solo in relazione al risultato 6. Quindi se il dado è truccato a favore di un numero diverso dal 6 ci spettiamo che la probabilità associata al 6 sia molto inferiore ad 1/6, allora in questo caso potremmo impostare P(E|¬H) = 0.05.


# Parametri iniziali
ph = 0.5  # Probabilità iniziale che il dado sia equilibrato
pe_h = 1/6  # Probabilità di ottenere 6 con un dado equilibrato
pe_noh = 0.5  # Probabilità di ottenere 6 con un dado non equilibrato, assunta per esempio

# Esempio di simulazione di lanci
risultati_lanci = [6, 2, 6, 6, 5, 6, 3, 6, 6, 6]  # Risultati dei lanci (6 indica un 6, altro numero indica non-6)

def aggiorna_probabilita(ph, pe_h, pe_noh, risultato):
    """
    Aggiorna la probabilità che il dado sia equilibrato (P(H)) usando il teorema di Bayes.

    :param ph: Probabilità attuale che il dado sia equilibrato.
    :param pe_h: Probabilità di ottenere un 6 con un dado equilibrato.
    :param pe_noh: Probabilità di ottenere un 6 con un dado non equilibrato.
    :param risultato: Risultato del lancio del dado (6 o non-6).
    :return: Nuova probabilità che il dado sia equilibrato.
    """
    if risultato == 6:
        # Calcolo di P(E)
        pe = pe_h * ph + pe_noh * (1 - ph)
        # Aggiornamento di P(H|E) usando il teorema di Bayes
        ph_nuovo = (pe_h * ph) / pe
    else:
        # Calcolo di P(¬E)
        pne = (1 - pe_h) * ph + (1 - pe_noh) * (1 - ph)
        # Aggiornamento di P(H|¬E) usando il teorema di Bayes
        ph_nuovo = ((1 - pe_h) * ph) / pne

    return ph_nuovo

def calcola_probabilita_6_next(ph, pe_h, pe_noh):
    """
    Calcola la probabilità di ottenere un 6 nel prossimo lancio.

    :param ph: Probabilità aggiornata che il dado sia equilibrato.
    :param pe_h: Probabilità di ottenere un 6 con un dado equilibrato.
    :param pe_noh: Probabilità di ottenere un 6 con un dado non equilibrato.
    :return: Probabilità di ottenere un 6 nel prossimo lancio.
    """
    return pe_h * ph + pe_noh * (1 - ph)


# Simulazione dei lanci e aggiornamento delle probabilità
for risultato in risultati_lanci:
    ph = aggiorna_probabilita(ph, pe_h, pe_noh, risultato)
    probabilita_6_next = calcola_probabilita_6_next(ph, pe_h, pe_noh)
    print(f"Dopo aver ottenuto {risultato}, la probabilità aggiornata che il dado sia equilibrato è {ph:.2f}")
    print(f"La probabilità di ottenere un 6 nel prossimo lancio è {probabilita_6_next:.2f}\n")

Descrizione del programma

Il programma è un esempio di applicazione del teorema di Bayes per aggiornare la probabilità che un dado sia equilibrato, basandosi sui risultati dei lanci del dado. Ecco una descrizione dettagliata dell’algoritmo passo dopo passo:

Inizializzazione dei Parametri:
ph = 0.5: Probabilità iniziale che il dado sia equilibrato.
pe_h = 1/6: Probabilità di ottenere un 6 con un dado equilibrato.
pe_noh = 0.5: Probabilità di ottenere un 6 con un dado non equilibrato.

Definizione della Lista dei Risultati dei Lanci:

risultati_lanci = [6, 2, 6, 6, 5, 6, 3, 6, 6, 6]: Una lista che rappresenta i risultati di una serie di lanci di dado.

Definizione della Funzione aggiorna_probabilita:
Questa funzione aggiorna la probabilità che il dado sia equilibrato (ph) dopo ogni lancio, utilizzando il teorema di Bayes.

Se il risultato del lancio è 6, calcola la probabilità complessiva di ottenere un 6 (pe) e poi aggiorna ph per riflettere la probabilità che il dado sia equilibrato dato che è uscito un 6.

Se il risultato non è 6, calcola la probabilità complessiva di non ottenere un 6 (pne) e poi aggiorna ph per riflettere la probabilità che il dado sia equilibrato dato che non è uscito un 6.

Definizione della Funzione calcola_probabilita_6_next:
Questa funzione calcola la probabilità di ottenere un 6 nel prossimo lancio, basandosi sulla probabilità aggiornata che il dado sia equilibrato (ph).

Simulazione dei Lanci e Aggiornamento delle Probabilità:

Il programma itera attraverso ogni risultato nella lista risultati_lanci.
Per ogni risultato, chiama la funzione aggiorna_probabilita per aggiornare ph.
Dopo l’aggiornamento di ph, chiama la funzione calcola_probabilita_6_next per calcolare la probabilità di ottenere un 6 nel lancio successivo.
Stampa la probabilità aggiornata che il dado sia equilibrato e la probabilità di ottenere un 6 nel prossimo lancio.

Output Finale:
Dopo aver processato tutti i lanci, il programma stampa la probabilità finale che il dado sia equilibrato e la probabilità di ottenere un 6 nel prossimo lancio.