Marco Riani, Professor of Statistics

      Univ. of Parma (ITALY)

ANALISI DEI DATI PER IL MARKETING

Esame ADM 26 gennaio 2023


Testo

Soluzione

 


 

Esame ADM 12/01/2023

Testo

Soluzione

 


 

Soluzione prova esame dicembre

 

 

Nella sezione community del canale youtube di  ADM il link al video del seminario del 6 dicembre insieme alle slide dei relatori

 

 

File youtube con le modalità di esame

 

Esercitazione del 6 dicembre

Testo

Soluzione

 

Tutte le lezioni sono state inserite nel canale youtube

https://www.youtube.com/channel/UCvrSSDHucSqwnjuEFmOAe2w

 

Programma svolto

Capitoli 1-13 del testo

 

 


LIBRI DI TESTO

Riani M., Corbellini A. Laurini F., Morelli G. Perrotta D. Torti F. (2022). Data Science con MATLAB, Giappichelli editore, Torino.

 

Disponibile presso la libreria MEDICO SCIENTIFICA oppure tramite AMAZON

 

 

Comando da eseguire dentro MATLAB per scaricare il materiale aggiuntivo di corredo al libro

!git clone https://github.com/UniprJRC/DSconMATLAB

 








SOFTWARE utilizzato durante il corso

Excel e  MATLAB 2022b.



AVVISO: per tutti gli esercizi proposti nelle diverse settimane oltre all'output in formato EXCEL viene inserita anche la risoluzione in linguaggio MATLAB. Questo software è leader nel mondo nell'analisi dei dati e può essere scaricato gratuitamente da tutti gli studenti dell'Università di Parma (dopo essersi registrati con la mail ufficiale) dal sito http://www.mathworks.com


Una volta creato l'account potete scaricare il software sulle postazioni che desiderate.



MATLAB ACADEMY

Gli studenti dell'Università di Parma possono seguire un corso approfondito di MATLAB dall'indirizzo web 
https://matlabacademy.mathworks oppure facendo click sul pulsante "Learn MATLAB" una volta lanciato il programma


Si noti che per gli utenti non UNIPR questi corsi sono a pagamento e sono davvero molto costosi.

Per gli studenti che seguono i corsi di MATLAB Academy è stata resa disponibile da qualche giorno la possibilità di generare in modo automatico dal sistema una certificazione che può essere condivisa con Facebook o Linkedin:


Per utilizzare MATLAB on line per potersi esercitare utilizzando direttamente il browser è possibile fare click su questo link

 


 

COMPONENTI AGGIUNTIVI DI MATLAB DA SCARICARE

 

Link per scaricare il MATLAB toolbox FSDA (Flexible Statistics Data Analysis) dal sito web Mathworks, sviluppato congiuntamente dall'Università di Parma e dal Joint Research Centre della Commissione Europea

Link alla pagina github di FSDA

Link alla documentazione di FSDA

 

 

 

COMPONENTI AGGIUNTIVI DI EXCEL DA SCARICARE (facoltativo)

Xnumbers. Consente di calcolare autovalori e autovettori (oltre naturalmente ad una vastissima serie di funzioni matematiche). La maggior parte delle tecniche di analisi dei dei dati multivariati (componenti principali, analisi delle corrispondenze, clustering robusto e multidimensional scaling), si basa sulla scomposizione in termini di autovalori e autovettori allo scopo di ricostuire in maniera approssimata matrici dei dati e/o matrici di dissimilarità e/o tabelle di contigenza.



Per le istruzioni dettagliate sull'installazione dei componenti aggiuntivi è possibile scaricare il file Installazione_componenti_aggiuntivi.pdf

 

Avviso: quando si apre un file che è stato creato con il componente aggiuntivo XN.xlam è necessario dal menu File|Collegamenti  fare click sul pulsante "Cambia Origine" ed inserire il percorso dove il file XN.xlam si trova sul vostro computer.


