Foto Adobe Stock

In libreria

Probabilità e modelli. Teoria e pratica con R

di Rocco Micciolo, Luisa Canal, Giuseppe Espa

29 giugno 2021
Versione stampabile
L’Inferenza statistica, ossia l’insieme di teorie e tecniche che ci consentono, partendo da un piccolo numero di osservazioni riferite ad un campione, di trarre conclusioni relative a un’intera popolazione, è un argomento centrale in tutti gli insegnamenti universitari di Statistica. Non si deve, però, trascurare che alle fondamenta dell'Inferenza statistica c'è il calcolo delle probabilità e i concetti di variabile casuale e di distribuzione campionaria. Una buona conoscenza di tali argomenti è, quindi, un requisito necessario per comprendere compiutamente le tematiche affrontate nella maggior parte dei corsi di Statistica che è possibile frequentare all'università. 
Questo volume è dedicato, senza alcuna pretesa di essere esaustivo, proprio al calcolo delle probabilità, alle variabili casuali (discrete e continue) e alle distribuzioni campionarie. Gli argomenti vengono affrontati senza rinunciare al rigore metodologico ed ai necessari formalismi, dalla prospettiva di chi deve utilizzare tali strumenti nelle applicazioni pratiche mediante il software R. 
Il testo "chiude" in qualche modo un percorso iniziato con il volume Analisi esplorativa dei dati con R e proseguito con il manuale Ricerca con R - Metodi di inferenza statistica e colma il gap che li separava giocando il ruolo di  "anello mancante'' di una, ora sì, armoniosa catena didattica il cui file rouge è proprio R.
 
Rocco Micciolo è professore ordinario di Statistica Medica presso il Dipartimento di Psicologia e Scienze Cognitive dell’Università di Trento.
Luisa Canal è professoressa associata di Statistica presso il Dipartimento di Psicologia e Scienze Cognitive dell’Università di Trento.
Giuseppe Espa è professore ordinario di Statistica Economica presso il Dipartimento di Economia e Management dell’Università di Trento.
 
Dalla Presentazione del Professor Alan Agresti (pag. vii)
 
Professors Micciolo, Canal, and Espa have written an interesting and informative book about probability and its relevance to models. Reading it, we learn not only about the foundations of probability and the use of R software for finding probabilities, but we also gain perspective on the history of the subject. So, while learning how to find probabilities in a variety of settings, we also read anecdotes about personalities as diverse as Dante, Galileo, Bayes, and many others who wrote about some aspects of probability. We also learn about contributions of people from this past century whose writings have helped our understanding of probability and its history, such F. N. David, William Feller, and Stephen Stigler.
The first chapter of the book focuses on the basics of probability and its formulation through frequentist, subjective, and axiomatic approaches. Besides its use in games of chance and gambling, we learn about connections in physics regarding the behavior of particles and molecules. The exposition of R software is very helpful both for new users and those with some experience. For instance, do you know about the pbirthday( ) and qbirthday( ) functions relating to the probabilità that at least two of a certain number of people have the same birthday? Interesting examples include a surprising probability of false positives in diagnostic tests even when sensitivity and specificity may be very high, and true probabilities associated with bookmaker-stated odds of various teams winning the Series A championship in soccer. Chapter 2 presents the most important probability distributions for discrete random variables. Related topics include probability inequalities and random walks. Chapter 3, which deals with continuous probability distributions, also presents an introduction to linear and generalized linear models, including various link functions for binary data. Chapter 4 presents results about sampling from probability distributions. It pays special attention to the Central Limit Theorem, including simulations to investigate how well it works for various sample sizes and shapes of distributions.
Although this book focuses mainly on probability and R software, I think that the historical focus and the variety of interesting examples will encourage many readers to want to learn more about the topic and to find out the relevance of these topics to statistical inference and the burgeoning field of data science. Congratulations to professors Micciolo, Canal, and Espa!
 
Dal Capitolo 4: Distribuzioni campionarie (pagg. 233-236)
 
4.11 Il bootstrap
Concludiamo questo capitolo facendo un breve cenno al bootstrap, una tecnica basata sul ricampionamento, introdotta da Bradley Efron nel 1979 per valutare la distorsione (bias) e la varianza di uno stimatore; questo metodo sfrutta la potenza di calcolo dei moderni personal computers. Insieme ai test di permutazione e ai metodi di  "apprendimento statistico" (statistical learning) fa parte dei cosiddetti Computer Intensive Methods entrati a far parte del bagaglio comune di tutti quelli che fanno analisi di dati.
 
In un articolo divulgativo, comparso su Scientific American, Diaconis e Efron (1983) concludevano scrivendo "Fisher was able to provide a statistical theory that took full advantage of the computational facilities of the 1920’s. The goal now is to do the same for the 1980’s". 
 
Si può dire che questo ambizioso progetto è andato (molto) avanti. Il bootstrap è diventato ormai uno strumento standard di inferenza statistica, in particolare in quei campi in cui trovare risultati per via analitica è difficile.   
 
