Se ricordi bene, il passo successivo è imparare a programmare.
Ma una volta che conosci tutto il Python di cui hai bisogno per fare data science, è il momento di consolidare le conoscenze che hai acquisito.
Gli argomenti statistici per la data science a cui questo blog fa riferimento e per cui include risorse sono:
Questa lista non esaurisce le statistiche usate in data science, ma serve per iniziare. :)
A proposito, se stai ancora cercando di iniziare a imparare Python per la data science, dovresti considerare il nostro corso Intro to Python For Data Science. Ti aiuterà ad applicare le statistiche con Python.
Imparare le statistiche per la data science è molto pratico, ed è per questo che non dovresti dimenticare di (continuare a) concentrarti anche sulla pratica dei concetti teorici che potresti aver già appreso all’inizio del tuo percorso nella data science.
Ma qual è esattamente la differenza tra statistica e data science?
Spesso vengono confuse, e qualcuno dice che non c’è differenza e che il data scientist è in realtà uno statistico.
Ma alla fine, se metti da parte queste opinioni per un momento, la maggior parte può concordare sul fatto che la statistica è uno dei componenti fondamentali usati nella data science ed è uno dei componenti chiave.
Statistiche con Python
Il post di oggi si concentra su come puoi imparare le statistiche con Python. Inclusi gli argomenti di analisi statistica che dovrai esplorare nel tuo percorso di data science usando Python.
Perché Python?
R è un buon punto di partenza per la statistica. È stato sviluppato per il calcolo statistico e la grafica, quindi offre un mare di pacchetti statistici ai suoi utenti. Python, d’altro canto, è un linguaggio di uso generale con molte applicazioni.
Tuttavia, puoi usare anche Python per la statistica.
C’è chi dice di usare Python per le sue prestazioni o perché può fare molte delle cose che fa anche R.
Ma, in sostanza, questo linguaggio di programmazione è sempre più popolare e il numero di pacchetti utilizzabili per la data science è sicuramente aumentato negli ultimi anni.
In breve, ci sono sicuramente dei motivi per usare Python per l’analisi statistica.
Lo strumento che sceglierai dipenderà semplicemente dal tipo di analisi che vuoi fare.
Allora, sei pronto per iniziare con le statistiche in Python?
PS. Se cerchi anche risorse per imparare le statistiche con R o R in generale, dai un’occhiata ai corsi open di DataCamp o a Intro to Statistics With R.