Nei vostri computer il file XN.xlam deve essere inserito dentro 
"C:\users\(nomeutente)\appdata\roaming\microsoft\addins".



 

Lucidi delle lezioni (a.a. 2022/2023)

Settimane I-IV

Settimana I:  introduzione al corso, introduzione a MATLAB. Tipologia di variabili: array numerici, characters, string, table, struct. Introduzione alla programmazione: istruzioni if, cicli for  e while. Istruzione assert. Importazione di file esterni dentro MATLAB. Standardizzazione dei dati. 

Cicli for e while, assert. Distribuzioni di frequenze. Analisi univariate di variabili categoriche e quantitative. Analisi riferite a sottogruppi di unità

Settimana II Analisi univariate di variabili categoriche e quantitative. Analisi di sottogruppi di unità. Boxplot e quantili. Grafici qqplots per capire quanto la distribuzione osservata è vicina alla distribuzione normale.

Terza settimana:  Intervalli di confidenza con o senza variabile di raggruppamento. Tabelle di contingenza e tabelle pivot. Analisi delle distribuzioni: funzione densità, funzione di ripartizione, quantili e generazioni di numeri casuali, da diverse distribuzioni univariati. (normale, uniforme, chi quadrato, T di Student). Distribuzione normale bivariata. Analisi preliminari dei dati: gestione dei dati mancanti e dei valori anomali. FIno al capitolo 5

Quarta settimana: Introduzione alla relazione tra due variabili: covarianza e coefficiente di correlazione lineare.  Matrice di covarianze e matrice di correlazione. Test sulla significatività del coefficiente di correlazione. Verifica empirica della distribuzione del test di assenza di correlazione. Correlazione tra i ranghi. Relazione tra correlazione e cograduazione. Correlazione e cograduazione in presenza di missing values. 165-183 del testo.

Le rappresentazioni grafiche per serie storiche univariate (grafici a barre orizzontali, verticali, a linee ed area). Grafici a cascata. Rappresentazioni grafiche per serie storiche bivariate. Grafici ad imbuto. Grafici per la stima della densità (approccio parametrico e non parametrico). Grafici a dispersione personalizzati. Grafici a dispersione con istogrammi o boxplot ai margini con o senza variabile di raggruppamento. Grafici con istogrammi bivariati. Grafici per l'analisi di regressione. Il balloonplot. Matrice dei diagrammi di dispersione (con o senza variabile di raggruppamento). Heatmap, coordinate parallele e rappresentazione iconica. Capitolo 8 del testo

Settimana V

Indici di associazione. Tabelle 2x2, Tabelle IxJ. Misure basate sulla statistica di Pearson. Misure basate sul rapporto dei prodotti incrociati. Indici di associazione basati sulla riduzione dell'errore. Indici di associazione basati sulla riduzione dell'eterogeneità. Indici di associazione per variabili ordinali.

Settimana VI  (parte I)

