FONDAMENTI DI ANALISI DATI E LABORATORIO
Modulo LABORATORIO

Anno accademico 2023/2024 - Docente: ANTONINO FURNARI

Risultati di apprendimento attesi

-->

Il modulo di laboratorio annesso al corso teorico mira a fornire una esperienza pratica di analisi dei dati. I principali strumenti utilizzati sono il linguaggio Python, le librerie per il calcolo scientifico dello stack di scipy e altre note librerie di analisi dei dati basate su Python, e i notebook di Jupyter nelle loro varie declinazioni (in locale, Google Colab e Kaggle). 

Gli obiettivi del corso sono:

  1. Fornire una conoscenza approfondita delle principali tecnologie, linguaggi, librerie e software utili per raccogliere, organizzare, modellare, analizzare e interpretare i dati. 
  2. Guidare lo studente nella costruzione, gestione, analisi di set di dati reali e nella definizione, mediante le tecniche più opportune, modelli dei dati e sistemi di supporto alle decisioni.
  3. Guidare lo studente nella scelta delle tecniche più adeguate alla risoluzione di un dato problema di analisi dei dati ed estrazione della conoscenza, valutandone pro e contro.
  4. Guidare lo studente nella redazione di report completi, rigorosi, e visualmente adeguati che comunichino in modo corretto ed efficace all'utente finale gli esiti della analisi ed esplorazione di un insieme di dati, giustificando con chiarezza le conclusioni.
  5. Fornire le competenze necessarie per permettere agli studenti di aggiornarsi autonomamente sull’utilizzo di software e tecniche di analisi dei dati.

Modalità di svolgimento dell'insegnamento

Lezioni frontali in aula e lavoro individuale degli studenti in aula con l'ausilio del calcolatore.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza, potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

Prerequisiti richiesti

-->

Il corso prevede i seguenti prerequisiti curriculari, che devono essere soddisfatti precedentemente al sostenimento dell’esame:

  •  Programmazione I e Laboratorio
  • Algebra lineare e Geometria 
  • Elementi di Analisi Matematica I
  • Strutture Discrete 

Frequenza lezioni

La frequenza non è obbligatoria, ma fortemente consigliata.

Contenuti del corso

-->

Il corso è articolato in sei moduli principali:

  1. Introduzione all’analisi dei dati: introduzione all’utilizzo di Python per il calcolo scientifico, allo stack Scipy e alla libreria Pandas. Introduzione ai notebook di Jupyter e a Google Colab come strumenti di esecuzione e documentazione di analisi dei dati. Esempi di dataset e loro pre-processing. Utilizzo delle librerie Python Scipy e Numpy per calcolare probabilità e generare valori casuali da diverse distribuzioni.
  2. Analisi dei dati descrittiva ed esplorativa: utilizzo delle librerie Python per eseguire analisi descrittive ed esplorative e creare visualizzazioni dei dati.
  3. Analisi dei dati inferenziale: introduzione alla libreria statsmodels. Utilizzo di librerie Python come statsmodels per eseguire i test di ipotesi, stimare intervalli di confidenza, eseguire la regressione lineare e la selezione del modello.
  4. Cenni di analisi dei dati causale: utilizzo della libreria Python per eseguire semplici analisi causali.
  5. Analisi predittiva: introduzione alla libreria scikit-learn. Utilizzo di Python e librerie come scikit-learn per svolgere compiti di classificazione e regressione e valutare le prestazioni di un modello.
  6. Introduzione all’analisi di serie temporali: utilizzare di Python per svolgere analisi delle serie temporali e previsioni.

Testi di riferimento

-->

Capitoli dei seguenti libri:

  • Peck, Roxy, Chris Olsen, and Jay L. Devore. Introduction to statistics and data analysis. Cengage Learning, 2015.
  • James, Gareth Gareth Michael. An introduction to statistical learning: with applications in Python, 2023.https://www.statlearning.com
  • Bishop, Christopher M. "Machine Learning. Machine learning, 2006. https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning/
  • Hernán, Miguel A., and James M. Robins. Causal inference, 2010. https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/