Statistiche e teoria della probabilità in Python
Il primo argomento che dovresti probabilmente affrontare è la statistica e la teoria della probabilità. Non ci sono solo molti video e corsi che possono aiutarti, ma ci sono anche molti libri (cartacei) che ti aiuteranno a iniziare con le statistiche in Python.
Introduzione alla statistica con Python
Per un’introduzione alla statistica, questo tutorial con esempi reali è la strada giusta. I notebook di questo tutorial ti introdurranno a concetti come media, mediana, deviazione standard e le basi di argomenti come test d’ipotesi e distribuzioni di probabilità.
Un ottimo modo per iniziare a studiare statistica, dato che è ispirato ai libri "Think Bayes" e "Think Stats", due consigli al top che torneranno qui sotto!
Se cerchi libri, puoi provare questo libro gratuito sulla statistica computazionale in Python, che non solo contiene un’introduzione alla programmazione con Python, ma tratta anche argomenti come Markov Chain Monte Carlo, l’algoritmo di Expectation-Maximization (EM), metodi di ricampionamento e molto altro.
Oppure puoi acquistare questo libro di Thomas Haslwanter per un’introduzione generale ai test statistici comuni, all’analisi di regressione lineare e ad argomenti di analisi di sopravvivenza e statistica bayesiana. Nota che questo libro considera le scienze della vita e mediche come area di applicazione.
Entrambi i libri di cui sopra ti introducono anche ad argomenti di statistica più avanzati con Python, come puoi vedere.
Se sei un fan dei video, dovresti considerare di guardare questo tutorial sull’analisi statistica dei dati con SciPy di Christopher Fonnesbeck, Assistant Professor nel Dipartimento di Biostatistica alla Vanderbilt University School of Medicine. C’è anche questo video sulla statistica inferenziale ed esplorativa con Python di Gaël Varoquaux. Quest’ultimo video utilizza i pacchetti Python Pandas e StatsModels.
Vedrai che queste risorse sono piuttosto generali per iniziare con le statistiche in Python.
Se cerchi risorse che ti mettano rapidamente al passo con le basi della statistica, dai un’occhiata al corso di DataCamp Statistical Thinking in Python, tenuto da Justin Bois. Verrai introdotto a concetti come Exploratory Data Analysis (EDA), varianza e covarianza, medie e mediane, distribuzioni di probabilità e molto altro.
Teoria della probabilità con Python
La teoria della probabilità è anche qualcosa di estremamente prezioso da considerare quando impari le statistiche con Python. È l’analisi dei fenomeni aleatori. Significa che l’esito di un evento casuale è non deterministico: può essere uno dei diversi risultati possibili, e l’esito finale è determinato dal caso.
La teoria della probabilità contiene le origini concettuali della statistica.
Le risorse menzionate sopra davano un’introduzione generale alla statistica e, in alcuni casi, coprivano anche la teoria della probabilità (il che sembra ragionevole dato quanto sopra), ma ci sono anche risorse che si concentrano esclusivamente su questo argomento.
Puoi anche consultare le seguenti risorse:
Una delle raccomandazioni migliori è il corso Computational Probability and Inference di EdX. Questo corso pratico, tenuto da docenti del MIT, ti metterà a tuo agio con i principi di probabilità e inferenza.
Dovresti anche leggere questo libro gratuito, scritto dal Professor Brian Blais, che è un manuale introduttivo di inferenza statistica, motivato dalla teoria della probabilità come logica.
Distribuzioni di probabilità in Python
Per imparare davvero le statistiche con Python per la data science, dovresti anche sviluppare una buona intuizione su quando usare quale distribuzione. Una distribuzione è un elenco o una funzione che mostra tutti i possibili valori o intervalli dei dati e con quale frequenza si verificano.
E, se dai un’occhiata a questa lista, vedrai che ci sono parecchie distribuzioni da considerare.
Per un’introduzione alle distribuzioni di probabilità uniforme, normale, binomiale e di Poisson con SciPy, puoi consultare questo post.
Un consiglio al top è il quarto capitolo del libro “Think Stats: Probability and Statistics for Programmers”, che ti introdurrà alle distribuzioni continue. Tuttavia, anche il quinto capitolo ti darà una solida introduzione alle distribuzioni di probabilità.
Per visualizzare le distribuzioni, puoi usare tra le altre cose gli istogrammi. Se vuoi una panoramica rapida, puoi consultare questo notebook IPython, che ti offre una breve introduzione alla statistica descrittiva con valori medi, quantili e istogrammi e le loro relazioni. Per saperne di più su come visualizzare le distribuzioni, puoi consultare questo tutorial su Seaborn.
C’è anche questo tutorial di plotly sulle statistiche di base in Python.
Nota che se vuoi seguire un corso che copra alcune delle distribuzioni, come binomiale e di Poisson, e funzioni di distribuzione come la funzione di distribuzione cumulativa empirica, o un corso che ti insegni a visualizzare queste distribuzioni, puoi consultare il corso di DataCamp su Statistical Thinking in Python.