Algebra lineare avanzata (norme prodotto scalare, forme quadratiche, spazio vettoriale, rango, autovalori e autovettori, proiezioni ortogonali,

Settimana VI  (parte II)

introduzione ai poligoni, distanze e indici di similarità.

 

Settimana VII e prima parte della settimana VIII 

Componenti principali. Approccio basato sulla combinazione lineare delle variabili originarie (lezione del mattino). Approccio basato sulla proiezione dei punti in un sottospazio oppure sulla rappresentazione della matrice originaria con una matrice di rango ridotto. Esempi pratici di applicazione della tecnica delle componenti principali  10/11/2021

 

Settimana VIII (prima parte) 

Introduzione ai profili riga e colonna. Analisi delle corrispondenze, proiezione in un sottospazio di punti che presentano diverso peso nella metrica ponderata. Esempi di utilizzo dell'analisi delle corrispondenze.

Settimana VIII (seconda parte) e Settimana IX 

Introduzione alla classificazione (supervisionata e non supervisionata). Clustering gerarchico e taglio del dendrogramma. Clustering non generarchico. Scelta del numero ottimo di gruppi. Introduzione al  clustering robusto. Cenni sull'analisi testuale.

 


 

Materiale vecchio

Multidimensional scaling


 

SYLLABUS

 


 

PROGRAMMA DA SVOLGERE PER CHI SOSTIENE LA PROVA DA 30 ore

Capitoli 1-11 del testo

 

 


 

FILE DI CORREDO AL CORSO


File di integrazione.

Osservazione: i file di input sono in formato EXCEL (ossia in formato .xls, xlsx, .xlsm). I file di output sono sia in formato EXCEL sia in formato MATLAB (ossia .mlx oppure .m). I file in  formato .mlx contengono oltre al codice sorgente anche il risultato derivante dall'esecuzione delle diverse istruzioni, immagini incorporate ecc. I file in formato .m contengono solo il codice sorgente.

 

Statistiche descrittive Calcolare statistiche descrittive e implementare manualmente alcune formule di calcolo in Excele MATLAB. Confrontare la standardizzazione robusta con quella tradizionale. ht_SD.xlsx
ht_SD(out).xlsx

15/10/2019
ht_SD_out.m


14/09/2021
Statistiche descrittive in presenza di unità statistiche con diversa importanza Calcolare statistiche descrittive ponderate e implementare manualmente le formule di calcolo in Excel e MATLAB. Ind_ec.xlsx

 Ind_ec_(out).xlsx

23/09/2015
Ind_ec_out.m
14/09/2021

 

Distribuzioni di frequenze e tabelle a doppia entrata Calcolare distribuzioni di frequenze con classi di ampiezza uguale o diversa ampiezza e creare tabelle a doppia entrata ex23_DE.xls ex23_DE(out).xls

02/10/2015
ex23_DE_out.m

28/09/2021
Grafici univariati Tipologie di rappresentazioni grafiche univariate. Confronto tra l'andamento di due serie storiche.
Grafico a cascata
grafuniv.xlsx
grafuniv2serie.xlsx
waterfall.xlsx
grafuniv(out).xlsx
grafuniv2serie(out).xlsx

waterfall(out).xlsx
14/09/2021
grafuniv
outMLX.mlx

23/09/2022

 

Diagramma di dispersione dinamico Costruire un diagramma di dispersione dinamico in base alle scelte derivanti da caselle a discesa. benSPM.xlsx benSPM(out).xlsx

18/09/2018
benSPMouMLX.mlx
29/09/2021
Matrice di covarianza e correlazione Costruire la matrice di covarianze e correlazione in Excel (tramite formule oppure componente aggiuntivo analisi dei dati). Costruire un diagramma di dispersione con etichette personalizzate. CONAD.xlsx CONAD(out).xlsx

25/09/2020
CONADoutMLX.mlx

12/11/2021
v.c. normale (standardizzata) Richiamare i concetti di funzione di densità e di funzione di ripartizione. Calcolare in una v.a. normale la funzione di densità e la funzione di ripartizione. Trovare i valori che lasciano alla destra (sinistra) una probabilità prefissata. Calcolare la probabilià di ottenere valori compresi in un determinato intervallo norm.xls norm(out).xls

23/09/2015
normout.m

06/10/2021
Distribuzione normale bivariata Calcolare la funzione di densità di una distribuzione normale bivariata e rappresentarla graficamente.  normbiv.xlsm normbiv(out).xlsm

25/09/2014
normbivoutMLX.mlx

22/09/2020
Distribuzione test sull'assenza di correlazione Dimostrare empiricamente che il test sull'assenza di relazione lineare tra due variabili, si distribuisce come una v.c. T di Student con n-2 gradi di libertà. VerificaTn-2.xlsx  VerificaTn-2(out).xlsx

24/09/2020
verificaTmeno2out.m

24/09/2020
Test sul coefficiente di correlazione lineare Determinare la significatività della relazione lineare tra le diverse variabili TAGLIAT40.xlsx
 TAGLIAT40(out).xlsx

30/09/2016
TAGLIAT40.mlx
22/09/2020
Valori di rxy significativi Dimostrare empiricamente che al crescere della numerosità campionaria diminuisce il valore di rxy ritenuto significativo sogliarxy.xlsx  sogliarxy(out).xlsx

25/09/2014
sogliarxyout.m

24/09/2020
Cograduazione Calcolare il coefficiente rho di Spearman per verificare la concordanza di andamento tra due fenomeni misurati almeno su scala ordinale cograd.xlsx  cograd(out).xlsx

25/09/2014
cograd outMLX.mlx

24/09/2020
Cograduazione Calcolare la matrice dei  coefficienti rho di Spearman in presenza di gradi ripetuti e valutare la loro significatività. cogradrip.xlsx cogradrip(out).xlsx
25/09/2017
cogradrip.mlx
24/09/2020

 

Analisi dei valori mancanti e degli outliers Analisi preliminari per verificare la presenza di pattern nei dati mancanti e analisi degli outliers. Verifica di ipotesi distributive. mdpattern.xlsx
mdpat.m
QUESTO ESERCIZIO
SI PUO' RISOLVERE SOLO IN MATLAB
mdpat_out.m
09/10/2021
Boxplot Creare grafici a scatola (boxplot) per sottogruppi di unità. Confronto tramite medie e quantili.
ex23box.xlsx ex23box(out).xlsx
01/10/2019
ex23boxout.mlx
02/10/2021
Modello di regressione Richiamare i concetti di regressione lineare. Comprendere la differenza tra parametri veri e stimati. Verificare empiricamente il teorema di Sastry e Nag. (FACOLTATIVO)
regr.xlsx

regr.mlx
regr(out).xls
03/10/2017

regr_outMLX.mlx
12/10/2021

Tabelle di contingenza 2 x 2 Calcolare i diversi indici di associazione nelle tabelle 2x2 e verificare empiricamente le proprietà dei diversi indici cont1.xlsx

cont1(out).xlsx

06/10/2020
cont1out.m

13/10/2021
v.c. Chi quadrato Densità, ripartizione e quantili in una v.c. Chi quadrato chi2.m
chi2.mlx
  chi2_out.m
chi2_outMLX.mlx
03/10/2021

 

 

Indici di associazione dotati di interpretazione operativa (fenomeni qualitativi nominali) Calcolare gli indici basati sulla riduzione proporzionale della probabilità di errore e gli indici basati sulla riduzione proporzionale dell'eterogeneità spumanti.xlsx
20/10/2021

spumanti(out).xlsx
09/10/2020
spumanti.mlx
20/10/2021
Indici di associazione per variabili ordinali Introdurre i concetti di coppie concordanti (C) e coppie discordanti (D). Calcolare gli indici gamma, taub e di Somers. assord.xlsx 20/10/2021 assord(out).xlsx
09/10/2020
assord.mlx
20/10/2021
Scomposizione della varianza nei gruppi e tra i gruppi Porre in luce la relazione esistente tra un indice di variabilità (d'un certo tipo) riferito all'intero collettivo e gli indici di variabilità (del medesimo tipo) inerenti ai gruppi della partizione. Rappresentare graficamente gli intervalli di confidenza. Test ANOVA di uguaglianza delle medie. UnUSA
anova.xlsx
UnUSA
anova(out).xlsx

13/10/2020
Un
USAanova_out.m

20/10/2021
Test ANOVA e intervalli di confidenza per sottogruppi di unit' Confronto campagne pubblicitarie tramite test ANOVA   esANOVA.mlx esANOVAout.mlx
20/10/2021

 

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Grafico bivariati Creare boxplot bivariati.
Creare grafici2D con l'aggiunta degli istogrammi (boxplot) sugli asssi cartesiani in presenza di uno o più gruppi.
grafici2D.m



Questo esercizio si può risolvere solo utilizzando MATLAB

grafici2Dout.m

02/11/2021
Scatter 3D Creare diagrammi di dispersione a 3 dimensioni CONAD.xlsx
grafici3D.m



Questo esercizio si può risolvere solo utilizzando MATLAB

grafici3Dout.m

02/11/2021
Grafici multivariati Scatter plot matrix, rappresentazione iconica, coordinate parallele. spm.m
Ind_ec.xlsx
  spm_out.m
02/11/2021
Grafico in coordinate parallele Creare ed interpretare i grafici in coordinate parallele parcoord0.xlsx parcoord0(out).xlsx

23/10/2019


parcoord0.m
15/11/2019
Grafico in coordinate parallele Creare un programma generale per creare un grafico in coordinate parallele che consenta diversi tipi di standardizzazione e diverse combinazioni di numerosità campionaria (n) e diverso numero di variabili. Consentire all'utente di evidenziare determinate curve. (FACOLTATIVO) parcoord1.xlsx parcoord1(out).xlsx

11/10/2016

 
Rappresentazione iconica delle unità Creare ed interpretare i grafici a stella stars.m
Ind_ec.xlsx
stars(out).xlsx

10/10/2014
starsout.m
12/11/2021

 

 

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Introdurre la notazione matriciale. Calcolare autovalori e autovettori  Scomposizione spettrale. Scomposizione in valori singolari. Ricostruzione di una matrice di rango p con una matrice di rango ridotto. Valutazione della bontà dell'approssimazione. formulemat.xlsx formulemat(out).xlsx
05/11/2021
formulemat
out.m

05/11/2021
Altri esercizi su autovalori e autovettori Consolidare le procedure per il calcolo degli autovalori e autovettori Evalues_
Evectors.xlsx
Evalues_
Evectors(out).xlsx
evalvec.m
05/11/2021

Costruire un biplot dinamico
Costruzione di un biplot dinamico in cui tramite barre di scorrimento posso visualizzare diverse varianti del biplot.
benBiplot.xlsx benBiplot(OUT).xlsx

23/10/2020
benbiplot.m

17/11/2021

Componenti principali Esempi pratici di applicazione della tecnica delle componenti principali

wafer.xlsx

wafer.txt

 

lavatrici.xlsx

 

scrittori.xlsx

 

wafer(out).xlsx

lavatrici(out).xlsx

scrittori(out).xlsx


04/11/2020

Risoluzione utilizzando la routine pcaFS

PCexamples.m
17/11/2021


Risoluzione utilizzando la funzione pca di MATLAB oppure la svd

scrittoriout.m

17/11/2021

Componenti principali
Esplorare gli aspetti geometrici della tecnica delle componenti principali (FACOLTATIVO)

ellisse.xlsx

ellisse(out).xlsx
31/10/2014


 

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Distanze Calcolare le distanze di Minkowski e le distanze di Mahalanobis tramite diversi metodi

 distanze1.xlsx

distanze1(out).xlsx

09/11/2018
distanze1_out.m
16/11/2021
Distanze e similarità Esplorare le differenze tra le distanze Euclidee e le distanze di Mahalanobis EuclidMala.xlsx
Euclid Mala(out).xlsx
10/11/2020
Euclid
Malaout.m
16/11/2021

 

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Analisi delle corrispondenze Relazione tra i profili riga e colonna di una tabella di contingenza. Riduzione delle dimensioni. Scomposizione dell'inerzia

corrisp.xlsx

corrisp(out).xlsx
corrisp_out.m


03/12/2020
Analisi delle corrispondenze Utilizzo della funzione corAna di FSDA toolbox.Dettagli soluzione MATLAB

corrisp.xlsx


CAexamples.m

03/11/2020

 

    File di input (formato MATLAB) File di ouput (formato MATLAB)  
Clustering gerarchico Programma di agglomerazione gerarchico. Costruzione del dendrogramma partendo dalla matrice delle distanze oppure dalla matrice dei dati clustGER.mlx clustGERout.m

clusterGERout.mlx
01/12/2021
Clustering gerarchico Esempio pratico di applicazione della tecnica di clustering geerarchico. Costruzione dendrogramma, taglio e allocazione delle unità ai diversi gruppi. Interpretazione dei gruppi che sono stati ottenuti clustGERex.m clustGERexout.m

01/12/2021

 

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Clustering non gerarchico Impostare manualmente la funzione obiettivo utilizzata dal metodo non gerarchico di clustering delle k-medie. Trovare la soluzione tramite il risolutore di Excel

 k-means_risol.xlsm

k-means_risol(out).xlsx

21/11/2019


Clustering non gerarchico Impostare la funzione obiettivo nel metodo delle k-medie. Iterare per minimizzaze il valore della funzione obiettivo   kmeansINI.m

01/12/2021

kmeansINIout.m

01/12/2021
Clustering non gerarchico Effettuare la segmentazione utilizzando la metodologia delle k-medie e scegliere il numero appropriato di gruppi.

kmeans.xlsm

kmeans(out).xlsx

21/11/2019

kmeans_out.m

01/12/2021
Cluster analisi in pratica Confrontare diversi metodi di classificazione e diverse metriche. Applicare la cluster analysis a gruppi non sferici. Analizzare l'effetto degli outliers sulla classificazione. Introdurre la classificazione robusta.

ClusterEsempi.m



ClusterEsempiout.m

01/12/2021

 

Analisi testuale

Argomento Obiettivo File di input File di output (Excel) File di output (MATLAB)
Analisi testuale Rappresentare graficamente le distribuzione di frequenze delle parole presenti in un testo (cloudplot, nuvola di etichette). Effettuare la "tokenizzazione" (analisi lessicale) del documento, eliminare le "stop words" e creare la distribuzione di frequenze delle parole maggiormente presenti parole.m
parole.pdf
 
paroleout.m 01/12/2021

 

Multidimensional scaling Ricostruire la matrice dei dati partendo dalla matrice di dissimilarità (ARGOMENTO FACOLTATIVO)

 mds.xlsx

mds(out).xlsx
17/11/2014

 

ESERCIZIO RIEPILOGATIVO

 

    INPUT FILE  (esempio wafer)               

SOLUZIONE (file di output contenente solo i valori)

SOLUZIONE (file di output comprensivo di formule)

 

Test 2016

SOLUZIONE

 

Test 2018

Soluzione

 

TEST 2019 INPUT

 

SOLUZIONE

Esame 21 giugno 2022
Testo
Soluzione

Esame 7 giugno 2022
Soluzione


Esame 24 maggio 2022
Testo
Soluzione



Esame del 26/01/2022
Testo
Soluzione

 

 

 

Esame 8 settembre 2021

Testo
Soluzione



Esame 23 giugno 2021
Testo
Soluzione


Esame 9 giugno 2021
Testo
Soluzione

Esame 26 maggio 2021
Testo
Soluzione


Esame 29 gennaio 2021
Testo
Soluzione



Esame 15 gennaio 2021
Testo
Soluzione

Esame del 12/01/2022
Testo
Soluzione

Esercitazione finale del 7 dicembre 2021
File di input

http://www.riani.it/ADM/Input_Files/test2021ADM.m

Soluzione

Prova del 14/12/2021
Testo
Soluzione

 

 

Esame dicembre 2020
Testo
Soluzione

Esame dicembre 2019

Testo

Soluzione

 

 

Esame del 18/12/2018

Testo

Soluzione

Esame 14.12.2017

Soluzione

 

Esame del 14.12.2016

dic 2016 testo     dic 2016 soluzione Osservazione: le parti richieste dal testo dentro il file di output sono state evidenziate in giallo

 

 

 


 

Vecchie prove di esame (prova tradizionale scritta)

 giugno 2012

 gennaio 2009

 ottobre 2010 

 febbraio 2008 

 luglio 2011

novembre 2008

dic 2014 Testo     dic 2014 soluzione