Materiale didattico condiviso dal docente mediante Microsoft Teams (codice del Team: i87g4nb).


Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione al corsoMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
2Principali concetti di analisi dei datiMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
3Statistica descrittiva e rappresentazione grafica dei detiMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
4Incertezza e dati come osservazioni di eventi casualiMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
5Distribuzione di probabilitàMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
6Introduzione alla inferenza statistica: generalizzare alla popolazioneMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
7Associazione di due variabiliMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
8Introduzione alla inferenza causaleMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
9Semplici tecniche di inferenza causale per analizzare dati osservazionaliMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
10Clustering e density estimationMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
11Riduzione della dimensionlaitàMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
12Analisi dei dati predittivaMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
13Modelli probabilistici per la classificazioneMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
14Funzioni discriminati per la classificazioneMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.
15Analisi di serie temporaliMateriale didattico messo a disposizione dal docente, specifici capitoli dei testi consigliati.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

-->

L'esame si articola in due prove distinte:

  • Un progetto che consiste nell’analisi di un set di dati concordato col docente. Il progetto consisterà nell'applicazione delle tecniche di analisi dei dati più opportune, a seconda del set di dati considerate, viste a lezione. 
  • Colloquio orale per la presentazione del progetto e verifica della conoscenza degli argomenti del corso. 

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere. 

La votazione è espressa in trentesimi secondo il seguente schema: 

Voto 29-30 e lode 

Lo studente ha una conoscenza approfondita dei concetti e delle tecniche di analisi dei dati. Riesce prontamente ad analizzare i problemi di analisi dei dati, individuando le tecniche di analisi dei dati più idonee alla risoluzione del problema considerato in maniera autonoma e con spirito critico e indicando le pratiche metodologiche più idonee per la loro applicazione. Ha ottime capacità comunicative e proprietà di linguaggio. 

Voto 26-28 

Lo studente ha una buona conoscenza dei concetti e delle tecniche di analisi dei dati. Riesce ad analizzare i problemi di analisi dei dati, individuando tecniche di analisi dei dati idonee alla risoluzione del problema considerato e indicando le pratiche metodologiche più idonee per la loro applicazione. Ha buone capacità comunicative e proprietà di linguaggio. 

Voto 22-25 

Lo studente ha una discreta conoscenza dei concetti e delle tecniche di analisi dei dati, anche se si limita agli argomenti principali. Riesce ad analizzare i problemi di analisi dei dati, seppure non sempre in maniera lineare, individuando tecniche di analisi dei dati idonee alla risoluzione del problema considerato. Ha discrete capacità comunicative e una discreta proprietà di linguaggio. 

Voto 18-21 

Lo studente ha la minima conoscenza dei concetti e delle tecniche di analisi dei dati. Ha una modesta capacità di analizzare i problemi di analisi dei dati. Ha sufficienti capacità comunicative, seppure non sempre una appropriata proprietà di linguaggio. 

Esame non superato 

Lo studente non possiede la conoscenza minima richiesta dei contenuti principali dell’insegnamento. La capacità di utilizzare il linguaggio specifico è scarsissima o nulla e non è in grado di applicare autonomamente le conoscenze acquisite.

Esempi di domande e/o esercizi frequenti

-->

Il progetto di analisi dei dati è generalmente basato su dataset di dimensioni medio-grandi ottenibili in rete.

Esempi di domande d'esame tipo:

  • Si definisca il problema della classificazione, si discutano le differenze rispetto al problema della regressione e si riportino degli esempi pratici.
  • Si illustri l’algoritmo K-NN per la classificazione. Si discuta l’effetto del parametro K sulle performance dell’algoritmo. Si facciano degli esempi grafici del funzionamento dell’algoritmo e dell’effetto di K. 
  • Si discutano le misure di valutazione per i problemi di classificazione: accuracy, matrice di confusione, precision, recall e score F1. Si discutano i pro e i contro delle misure considerate, anche in relazione alle caratteristiche del dataset di test. 
  • Si illustrino le principali tecniche utili per studiare la correlazione tra variabili.