Test d’ipotesi in Python
I test d’ipotesi sono test statistici usati per determinare se c’è abbastanza evidenza in un campione di dati per inferire che una certa condizione sia vera per l’intera popolazione.
I due concetti centrali di questi test sono l’ipotesi nulla e l’ipotesi alternativa, ma anche il p-value è fondamentale per i test d’ipotesi. Queste cose sono molto difficili da capire quando sei nuovo nel campo, e richiederanno un certo impegno per afferrare il valore alpha o livello di significatività per il tuo p-value e cosa fa la differenza tra rifiutare o non rifiutare l’ipotesi nulla.
Troverai un tutorial sul sito della libreria SciPy che lavora brevemente con p-value e stima.
Queste lezioni di SciPy ti introdurranno al t-test, che puoi usare per testare la tua ipotesi analizzando le medie di due popolazioni. Puoi anche fare riferimento a questo post se vuoi esplorare i t-test.
Se vuoi leggere un libro, il consiglio top “Think Stats: Probability and Statistics for Programmers” resta valido anche per i test d’ipotesi. Il settimo capitolo ti insegnerà tutto sui test d’ipotesi se non hai già affrontato gli altri capitoli per imparare le distribuzioni.
Per chi cerca corsi, Statistical Thinking in Python (Part 2) di DataCamp offre un’introduzione ed esempi di test per acquisire le conoscenze e la pratica necessarie sui test d’ipotesi e molto altro.
Modellazione statistica e fitting in Python
Ora che hai preso confidenza con test d’ipotesi e distribuzioni, puoi prima rivedere o approfondire come creare modelli statistici e adattare distribuzioni ai dati.
I modelli statistici approssimano ciò che genera i tuoi dati e possono essere usati nell’analisi dei dati per riassumere, prevedere e simulare. In altre parole, sono una rappresentazione dei fenomeni complessi che hanno generato i dati e possono essere usati per riepiloghi, previsioni o simulazioni.
Questo, però, implica che tu debba anche saper capire se i tuoi dati si adattano a quel modello.
Per fornire il miglior adattamento tra modello e dati si può usare la stima. La stima riguarda la formulazione di inferenze su una popolazione, basate su informazioni ottenute da un campione. Oltre ai test d’ipotesi, è un modo per imparare qualcosa sulla popolazione a partire dal campione.
Questo tutorial ti introduce al tema del fitting con l’aiuto della libreria Python SciPy.
La modellazione statistica dei dati e il fitting sono anche un capitolo di questo tutorial di analisi statistica, sviluppato in notebook e realizzato da Christopher Fonnesbeck. Questo nome ormai ti suonerà familiare!
Per chi preferisce i video, questo tutorial è disponibile anche su YouTube in quattro video e tratta argomenti come stima (Massima Verosimiglianza e Metodo dei Momenti).
Puoi vedere i video di questo tutorial qui.
A proposito, se vuoi saperne di più sulla stima della massima verosimiglianza per la classificazione statistica dei pattern, non perderti questo notebook IPython o questo notebook che spiega come calcolare questa stima per diverse distribuzioni. Questi notebook fanno parte del repository sulla classificazione dei pattern realizzato da Sebastian Raschka, che ha anche un altro repository per il suo libro Python Machine Learning.
Machine Learning con Python
E con quest’ultimo suggerimento sul libro di Machine Learning, potresti chiederti: ma questo post parlava di statistica, giusto?
Esatto.
E non è che machine learning e statistica siano la stessa cosa, ma pongono la stessa domanda: come possiamo imparare dai dati?
Inoltre, sia le tecniche di machine learning che quelle statistiche sono spesso usate, ad esempio, nel riconoscimento di pattern o nel data mining.
Il machine learning è uno strumento molto utile nella tua cassetta degli attrezzi di data science. È un argomento piuttosto vasto e puoi impiegare molto tempo per comprenderne concetti e algoritmi.
Per questo è meglio iniziare subito!
Ma non è così immediato capire da dove iniziare, dato che è così ampio ed esistono molte risorse per diventare competenti nel machine learning in Python.
Il corso generale di machine learning tenuto da Andrew Ng è piuttosto teorico, ma è comunque consigliato se vuoi prima affrontare i concetti e gli algoritmi principali da un punto di vista teorico.
Tuttavia, ci sono anche molte risorse più pratiche che possono aiutarti a iniziare.
Le seguenti risorse sono solo alcune tra quelle disponibili:
Questa introduzione “gentile” al machine learning con SciPy ti aiuterà a imboccare la strada giusta. Questo tutorial è ideale per chi vuole ripassare le conoscenze statistiche di base e costruirci sopra. Kyle Kastner ti guida attraverso stima dei parametri, regressione, stima dei modelli e classificazione di base.
Se vuoi un libro per affrontare l’argomento, puoi dare un’occhiata a IPython Interactive Computing and Visualization Cookbook. L’ottavo capitolo offre un’introduzione ai concetti fondamentali di machine learning e illustra algoritmi come regressione logistica, Naive Bayes, K-nearest neighbors, Support Vector Machines, random forest e altri. Il cookbook usa il pacchetto Scikit-learn per gli esempi.
Se vuoi un tutorial con un’introduzione a Scikit-learn per il machine learning, vai qui.
Inoltre, non perdere questo tutorial sul classificatore Naive Bayes.
Analisi di regressione con Python
La regressione è sicuramente qualcosa che non puoi perdere quando si parla di statistiche per la data science. È un processo statistico per stimare la relazione tra variabili.
Per capire come fare regressione con Python, dovresti iniziare con del materiale sulla regressione lineare.
Ma dai prima un’occhiata a questo tutorial : copre l’analisi di regressione usando il pacchetto StatsModels con Quandl. Prima spiega i diversi tipi di regressione esistenti e poi ti fornisce un esempio pratico.
Poi, passa attraverso questo tutorial sulla regressione lineare per fare più pratica.
Quindi, puoi passare alla regressione non lineare. Per un tutorial sulla regressione ridge e lasso in Python, puoi consultare questo tutorial di Analytics Vidhya. L’articolo utilizza le librerie Python NumPy, Pandas, Matplotlib e Scikit-learn per spiegarti chiaramente come affrontare questo argomento.
C’è anche un ottimo notebook sulla regressione logistica che puoi trovare qui.
Inoltre, non perdere questo post di Yhat sul blog sulla regressione logistica con Rodeo.