R è un linguaggio che naturalmente si presta ad impiegare queste metodologie e, a proposito del bootstrap, va detto che quando si installa R, viene installato anche il package boot. Nel nostro Ricerca con R abbiamo dedicato varie pagine all’impiego del bootstrap per calcolare intervalli di confidenza ed eseguire test di significatività. In queste pagine vogliamo invece illustrare come si possa impiegare il bootstrap per ottenere una stima approssimata della varianza di uno stimatore. Questa era in un certo senso lo scopo originario del bootstrap proposto da Efron (1979a).
 
L’idea di fondo è davvero estremamente semplice: si tratta di estrarre ripetuti campioni, con rimessa, dai dati originari; in altre parole, si tratta di applicare il metodo Monte Carlo ai dati del proprio campione (e non per simulare nuovi dati come abbiamo fatto fino ad ora). Proprio da questo procedimento proviene il nome bootstrap, facendo riferimento alla frase idiomatica americana "pull oneself over a fence by one’s bootstraps". In effetti inizialmente al bootstrap è stata mossa l’accusa di fare troppo affidamento sui dati campionari. Di fatto, però, i metodi di inferenza statistica si basano sulle informazioni presenti nel campione; se un campione, ancorché estratto seguendo tutti gli accorgimenti del caso, è “estremo” (ad esempio, lontano dal “centro” della distribuzione), i risultati che produrrà saranno verosimilmente distorti. Naturalmente questo rischio, sempre presente per via delle regole probabilistiche, si riduce all’aumentare della dimensione del campione ed è (anche) per questo che è estremamente importante dimensionare in modo accurato un esperimento o uno studio osservazionale.
 
Alla base del bootstrap c’è l’estrazione di un campione bootstrap. Se indichiamo con  l’insieme dei valori osservati su un campione di dimensione n, allora un campione bootstrap si ottiene estraendo con reimmissione dal campione originale x un insieme di n osservazioni. Questo è un campione bootstrap e indichiamo con  l’insieme dei valori entrati a far parte di questo campione. Vediamo come sia immediato ottenere con R un campione bootstrap (basta usare la funzione sample e assegnare all’argomento replace il valore TRUE). Consideriamo una distribuzione uniforme discreta fra 1 e 100 ed estraiamo un campione casuale semplice di 10 osservazioni: 
 
Un (singolo) campione bootstrap si ottiene, in questo caso nel modo seguente:
È del tutto evidente che un campione bootstrap x* non è una permutazione del campione x di partenza, dal momento che l’estrazione è eseguita con rimessa. Quindi, in generale, in un campione bootstrap alcune osservazioni saranno ripetute più di una volta e altre (contenute nel campione originale) non compariranno affatto. Nel nostro esempio 51 si ripete 3 volte, mentre gli elementi di x che non sono stati estratti in x* sono tre:
Naturalmente con un unico campione bootstrap non andremmo da nessuna parte. Il bootstrap consiste nell’estrarre un numero (molto) grande B di campioni bootstrap sui quali calcolare la statistica che ci interessa. Il valore di B dipende da diversi fattori. In particolare, per costruire intervalli di confidenza oppure eseguire test di significatività è necessario un numero più elevato di repliche bootstrap, mentre, se vogliamo avere un’idea di quale possa essere la varianza di uno stimatore (che è quanto vogliamo fare in queste pagine), allora il numero di campioni bootstrap da estrarre può essere più contenuto, ad esempio B=1000 (anche se noi impiegheremo B=10000).
 
Esempio 4.1 L’esempio classico con il quale si introduce generalmente il bootstrap è anche quello in cui non serve in realtà impiegarlo per ottenere la risposta esatta: qual è la varianza della media campionaria? Arrivati quasi alla fine di questo capitolo e di questo libro non possiamo non conoscere la risposta. Se è la varianza della popolazione dalla quale estraiamo un campione casuale semplice di dimensione n, allora la varianza della media campionaria è /n.
 
Verifichiamo che la stima bootstrap della varianza della media campionaria è vicina al valore teorico prendendo in esame una distribuzione uniforme discreta fra 1 e 100 (la cui varianza è quindi  = 833.25) e un campione casuale semplice di n=10 osservazioni estratto da questa distribuzione.
 
 
Estraiamo quindi 10000 campioni bootstrap a partire dagli elementi contenuti nel vettore x. Lo faremo senza ricorrere a cicli, sfruttando la vettorialità di R. 
 
 
La matrice xb ha 10000 righe e 10 colonne. Ogni riga rappresenta un campione bootstrap di 10 osservazioni estratto, con rimessa, dal campione originario i cui valori sono gli elementi di x.
 
Calcoliamo ora la media aritmetica (cioè la statistica della quale vogliamo stimare la varianza) di ogni campione bootstrap.
 
 
e, per finire, la varianza dei 10000 valori contenuti in m sarà la nostra stima bootstrap della varianza della media campionaria:
 
Il valore vero è 833.25/10 = 83.325, ma è davvero "fantastico" come il bootstrap sia riuscito ad arrivare ad una stima non molto lontana dal vero basandosi solo sui dati del campione (e senza “conoscere” la teoria delle distribuzioni campionarie o le proprietà della varianza).
 
Al libro è associato un sito web sul quale si possono trovare gli script di R proposti nel testo, una appendice metodologica e altro materiale integrativo.
 
Per gentile concessione della Casa editrice Maggioli.