Data Reduction & Transformation
Daniele Contarino
University of Catania
Department of Mathematics and Computer Science (DMI)
Second Part
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
Data Preprocessing include:
Data Cleaning
Data Integration
Data Reduction
Data Transformation
Introduction
Perché ridurre i dati?
Volume di dati molto ampi (storage)
Tempi impraticabili per analisi complesse
Risultati dei dati compressi Risultati dati originali
Data Reduction
Cosa ridurre?
# di dimensioni (attributi o variabili)
Wavelet, PCA, Attribute subset selection,
Decomposizione SVD, Decomposizione CUR, …
# di record (osservazioni)
Regression and log-linear model, Nonparametrics
Data Reduction
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
Dati
tabellari Funzione lineareLinear Regression
Una funzione lineare occupa (molto!) meno spazio rispetto a una tabella di dati
Con regressione lineare intendiamo modellare i dati in maniera tale da adattarsi a una linea retta
I dati vengono approssimati
Linear Regression
response or endogenous
variable
Linear Regression
𝒚 = 𝒘𝒙 + 𝒃
predictor or
exogenous variable
regression coefficients
Come trovare i coefficienti di regressione?
Linear Regression
Metodo dei minimi quadrati
Funzione lineare tipica:
I migliori coefficienti di regressione vengono trovati imponendo la relazione
𝐴
𝑡𝐴𝑥 = 𝐴
𝑡𝑏
Method of least squares
𝑨𝒙 = 𝒃
Esempio
Method of least squares
x y
-5 -6
-4 -5
0 7
4 0
5 3
−6 = −5𝑤
0+ 𝑤
1−5 = −4𝑤
0+ 𝑤
17 = 0𝑤
0+ 𝑤
10 = 4𝑤
0+ 𝑤
13 = 5𝑤
0+ 𝑤
1𝒘 ⇒ 𝒘𝟎 𝒃 ⇒ 𝒘𝟏
Method of least squares
𝑨𝒕𝑨 ⇒ −𝟓 −𝟒 𝟎 𝟒 𝟓
𝟏 𝟏 𝟏 𝟏 𝟏
−𝟓
−𝟒 𝟎 𝟒
𝟏 𝟏 𝟏 𝟓 𝟏𝟏
= 𝟖𝟐 𝟎 𝟎 𝟓
𝑨𝒕𝒃 ⇒ −𝟓 −𝟒 𝟎 𝟒 𝟓
𝟏 𝟏 𝟏 𝟏 𝟏
−𝟔
−𝟓 𝟕 𝟎𝟑
= 𝟔𝟓−𝟏
𝟖𝟐 𝟎
𝟎 𝟓 ∗ 𝒘𝟎
𝒘𝟏 = 𝟔𝟓
−𝟏
𝟖𝟐 𝒘𝟎 = 𝟔𝟓 𝟓 𝒘𝟏 = −𝟏
Method of least squares
𝟖𝟐 𝒘𝟎 = 𝟔𝟓
𝟓 𝒘𝟏 = −𝟏 ⇒ 𝒘𝟎 = 𝟔𝟓
𝟖𝟓 ≅ 𝟎. 𝟕𝟗 𝒘𝟏 = −𝟏
𝒚 = 𝟎. 𝟕𝟗𝒙 − 𝟏
Multiple linear regression
𝒚 = 𝒘
𝟎𝒙
𝟎+ 𝒘
𝟏𝒙
𝟏+ ⋯ + 𝒃
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
I modelli Log-Lineari solitamente sono usati in presenza di variabili categoriche.
Essi approssimano la distribuzione di probabilità multidimensionali discrete
Log-Linear Models
𝒚 = 𝒆𝒙𝒑 𝒃 + 𝒘
𝒊𝒙
𝒊Indichiamo un modello Log-Lineare come saturo quando esso contiene tutti i possibili effetti.
Un modello saturo riproduce sempre tutte le osservazioni raccolte.
Log-Linear Models
Doppia riduzione:
Riduzione del # di record
consideriamo solo la possibilità di trovare una
osservazione in un sottoinsieme di attributi discreti
Riduzione del # di attributi
Si considera un modello parsimonioso tale da non variare in maniera significativa rispetto al modello saturo
Log-Linear Models
Le applicazioni posso essere usate insieme, ma solo per casi limitati
Regressione è computazionalmente pesante per dati ad alte dimensioni ( > 10) a contrario dei modelli log-lineari
Esempi di applicazioni: SAS©, SPSS© e S-Plus
Log-Linear Models vs. Regression
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
Il campionamento riduce il dataset in campione più piccolo di dati casuali.
Sampling
Simple random sample without replacement
Simple random sample with replacement
Clustering sample
Stratified sample
Sampling
Sia :
D il dataset originario, con N = |D|
S il campione da creare, con s= |S| e s < N
S è costituito da tuple estratte da D
Ogni tupla ha una probabilità 𝑁1 di essere estratta
SRSWOR
Simile al SRSWOR
Le tuple vengono registrate e reinserite in D
Quindi esiste una probabilità che la stessa tupla possa essere di nuovo estratta
SRSWR
Se il nostro dataset è formato da M cluster
disgiunti, è possibile applicare un SRS(WOR) sui cluster, con M > s.
Il processo può essere inoltre ripetuto applicando sempre un SRS(WOR) sui singoli cluster
Cluster Sample
Se il dataset D è composto da gruppi disgiunti
(strati) basati su una determinata feature, si può adottare il campionamento stratificato.
Diversamente dal Cluster, si applica SRS su ogni strato,
Stratified Sample
Sampling Summary
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
Un altro metodo per ridurre i dati è quello di eliminare gli attributi meno importanti.
Per effettuare questa scelta usiamo delle analisi basate sulla
decomposizione di matrici.
Attribute reduction
La fattorizzazione SVD (Singular Value
Decomposition) permette di analizzare una
matrice di dati tramite i valori delle matrici che la compongono; tramite quest’ultime è possibile
ridurre la dimensione dei dati
Decomposizione SVD
La matrice originaria M dei dati viene fattorizzata, in modo tale risulti il prodotto di tre particolari
matrici.
𝑀 = 𝑈Σ𝑉𝑇
Decomposizione SVD
U è la matrice m ⨉ n con colonne ortonormali
ogni il prodotto in ogni colonna per le altre è uguale a 0 e 𝑈𝑇𝑈 = 𝐼
∑ è la matrice diagonale n ⨉ n
Gli elementi di ∑ sono chiamati valori singolari di 𝑀
V è la matrice m ⨉ n con colonne ortonormali
Decomposizione SVD
Decomposizione SVD
Romanzi Fantascienza
Decomposizione SVD
Decomposizione SVD
Possiamo eliminare la corrispondente riga e colonna rispettivamente in U e V rispetto alla posizione in cui troviamo il minimo valore di ∑
∑ Min value
Decomposizione SVD
Decomposizione SVD
Come calcolare 𝑈, 𝛴 e 𝑉?
Decomposizione SVD
𝑈 è la matrice di autovettori di 𝑀𝑀𝑇 𝑉 è la matrice di autovettori di 𝑀𝑇𝑀
𝛴 è la matrice diagonale composta dalla radice quadrata degli autovalori di 𝑀𝑇𝑀 o di 𝑀𝑀𝑇
La fattorizzazione SVD ha come pecca la
creazione della matrice ∑ (che è una matrice sparsa) e la complessità di calcolo delle altre matrici.
La Decomposizione CUR cerca di migliorare questi punti.
Decomposizione CUR
Il nome CUR è dato dai nomi delle matrici di cui è formato. Sia M la nostra matrice di dati originaria
𝑀 = 𝐶𝑈𝑅
Decomposizione CUR
Matrice m x r con le colonne scelte
casualmente tra quelle di M
Matrice r x n con le righe scelte
casualmente tra quelle di M
Matrice r x r
costruito usando le matrici C e R
Data Reduction & Transformation – Second Part DMI – University of Catania
Calcolo della matrice U
1. Sia una matrice W formata dall’intersezione delle matrici C e R
2. Si applica SVD su 𝑊 = 𝑋Σ𝑌𝑇 3. Si calcola 𝛴+
4. 𝑈 = 𝑌(Σ+)2𝑋𝑇
Decomposizione CUR
Σ+ 𝑖 𝑖 =
0 𝑖𝑓 Σ 𝑖 𝑖 = 0 1
Σ 𝑖 𝑖 𝑖𝑓 Σ 𝑖 𝑖 ≠ 0
Gli elementi scelti per C e R dovrebbero essere quelli più importanti.
Ma come misurare l’importanza di una riga o di una colonna?
Decomposizione CUR
Consideriamo il quadrato della norma di Frobenius
Decomposizione CUR
𝒇 = 𝒎𝒊𝒋𝟐
𝒊,𝒋
𝒑𝒊 = 𝒎𝒊𝒋𝟐
𝒋 𝒇
𝒒𝒋 = 𝒎𝒊𝒋𝟐
𝒊 𝒇
Colonne Righe
Executive summary
Introduzione
Regressione lineare
Modelli log-lineari
Sampling
Decomposizione SVD e CUR
Data Transformation and Discretization
Obiettivi della trasformazione e discretizzazione dei dati:
Aumentare l’efficienza del data mining
Eliminare il rumore
Create attributi più comprensibili
Raggruppare i dati in maniera
Data Transformation & Discretization
Smoothing
Costruzione di attributi
Aggregazione
Normalizzazione
Discretizzazione
Generazione di gerarchie per dati nominali
Data Transformation Stategies
Meglio usare metri o pollici?
Normalization
Oppure i piedi??
La scelta di una unità di misura determina
Del tipo di variabile (binario, intero, float o double)
Il grado di precisione richiesto
Il grado di comprensibilità (dip. dalla cultura)
Normalization
La normalizzazione o standardizzazione (che
hanno significati differenti in statistica) permette di slegarci dall’unità di misura e di rapportare i valori tra 0 e 1.
Normalizzation
Min-Max normalization
Z-score normalization
Normalization by decimal scaling
Normalizzation methods
Min-Max Normalization
𝒗′ = 𝒗 − 𝒎𝒊𝒏
𝒎𝒂𝒙 − 𝒎𝒊𝒏 𝒏𝒆𝒘_𝒎𝒂𝒙 − 𝒏𝒆𝒘_𝒎𝒊𝒏 + 𝒏𝒆𝒘_𝒎𝒊𝒏
1 0
Min-Max Normalization
𝒗
′= 𝒗 − 𝒎𝒊𝒏
𝒎𝒂𝒙 − 𝒎𝒊𝒏
Z-score Normalization
𝒗′ = 𝒗 − 𝑨 𝝈
Media
Deviazione standard
Normalization by decimal scaling
𝒗′ = 𝒗 𝟏𝟎 𝒋
# di posizioni decimali
La discretizzazione ha diverse caratteristiche
Supervised / Unsupervised
Top-Down (splitting) / Bottom-Up (merging)
Data Discretization
Il Binning è una tecnica basata sullo spliting in N intervalli specificati (bins)
Tecnica Top-Down
Supervised
Divisione dei bin per larghezza o per frequenza
Possibilità di ricorsione
Discretization by binning
Simile al binning
Unsupervised (nessuna informazione sulle classi)
Ogni colonna racchiude un range disgiunto di valori (buckets o bins)
Discretization by Histogram Analysis
Definizione MANUALE di strutture gerarchiche di attributi nominali (aree geografiche, colori, etc.) è un lavoro lungo e noioso
Si può automatizzare il processo traendo informazioni dallo schema del DB
Concept Hierarchy Generation
Ordinamento parziale definito dall’utente
Concept Hierarchy Generation
Un ordinamento di attributi (parziale o totale) può essere definito già nella struttura dati.
Es. nel nostro DB è sono presenti gli attributi indirizzo, città, provincia, nazione. All’interno
dello scherma del DB è definita la relazione indirizzo < città < provincia < nazione
Data Reduction & Transformation – Second Part DMI – University of Catania
Gruppi di dati gerarchici
Concept Hierarchy Generation
L’idea è quella di raggruppare i livelli più bassi, creando dei gruppi gerarchici con grap minimo, e poi ripetere il procedimento sui gruppi superiori usando i gruppi
intermedi.
{Giorgio, Paola, Alfio} 1 A {1A, 1B, 2A} ITIS
{ITIS, L.Sc., L.Cl, ITG} IIS Archimede
Nessuna informazione di ordinamento
Concept Hierarchy Generation
Fornito un DB, senza nessuna informazioni proveniente da terze parti circa l’ordinamento degli attributi, quale possiamo ritenere più significativo?
Consideriamo un DB geografico:
Comuni: # di valori distinti ≃ 8100 Strade: # di valori distinti ≃ 1M
Nessuna informazione di ordinamento
Concept Hierarchy Generation
Consideriamo quindi come concetto di alto livello
l’attributo che presenta il minor numero di valori distinti.
Connessioni semantiche
Concept Hierarchy Generation
Un utente poco accurato può inserire in un DB dei dati incompleti; il DB però può ‘suggerire’ dai dati
semanticamente collegati dai dati precedentemente
inseriti dallo stesso utente.
Questo necessità della definizione di uno schema semantico all’interno della struttura.
1. J. Han M. Kamber J. Pei , Data Mining - Concepts and Techniques, Hogan Kaufmann, Third Ed., 2012
2. A. Rajaraman J. Leskovec J. Ullman, Mining of Massive Dataset, Stanford Univesity, 2013