Pensiero e modellazione bayesiana in Python
La statistica bayesiana è una teoria che esprime l’evidenza sul vero stato del mondo in termini di gradi di credenza noti come probabilità bayesiane. A volte vorrai adottare un approccio bayesiano ai problemi di data science.
Ciò che questo significhi esattamente diventerà chiaro in questa eccellente serie introduttiva in cinque parti che ti introdurrà al frequentismo e al bayesianesimo.
Se però preferisci i libri, puoi dare un’occhiata a “Think Bayes: Bayesian Statistics in Python”. "Bayesian Methods For Hackers" è un’altra ottima risorsa per introdursi all’inferenza bayesiana. Due libri imperdibili per chiunque voglia iniziare con il pensiero e la modellazione bayesiana!
Oppure, se vuoi un’introduzione in un notebook, puoi seguire questo tutorial, che ti introduce al teorema di Bayes.
Non perdere inoltre questo tutorial sull’analisi statistica bayesiana in Python e i video su YouTube di accompagnamento che ti introdurranno alla statistica bayesiana, alle catene di Markov Monte Carlo, a PyMC, alla modellazione gerarchica e al controllo e alla validazione dei modelli.
Per un tutorial sul fitting di modelli bayesiani in Python, dovresti consultare questi notebook IPython e il video su YouTube di accompagnamento, che è una lezione di Jake VanderPlas all’ESAC Data Analysis and Statistics Workshop 2014.
Se vuoi riutilizzare risorse, puoi consultare l’IPython Interactive Computing and Visualization Cookbook, che potresti aver già usato per il Machine Learning. Il settimo capitolo di questo libro riguarda l’analisi statistica dei dati ma si concentra su metodi frequentisti e bayesiani per test d’ipotesi, stima parametrica e non parametrica e inferenza sui modelli.
Qui trovi un tutorial su PyMC, un modulo Python che implementa modelli statistici bayesiani e algoritmi di fitting, incluse le catene di Markov Monte Carlo (MCMC). Inoltre, vale la pena dare un’occhiata a questo tutorial, in cui imparerai a implementare modelli di regressione lineare bayesiana con PyMC3.
Catene di Markov
Detto in modo semplice, le catene di Markov sono sistemi matematici che saltano da uno “stato” a un altro. Questi stati possono essere una situazione o un insieme di valori. Significa che hai un elenco di stati disponibili e, in più, una catena di Markov ti dice la probabilità di saltare, o “transitare”, da uno stato a un qualsiasi altro stato.
Alcune delle risorse menzionate sopra ti introducono già a questo argomento.
In aggiunta a quelle risorse, potresti anche voler guardare questo video: è un tutorial che usa, tra le altre cose, la simulazione Monte Carlo e il ricampionamento per esplorare i test d’ipotesi e la modellazione statistica. Potrebbe essere un buon modo per consolidare le tue conoscenze prima di entrare nelle catene di Markov.
Inoltre, il libro Computational Statistics in Python ti darà alcune intuizioni sulle catene di Markov. È un’introduzione fantastica al Markov Chain Monte Carlo.
Iniziare con le statistiche in Python
Questa lista serve solo per iniziare. Vedrai che molte risorse si sovrappongono o potresti trovare altre risorse in giro. Assicurati di farcelo sapere su Twitter!
In ogni caso, non c’è motivo di aspettare oltre per iniziare a imparare le statistiche con Python.
Inizia adesso
Data Science contro Statistica
Secondo la nostra infografica “Impara la Data Science in 8 (facili) passi”, uno dei primi passi per imparare la data science è acquisire una buona comprensione di statistica, matematica e machine learning.
Se ricordi bene, il passo successivo è imparare a programmare.
Ma una volta che conosci tutto il Python di cui hai bisogno per fare data science, è il momento di consolidare le conoscenze che hai acquisito.
Gli argomenti statistici per la data science a cui questo blog fa riferimento e per cui include risorse sono:
Questa lista non esaurisce le statistiche usate in data science, ma serve per iniziare. :)
A proposito, se stai ancora cercando di iniziare a imparare Python per la data science, dovresti considerare il nostro corso Intro to Python For Data Science. Ti aiuterà ad applicare le statistiche con Python.
Imparare le statistiche per la data science è molto pratico, ed è per questo che non dovresti dimenticare di (continuare a) concentrarti anche sulla pratica dei concetti teorici che potresti aver già appreso all’inizio del tuo percorso nella data science.
Ma qual è esattamente la differenza tra statistica e data science?
Spesso vengono confuse, e qualcuno dice che non c’è differenza e che il data scientist è in realtà uno statistico.
Ma alla fine, se metti da parte queste opinioni per un momento, la maggior parte può concordare sul fatto che la statistica è uno dei componenti fondamentali usati nella data science ed è uno dei componenti chiave.
Statistiche con Python
Il post di oggi si concentra su come puoi imparare le statistiche con Python. Inclusi gli argomenti di analisi statistica che dovrai esplorare nel tuo percorso di data science usando Python.
Perché Python?
R è un buon punto di partenza per la statistica. È stato sviluppato per il calcolo statistico e la grafica, quindi offre un mare di pacchetti statistici ai suoi utenti. Python, d’altro canto, è un linguaggio di uso generale con molte applicazioni.
Tuttavia, puoi usare anche Python per la statistica.
C’è chi dice di usare Python per le sue prestazioni o perché può fare molte delle cose che fa anche R.
Ma, in sostanza, questo linguaggio di programmazione è sempre più popolare e il numero di pacchetti utilizzabili per la data science è sicuramente aumentato negli ultimi anni.
In breve, ci sono sicuramente dei motivi per usare Python per l’analisi statistica.
Lo strumento che sceglierai dipenderà semplicemente dal tipo di analisi che vuoi fare.
Allora, sei pronto per iniziare con le statistiche in Python?
PS. Se cerchi anche risorse per imparare le statistiche con R o R in generale, dai un’occhiata ai corsi open di DataCamp o a Intro to Statistics With R.
Statistiche e teoria della probabilità in Python
Il primo argomento che dovresti probabilmente affrontare è la statistica e la teoria della probabilità. Non ci sono solo molti video e corsi che possono aiutarti, ma ci sono anche molti libri (cartacei) che ti aiuteranno a iniziare con le statistiche in Python.
Introduzione alla statistica con Python
Per un’introduzione alla statistica, questo tutorial con esempi reali è la strada giusta. I notebook di questo tutorial ti introdurranno a concetti come media, mediana, deviazione standard e le basi di argomenti come test d’ipotesi e distribuzioni di probabilità.
Un ottimo modo per iniziare a studiare statistica, dato che è ispirato ai libri "Think Bayes" e "Think Stats", due consigli al top che torneranno qui sotto!
Se cerchi libri, puoi provare questo libro gratuito sulla statistica computazionale in Python, che non solo contiene un’introduzione alla programmazione con Python, ma tratta anche argomenti come Markov Chain Monte Carlo, l’algoritmo di Expectation-Maximization (EM), metodi di ricampionamento e molto altro.
Oppure puoi acquistare questo libro di Thomas Haslwanter per un’introduzione generale ai test statistici comuni, all’analisi di regressione lineare e ad argomenti di analisi di sopravvivenza e statistica bayesiana. Nota che questo libro considera le scienze della vita e mediche come area di applicazione.
Entrambi i libri di cui sopra ti introducono anche ad argomenti di statistica più avanzati con Python, come puoi vedere.
Se sei un fan dei video, dovresti considerare di guardare questo tutorial sull’analisi statistica dei dati con SciPy di Christopher Fonnesbeck, Assistant Professor nel Dipartimento di Biostatistica alla Vanderbilt University School of Medicine. C’è anche questo video sulla statistica inferenziale ed esplorativa con Python di Gaël Varoquaux. Quest’ultimo video utilizza i pacchetti Python Pandas e StatsModels.
Vedrai che queste risorse sono piuttosto generali per iniziare con le statistiche in Python.
Se cerchi risorse che ti mettano rapidamente al passo con le basi della statistica, dai un’occhiata al corso di DataCamp Statistical Thinking in Python, tenuto da Justin Bois. Verrai introdotto a concetti come Exploratory Data Analysis (EDA), varianza e covarianza, medie e mediane, distribuzioni di probabilità e molto altro.
Teoria della probabilità con Python
La teoria della probabilità è anche qualcosa di estremamente prezioso da considerare quando impari le statistiche con Python. È l’analisi dei fenomeni aleatori. Significa che l’esito di un evento casuale è non deterministico: può essere uno dei diversi risultati possibili, e l’esito finale è determinato dal caso.
La teoria della probabilità contiene le origini concettuali della statistica.
Le risorse menzionate sopra davano un’introduzione generale alla statistica e, in alcuni casi, coprivano anche la teoria della probabilità (il che sembra ragionevole dato quanto sopra), ma ci sono anche risorse che si concentrano esclusivamente su questo argomento.
Puoi anche consultare le seguenti risorse:
Una delle raccomandazioni migliori è il corso Computational Probability and Inference di EdX. Questo corso pratico, tenuto da docenti del MIT, ti metterà a tuo agio con i principi di probabilità e inferenza.
Dovresti anche leggere questo libro gratuito, scritto dal Professor Brian Blais, che è un manuale introduttivo di inferenza statistica, motivato dalla teoria della probabilità come logica.
Distribuzioni di probabilità in Python
Per imparare davvero le statistiche con Python per la data science, dovresti anche sviluppare una buona intuizione su quando usare quale distribuzione. Una distribuzione è un elenco o una funzione che mostra tutti i possibili valori o intervalli dei dati e con quale frequenza si verificano.
E, se dai un’occhiata a questa lista, vedrai che ci sono parecchie distribuzioni da considerare.
Per un’introduzione alle distribuzioni di probabilità uniforme, normale, binomiale e di Poisson con SciPy, puoi consultare questo post.
Un consiglio al top è il quarto capitolo del libro “Think Stats: Probability and Statistics for Programmers”, che ti introdurrà alle distribuzioni continue. Tuttavia, anche il quinto capitolo ti darà una solida introduzione alle distribuzioni di probabilità.
Per visualizzare le distribuzioni, puoi usare tra le altre cose gli istogrammi. Se vuoi una panoramica rapida, puoi consultare questo notebook IPython, che ti offre una breve introduzione alla statistica descrittiva con valori medi, quantili e istogrammi e le loro relazioni. Per saperne di più su come visualizzare le distribuzioni, puoi consultare questo tutorial su Seaborn.
C’è anche questo tutorial di plotly sulle statistiche di base in Python.
Nota che se vuoi seguire un corso che copra alcune delle distribuzioni, come binomiale e di Poisson, e funzioni di distribuzione come la funzione di distribuzione cumulativa empirica, o un corso che ti insegni a visualizzare queste distribuzioni, puoi consultare il corso di DataCamp su Statistical Thinking in Python.
Test d’ipotesi in Python
I test d’ipotesi sono test statistici usati per determinare se c’è abbastanza evidenza in un campione di dati per inferire che una certa condizione sia vera per l’intera popolazione.
I due concetti centrali di questi test sono l’ipotesi nulla e l’ipotesi alternativa, ma anche il p-value è fondamentale per i test d’ipotesi. Queste cose sono molto difficili da capire quando sei nuovo nel campo, e richiederanno un certo impegno per afferrare il valore alpha o livello di significatività per il tuo p-value e cosa fa la differenza tra rifiutare o non rifiutare l’ipotesi nulla.
Troverai un tutorial sul sito della libreria SciPy che lavora brevemente con p-value e stima.
Queste lezioni di SciPy ti introdurranno al t-test, che puoi usare per testare la tua ipotesi analizzando le medie di due popolazioni. Puoi anche fare riferimento a questo post se vuoi esplorare i t-test.
Se vuoi leggere un libro, il consiglio top “Think Stats: Probability and Statistics for Programmers” resta valido anche per i test d’ipotesi. Il settimo capitolo ti insegnerà tutto sui test d’ipotesi se non hai già affrontato gli altri capitoli per imparare le distribuzioni.
Per chi cerca corsi, Statistical Thinking in Python (Part 2) di DataCamp offre un’introduzione ed esempi di test per acquisire le conoscenze e la pratica necessarie sui test d’ipotesi e molto altro.
Modellazione statistica e fitting in Python
Ora che hai preso confidenza con test d’ipotesi e distribuzioni, puoi prima rivedere o approfondire come creare modelli statistici e adattare distribuzioni ai dati.
I modelli statistici approssimano ciò che genera i tuoi dati e possono essere usati nell’analisi dei dati per riassumere, prevedere e simulare. In altre parole, sono una rappresentazione dei fenomeni complessi che hanno generato i dati e possono essere usati per riepiloghi, previsioni o simulazioni.
Questo, però, implica che tu debba anche saper capire se i tuoi dati si adattano a quel modello.
Per fornire il miglior adattamento tra modello e dati si può usare la stima. La stima riguarda la formulazione di inferenze su una popolazione, basate su informazioni ottenute da un campione. Oltre ai test d’ipotesi, è un modo per imparare qualcosa sulla popolazione a partire dal campione.
Questo tutorial ti introduce al tema del fitting con l’aiuto della libreria Python SciPy.
La modellazione statistica dei dati e il fitting sono anche un capitolo di questo tutorial di analisi statistica, sviluppato in notebook e realizzato da Christopher Fonnesbeck. Questo nome ormai ti suonerà familiare!
Per chi preferisce i video, questo tutorial è disponibile anche su YouTube in quattro video e tratta argomenti come stima (Massima Verosimiglianza e Metodo dei Momenti).
Puoi vedere i video di questo tutorial qui.
A proposito, se vuoi saperne di più sulla stima della massima verosimiglianza per la classificazione statistica dei pattern, non perderti questo notebook IPython o questo notebook che spiega come calcolare questa stima per diverse distribuzioni. Questi notebook fanno parte del repository sulla classificazione dei pattern realizzato da Sebastian Raschka, che ha anche un altro repository per il suo libro Python Machine Learning.
Machine Learning con Python
E con quest’ultimo suggerimento sul libro di Machine Learning, potresti chiederti: ma questo post parlava di statistica, giusto?
Esatto.
E non è che machine learning e statistica siano la stessa cosa, ma pongono la stessa domanda: come possiamo imparare dai dati?
Inoltre, sia le tecniche di machine learning che quelle statistiche sono spesso usate, ad esempio, nel riconoscimento di pattern o nel data mining.
Il machine learning è uno strumento molto utile nella tua cassetta degli attrezzi di data science. È un argomento piuttosto vasto e puoi impiegare molto tempo per comprenderne concetti e algoritmi.
Per questo è meglio iniziare subito!
Ma non è così immediato capire da dove iniziare, dato che è così ampio ed esistono molte risorse per diventare competenti nel machine learning in Python.
Il corso generale di machine learning tenuto da Andrew Ng è piuttosto teorico, ma è comunque consigliato se vuoi prima affrontare i concetti e gli algoritmi principali da un punto di vista teorico.
Tuttavia, ci sono anche molte risorse più pratiche che possono aiutarti a iniziare.
Le seguenti risorse sono solo alcune tra quelle disponibili:
Questa introduzione “gentile” al machine learning con SciPy ti aiuterà a imboccare la strada giusta. Questo tutorial è ideale per chi vuole ripassare le conoscenze statistiche di base e costruirci sopra. Kyle Kastner ti guida attraverso stima dei parametri, regressione, stima dei modelli e classificazione di base.
Se vuoi un libro per affrontare l’argomento, puoi dare un’occhiata a IPython Interactive Computing and Visualization Cookbook. L’ottavo capitolo offre un’introduzione ai concetti fondamentali di machine learning e illustra algoritmi come regressione logistica, Naive Bayes, K-nearest neighbors, Support Vector Machines, random forest e altri. Il cookbook usa il pacchetto Scikit-learn per gli esempi.
Se vuoi un tutorial con un’introduzione a Scikit-learn per il machine learning, vai qui.
Inoltre, non perdere questo tutorial sul classificatore Naive Bayes.
Analisi di regressione con Python
La regressione è sicuramente qualcosa che non puoi perdere quando si parla di statistiche per la data science. È un processo statistico per stimare la relazione tra variabili.
Per capire come fare regressione con Python, dovresti iniziare con del materiale sulla regressione lineare.
Ma dai prima un’occhiata a questo tutorial : copre l’analisi di regressione usando il pacchetto StatsModels con Quandl. Prima spiega i diversi tipi di regressione esistenti e poi ti fornisce un esempio pratico.
Poi, passa attraverso questo tutorial sulla regressione lineare per fare più pratica.
Quindi, puoi passare alla regressione non lineare. Per un tutorial sulla regressione ridge e lasso in Python, puoi consultare questo tutorial di Analytics Vidhya. L’articolo utilizza le librerie Python NumPy, Pandas, Matplotlib e Scikit-learn per spiegarti chiaramente come affrontare questo argomento.
C’è anche un ottimo notebook sulla regressione logistica che puoi trovare qui.
Inoltre, non perdere questo post di Yhat sul blog sulla regressione logistica con Rodeo.
Pensiero e modellazione bayesiana in Python
La statistica bayesiana è una teoria che esprime l’evidenza sul vero stato del mondo in termini di gradi di credenza noti come probabilità bayesiane. A volte vorrai adottare un approccio bayesiano ai problemi di data science.
Ciò che questo significhi esattamente diventerà chiaro in questa eccellente serie introduttiva in cinque parti che ti introdurrà al frequentismo e al bayesianesimo.
Se però preferisci i libri, puoi dare un’occhiata a “Think Bayes: Bayesian Statistics in Python”. "Bayesian Methods For Hackers" è un’altra ottima risorsa per introdursi all’inferenza bayesiana. Due libri imperdibili per chiunque voglia iniziare con il pensiero e la modellazione bayesiana!
Oppure, se vuoi un’introduzione in un notebook, puoi seguire questo tutorial, che ti introduce al teorema di Bayes.
Non perdere inoltre questo tutorial sull’analisi statistica bayesiana in Python e i video su YouTube di accompagnamento che ti introdurranno alla statistica bayesiana, alle catene di Markov Monte Carlo, a PyMC, alla modellazione gerarchica e al controllo e alla validazione dei modelli.
Per un tutorial sul fitting di modelli bayesiani in Python, dovresti consultare questi notebook IPython e il video su YouTube di accompagnamento, che è una lezione di Jake VanderPlas all’ESAC Data Analysis and Statistics Workshop 2014.
Se vuoi riutilizzare risorse, puoi consultare l’IPython Interactive Computing and Visualization Cookbook, che potresti aver già usato per il Machine Learning. Il settimo capitolo di questo libro riguarda l’analisi statistica dei dati ma si concentra su metodi frequentisti e bayesiani per test d’ipotesi, stima parametrica e non parametrica e inferenza sui modelli.
Qui trovi un tutorial su PyMC, un modulo Python che implementa modelli statistici bayesiani e algoritmi di fitting, incluse le catene di Markov Monte Carlo (MCMC). Inoltre, vale la pena dare un’occhiata a questo tutorial, in cui imparerai a implementare modelli di regressione lineare bayesiana con PyMC3.
Catene di Markov
Detto in modo semplice, le catene di Markov sono sistemi matematici che saltano da uno “stato” a un altro. Questi stati possono essere una situazione o un insieme di valori. Significa che hai un elenco di stati disponibili e, in più, una catena di Markov ti dice la probabilità di saltare, o “transitare”, da uno stato a un qualsiasi altro stato.
Alcune delle risorse menzionate sopra ti introducono già a questo argomento.
In aggiunta a quelle risorse, potresti anche voler guardare questo video: è un tutorial che usa, tra le altre cose, la simulazione Monte Carlo e il ricampionamento per esplorare i test d’ipotesi e la modellazione statistica. Potrebbe essere un buon modo per consolidare le tue conoscenze prima di entrare nelle catene di Markov.
Inoltre, il libro Computational Statistics in Python ti darà alcune intuizioni sulle catene di Markov. È un’introduzione fantastica al Markov Chain Monte Carlo.
Iniziare con le statistiche in Python
Questa lista serve solo per iniziare. Vedrai che molte risorse si sovrappongono o potresti trovare altre risorse in giro. Assicurati di farcelo sapere su Twitter!
In ogni caso, non c’è motivo di aspettare oltre per iniziare a imparare le statistiche con Python.
Inizia adesso