Sei sulla pagina 1di 27

POLITECNICO DI TORINO

Corso di Laurea in Ingegneria Gestionale

Prova Finale

Modelli di Interpolazione
Supersaturi (SSM)

Relatore
Prof. Roberto Fontana
Candidato
Schiavon Andrea

Novembre 2014

l file PDF `e libero per ciascuno, pu`o essere letto conservato e stampato ma non
`e permesso chiedere alcun pagamento per questo, e non `e permesso modificarlo.
Copyright 2013, Schiavon Andrea.
Per qualsiasi commento, suggerimento o informazione il mio indirizzo di posta
elettronica `e skia skia@hotmail.it

ii

Ringraziamenti
Si ringrazia vivamente il gruppo di lavoro del professor Hugo Maruri-Aguilar della
School of Mathematical Sciences at Queen Mary, University of London; e in particolare il dottor Peter Robert Curtis, il cui aiuto `e stato indispensabile per la stesura
di questo lavoro.

iii

Indice
Ringraziamenti
1
Introduzione . . . . . . . . . . .
2
Selezione polinomio interpolante
2.1
notazioni . . . . . . . . .
2.2
algoritmo di selezione . .
3
Modelli supersaturi . . . . . . .
3.1
ricerca SSM . . . . . . .
4
Applicazione metodo SSM . . .

.
.
.
.
.
.
.

Bibliografia

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

iii
v
v
v
viii
x
xiv
xx
1

iv

Introduzione

In molte applicazioni spesso si ha la necessit`a di conoscere la relazione esistente tra


due o pi`
u variabili (ad esempio tra prezzo e domanda di un certo prodotto di un
certo negozio in una certa area geografica o tra temperatura e pressione per una
certa sostanza fluida, e cos` via) ma sfortunatamente non si conosce completamente
landamento funzionale tra le grandezze
y = f (x)
in tutto il dominio D della funzione. Pu`o capitare invece di conoscere il valore di f
in determinati punti :f (x1 ), f (x2 ), . . . , f (xn ) e di voler sfruttare queste informazioni
per poter arrivare a conoscere con sufficente precisione il valore della y (variabile
dipendente) in altri punti x (variabile indipendente) di interesse. Una prima idea `e
quella di trovare una funzione p(x) (ad esempio un polinomio) che passi per tutti
i punti che si hanno a disposizione e soddisfi determinate propriet`a (continuit`a,
derivabilit`a, semplicit`a nella forma ecc.); se questo `e il caso si dice che si stanno
interpolando i dati. In alternativa si pu`o pensare di trovare una funzione che passi
il pi`
u possibile vicino ai dati; in questo caso quello che si vuole `e una funzione che
approssimi i dati. Un ulteriore scenario possibile `e quando si conosce perfettamente
la forma della funzione
y = f (x, )
che rappresenta un determinato fenomeno ma non si sa il valore di un suo parametro
caratteristico . Anche in questo caso, se si possiedono i valori della funzione y =
f (x, ) in vari punti xi e non si riesce a determinare in forma chiusa quel tale per cui
la funzione diventi interpolatrice dellintero set di dati, si deve per forza intervenire
con un termine correttivo che palesa la nostra conoscenza parziale riguardo la vera
relazione tra le variabili in gioco. A seconda delle ipotesi che si fanno su questo
fattore correttivo, ci si pu`o affidare
ai metodi del calcolo numerico quando il fattore `e deterministico
alla statistica inferenziale quando si considera il fattore una variabile casuale

Nel seguito si presenteranno la teoria e lapplicazione di metodi (SSM) che possono


essere classificati come metodi di interpolazione.

2
2.1

Selezione polinomio interpolante


notazioni

Un qualsiasi modello polinomiale e una somma lineare di monomi del tipo: x1 1 x2 2 , . . . , xp p .

Chiamiamo il coefficente del monomio e x1 1 x2 2 , . . . , xp p la base del monomio, da


v

notare come p sia il numero di variabili che forma il dataset. Avendo stabilito una
base {x1 , x2 , x3 , . . . , xp } si puo rappresentare un modello in forma compatta nelle
seguente maniera:
n
X
(x) =
x
M

in cui

1
1
11 12 13 . . . 1p
2
2
21 22 23 . . . 2p


= 3 , = 3 = ..
..
..
.. .
...
.
.
.
n1 n2 n3 . . . np
n
n

Si ricordi che p e il numero delle variabili mentre n il numero delle osservazioni


Esempio 2.1. Si prenda in considerazione il modello (x1 , x2 ) = 2 + 3x1 + 4x21 +
5x1 x2+6x
2 , esso pu`o essere descritto univocamente mediante ilvettore
dei coefficenti
2
0 0
3
1 0

e da una lista di esponenti da dare alla base P = 2 0 nel seguito si


4
=

5
1 1
6
0 2
indichier`a la lista di esponenti con
L = {(0,0)(1,0)(2,0)(1,1)(0,2)}

Definizione 2.1. si definisce experimental design Dn il vettore contenente tutti gli
n punti di Rp in cui si raccolgono le osservazione y R. In generale quindi un
punto in cui si osserva la risposta `e
di = [d1 d2 d3 . . . dn ]T
Infine si possono raccogliere i valori che
assumono in tutti i punti di dellexperimental

2
d1 1 d
d
1
1

d d 1 d 2
2
2 2
X = .. = ..
. .
...
d
n

1
2
d
d
n
n

in cui Xij = di1j1 di2j2 . . . dipjp .


vi

i singoli monomi del modello (x)


design Dn nella matrice

p
3
d
.
.
.
d
1
1

3
d
. . . d2 p
2

..
.
p
3
dn . . . dn

Prima di passare a dare una serie di definizioni necessarie per il seguito, ci si


sofferma un istante per generalizzare al p-dimensionale una propriet`a ben nota al
caso mono-dimensionale: si sa che dati due punti nel piano si ha una e una sola
retta (polinomio di primo grado) passante per essi, cos` come si sa pure che dati tre
punti generici si ha una e una sola parabola ( polinomio di secondo grado) che ci
passa attraverso e quindi si pu`o dire pi`
u in generale che dati n punti nel piano esiste
unico il polinomio di grado n 1 che li interpola. Avendo questo in mente si riesce
quindi a comprendere la seguente
Propiet
a 2.1. Dato un experimental design Dn , (insieme dei livelli ove sono state
prese le osservazioni y), esiste unico L, (lista degli esponenti da dare alla base del
modello e quindi implicimaente i monomi stessi), con l seguenti caratteristiche:
la dimensione di L `e uguale a quella di Dn
X e non singolare
L e completo

Per quanto riguarda il primo punto, significa che se lexperimental design contiene
n punti allora il modello (x) avr`a n monomi. Lultimo punto sar`a chiaro dopo aver
dato le seguenti definizioni.
Definizione 2.2. Si prenda un L, si definisce quadrante Q di quellinsieme
di monomi x che dividono x
Si prenda ad esempio x1 x22 il suo
quadrante e composto da
= {(1,0)(0,1)(1,1)(0,2)}
ossia i monomi che lo dividono sono
x1 , x2 , x1 x2 , x22
Il quadrante di un monomio, nel caso di
modello bivariato, si pu`o ricavare graficamente, come indicato nella figura qui
affianco, prendendo tutti quei termini
contenuti nella colonna al di sotto e nella riga alla sinistra di un determinato
monomio.

Figura 1. rappresentazione grafica


del quadrante di x1 x22

Definizione 2.3. Un modello polinomiale di definisce completo se preso qualsiasi monomio i L allora il modello
necessariamente contiene ogni suo divisore, cio`e il suo quadrante Q.
vii

Ad esempio il modello
(x) = 2 + 3x1 + 4x21 + 5x1 x2 + 6x22
non `e completo perch`e non contiene il termine x2
Definizione 2.4. Si definiscono directing monomial (DMs) quegli L tali che
non esiste nessun monomio L tale per cui valga la relazione x x .
In altre parole un DM `e il monomio di grado massimo tra quei monomi che
condividono la base. Ad esempio si prenda nuovamente il modello
(x) = 2 + 3x1 + 4x21 + 5x1 x2 + 6x22
linsieme L dei DM s `e
[(0,2)(1,1)(2,0)]
che corrisponde ai termini
x21 , x22 , x1 x2
Facendo riferimento alla figura precedente, i DM sono i termini appartenenti allantidiagonale. La definizione di L ha un risvolto molto importante da un punto di
vista computazionale in quanto permette di individuare univocamente i termini che
compongono un certo modello (x) senza il bisogno di salvarli tutti esplicitamente.
Infatti basta ricordare che un modello si dice completo solo se contiene tutti i divisori di ogni monomio, indicando quindi solo i monomi che compaiono con esponente
massimo si deduce che pure tutti i suoi divisori devono essere contenuti in (x);
minimizzando lo spazio occupato nella memoria di un calcolatore.
Definizione 2.5. Si definisce one-DM model un modello che contiente solo un
monomio in L .
Il modello
(x) = 1 + x + 4x2 + x3
`e one-DM in quanto L = {x3 }

2.2

algoritmo di selezione

Giunti a questo punto, si intende sviluppare un algoritmo a due step per la selezione
di una base satura di monomi che verr`a utilizzata nel medoto SSM discusso in
seguito per la costruzione di un modello supersaturo.1 Prima di procedere con
1

per ora non si `e ancora detto nella riguardo al significato del termine supersaturo ma lintuizione
suggerisce che sar`
a un modello dotato di un maggior numero di gradi di libert`a che lo rendono piu
duttile.

viii

lalgoritmo si vuole far notare una sottigliezza fondamentale che probabilmente far`a
chiarezza a eventuali perplessit`a sul fatto che si sta per presentare un algoritmo che
sceglie il miglior polinomio interpolante quando invece nel paragrafo precedente si
`e affermato che tale polinomio esiste unico. La propiet`a al paragrafo precedente
afferma che esiste un e un solo polonomio che abbia:
tanti monomi quante sono le osservazioni che si vanno a interpolare
una matrice delle osservazioni X non singolare
L sia completo

Ora, tra tutti i modelli che si possono costruire con un L completo (ogni monomio
pu`o avere infiniti coefficenti), ne esiste uno solo che passa attraverso tutti i dati; va
per`o detto che di basi complete se ne possono trovare diverse. Scopo dellalgoritmo `e
proprio quello di andare a selezionale tra le possibili scelte di L quella che minimizza
una determinata misura di prestazione 2 ((x)) . Per ora basti sapere che
Z
2 = kH((x))k2

e che `e una misura associata alla curvatura di un certo modello, ulteriori informazioni verranno in seguito. Lalgoritmo comincia prendendo ns modelli oneDM, in
generale tutti i possibili oneDM si calcolano fattorizzando il numero di osservazioni n in p fattori, con p numero di variabili dellexperimental design.Lalgoritmo si
articola nei seguenti passi:
1. Si scelgano ns modelli oneDM dagli nd a disposizione e si formi linsieme di
modelli da sottoporre a step locale H = {1 , 2 , . . . , ns }
2. Ripetere nl step locali su H per ottenere H = {1 , 2 , . . . , n s } matrice dei
modelli ottimi secondo la misura 2
3. Per ogni modello oneDM non ancora entrato in H si esegua lo step globale:
3.1. si rimpiazzino i peggiori nw modelli da H con altri nw presi da H in cui
sono stati inseriti altri oneDM tra gli nd ns a disposizione
3.2. Si esegua nl step locali su questi nuovi modelli e per ogni iterazione si
sostituisca il modello precedente in H solo se nellultima iterazione si `e
raggiunta una curvatura pi`
u bassa
3.3. Ripetere 3.1 e 3.2 fino a quando tutti i modelli nd non saranno entrati H
e successivamente processati
4. Scegliere il polinomio con la minima curvatura da H
ix

Per comprendere appieno lalgoritmo appena descritto si deve dire in cosa consiste lo step locale. Lidea di base `e che partendo dai modelli oneDM si prova a
vedere come cambia la curvatura andando a sostituire un DM per volta ma facendo
attenzione a preservare la propriet`a di completezza che caratterizza lintero procedimento. Si intuisce che per ognuna nelle nl iterazioni locali e per ogni modello si
possa estrarre solamente un DM in modo da essere sicuri di non creare buchi nel
modello e si possa inserire un altro DM che per`o rispetti il vincolo di presentare
gi`a nel modello tutti i suoi divisori. In questa maniera si pu`o selezionare una base
satura la cui applicazione sar`a presentata nella sezione dedicata ai SSM( modelli
supersaturi).
Per dovere di completezza c`e per`o da dire che volendo, lalgoritmo potrebbe
proseguire con una fase 2 che consiste nella successiva eliminazione di termini dal
miglior modello saturo (x) per ridurne la complessit`a e aumentarne la leggibilit`a
e linterpretabilit`a. Vale la pena notare che nel momento in cui viene tolto anche un
solo monomio allora il modello non interpola pi`
u le osservazioni ma le approssima.
Non avendo pi`
u un modello che passa esattamente per i dati, si pu`o sfruttare una
ulteriore misura di prestazione per scegliere il miglior polinomio approssimante che
prima ci veniva preclusa dal semplice fatto che non esistevano differenze tra il valore
del polinomio (xi ) e losservazione y, in quanto semplicemente coincidevano:
v
u n
u1 X
(yi (xi ))2
RM SE = t
n i=1
Con un procedimento di eliminazione successivo di termini si trova quel modello che
minimizza la seguente misura di performance
=

RM SE
2
+ (1 )
0
T SS

in cui la curvatura del modello con meno termini e lRMSE sono normalizzati
con
la curvatura del modello di partenza e somma totale dei quadrati (T SS =
q P
n
1
2
i=1 (yi y) ) rispettivamente.
n
Nella sezione che segue si mostrer`a lutilit`a di quanto presentato sino a qui, sia
per quanto riguarda le notazioni e il vocabolario ma soprattutto per quanto concerne
lalgoritmo di ricerca della base satura di monomi.

Modelli supersaturi

Lidea di fondo di questo metodo `e quella di ricevere in input una base satura
BL = {x , L} dallalgoritmo di Subsection 2.2 e ampliarla con ulteriori monomi
x

in modo da rendere il modello pi`


u smooth. Una volta ampliata la base, si ricava
il modello finale superaturo andando a minimizzare la sua curvatura vincolando
il modello a passare per le n osservazioni; laggiunta di ulteriori gradi di libert`a
nel modello permette di ottenere curvature minori. Per prendere confidenza con
quanto appena accennato si propone un esempio che mostra la prodecura in un caso
di experimental design monodimensionale e cosa si intende per ampliamento della
base.
Esempio 3.1. Si considerino 3 punti (x, y) = (0,1), ( 12 ,3), (1,2) e se ne costruisca il
polinomio interpolante secondo Lagrange1 . Questo polinomio sar`a della forma
L(x) =

3
X

wi (x)yi

i=1

in cui


wi =

1 per L(xi )
0 altrimenti

Andando ad eseguire il calcolo si ottiene


w1 =

(x 21 )(x 1)
1
3
= 2(x2 x + )
1
2
2
(0 2 )(0 1)

w2 =

(x 0)(x 1)
= 4x2 + 4x
( 12 0)( 21 1)

(x 0)(x 12 )
2
w3 =
1 = 2x x
(1 0)(1 2 )
E infine quindi
L(x) = 1 + 7x 6x2
. Procedendo con il calcolo della curvatura, si ha
Z  2
2
d
2 =
L(x)
2
dx
Z 1
=
(12)dx
0

= [144x]10
= 144
1

questo esempio `e stato ripreso da [3]

xi

(1)

Ora si applicher`a lampliamento della base precedentemente citato e che costituisce


il caposaldo del metodo SSM. Si considerino due nuovi punti (2, s)(3, t), detti dummy point, in cui far passare linterpolatore di Lagrange, costruito seguendo
una procedura del tutto analoga a quella precedente. In questo caso per`o si ha un
polinomio di quarto grado in funzione di s e t. Questi parametri sono i due gradi
di libert`a aggiuntivi usati per rendere il modello pi`
u smooth. Per determinare il
valore dei due parametri liberi si minimizza 2 su = [0,1] rispetto a s e t trovando
s = 16,71 e t = 182.28. Il modello supersaturo che interpola i 5 punti `e
y(x) = 1 +

39
8
80
40
x + x2 x3 + x4
7
7
7
7

a cui corrisponde una curvatura 2 = 109,7 < 144. Aggiungendo via via pi`
u dummy point si converge al valore di curvatura dalla spline cubica, ritenuta il miglior
interpolatore in termini di curvatura.

Fino ad ora si `e pi`
u volte fatto uso del concetto di curvatura 2 , sia nellalgoritmo Subsection 2.2 , che nellEsempio 3.1. Se ne vuole dare ora una trattazione
pi`
u approfondita e generalizzare il concetto al caso in cui il modello sia in pi`
u varia2
2
bili. Se esiste una relazione tra due modelli diversi del tipo 1 < 2 , allora si pu`o
affermare che il primo modello interpola oppure approssima i dati in una maniera
pi`
u dolce, ossia con meno oscillazioni tra un punto e il successivo. Questo `e desiderabile in quanto nella maggior parte delle applicazioni, il fenomeno che si cerca
di rappresentare con il modello non compie queste brusche oscillazioni ma sono la
conseguenza del fatto che si obbliga il polinomio a passare esattamente per le n
osservazioni2 . Nel caso in cui si abbia un modello in pi`
u di una variabile, si pu`o
sostutuire la derivata seconda con la matrice hessiana H(y(x)) ottenendo
Z
2 =

kH(y(x))k2 dx

Usando la norma di Frobenius1 si ricaver`a una scrittura dellintegrando pi`


u utile

si veda lultimo esempio numerico in Section 4

la norma di Frobenius di ottiene usando p = 2 nella definizione generale delle normep


kAkp =

n X
m
X
i=1 j=1

xii

apij

 p1

alluso pratico:
kAk2F

n X
m
X

a2ij

i=1 j=1

= T r(H T H)

Esempio 3.2. Si consideri una matrice simmetrica A =

a11 a12
a21 a22


per questa

matrice la norma2 al quadrato si scrive


kAk2F

=
=
=

2 X
2
X

a2ij

i=1 j=1
a211 + a212
a211 + a222

+ a221 + a222
+ 2a212



a11 a12 a11 a21
T r(A A) =
a21 a22 a12 a22


a11 a12 + a22 a12
a211 + a212
)
= T r(
a11 a12 + a22 a12
a222 + a212
T

= a211 + a222 + 2 + a212



Quanto appena detto si pu`o particolarizzare per la matrice hessiana, le cui entrate
sono della forma
2 y(x)
Hij =
xi xj
e quindi
kH(y(x))k2 =

X X  2 y(x) 2
i

xi xj

= T r(H T H) = T r(H(y(x))2 )

Preme evidenziare infine, come 2 non sia lunico criterio possibile per discriminare
tra vari modelli (x) ma bens` la gamma tra cui scegliere `e piuttosto ampia. Tra gli
altri criteri utilizzati si cita
Z
2 pesato = kH(y(x))k2 w(x)dx

xiii

in cui la funzione w(x) `e non negativa, oppure


Z
1 = k(y(x))k2 dx

che prende in considerazione la derivata prima (gradiente) al posto della seconda e


infine
Z
3 = ky(x) t(x)k2 dx

che misura la distanza da una funzione guida t(x)


Si pu`o ora descivere il problema di ottimizzazione che ci permette di ricavare il
modello supersaturo di interpolazione in questa maniera
min 2 (y(x))

s.t

3.1

yi = (xi ), i = 1, . . . , n.

ricerca SSM

Dopo aver impostato il problema in maniera formale, si prendono in esame i metodi


di soluzione. Sono stati sviluppati due metodi per trovare il vettore dei coefficenti
che sotto determinate condizioni portano al medesimo risultato. Si presenter`a solo
il metodo vincolato mentre per quello non vincolato si rimanda a [2].
problema vincolato Si definiscono i vettori3

1
x 1
2
x 2
.
.

f (x) = .. , = ..
.
.
..
..
x N
N

come il vettore contenente tutti gli N monomi4 del modello e i suoi coefficenti
rispettivamente. Si puo dunque scrivere
(x) = T f (x)
3

non si usa il grassetto per questi due vettori solo per non appesantire la notazione in passaggi
successivi
4

si osservi come in questo caso il numero di monomi `e N > n in quanto `e un modello supersaturo

xiv

Il primo passo `e quello di scrivere la curvatura 2 ( la funzione obiettivo del problema) in una maniera tale da rendere i calcoli pi`
u agevoli. Con questo obiettivo, si
definisce
2 f (x)
(ij)
f
=
xi xj
come il vettore contenete tutti i monomi del modello derivati rispetto a i e a j con
i = 1, . . . , k e j = 1, . . . , k essendo k il numero di variabili del modello e
Z X
k X
k
T
f (ij) f (ij)
K=
i=1 j=1

la matrice le cui entrate rappresentano misure di curvatura tra coppie di monomi.Con


le seguenti notazioni, la curvatura si pu`o scrivere in modo compatto come
2 = T K

(2)

Prima di procedere ci si ferma un attimo per comprendere bene il significato della


matrice K. Usando la norma di Frobenius nel caso k = 2 e sviluppando la definizione
di curvatura 2 ((x)) si ottiene
Z X
Z  2
2 X
2  2
 2 (x) 2  2 (x) 2
(x) 2
(x) 2
2 =
=
+2
+
(3)
x21
x1 x2
x22
i=1 j=1 xi xj

che mostra come la curvatura del modello si ottiene integrando la somma dei quadrati
delle entrate della matrice 
hessiana. Usando
 la linearit`a dellintegrale nellultima
R  2 (x) 2
relazione, il primo termine
ad esempio si legge come lintegrale su

x2
1

una regione R del quadrato della derivata seconda rispetto a x1 del modello
!
monomi (i monomi
(x). Questo altro non `e se non un integrale di N + 2!(NN2)!
N!
u i prodotti misti;
sono N + 2!(N 2)! in ganerale in quanto ci sono gli N quadrati pi`
ma derivando `e possibile che alcuni termini diventino 0). Avendo in mente quanto
appena detto, si sviluppa lespressione di K nel caso bidimensionale per cercare di
cogliere pi`
u chiaramente luguaglianza tra la (2) e la (3):
Z X
Z
k X
k
T
T
T
(ij) (ij)T
K=
f f
=
f (11) f (11) + 2f (12) f (12) + f (22) f (22)
i=1 j=1

in cui

2 f1 (x)
x2

f (11)

2 f2 (x)
x2

= ...

..
.

2 fN (x)
x21

xv

`e il vettore che contiene le derivate seconde rispetto alla variabile x1 di tutti gli N
monomi del modello e la matrice

2 f1 (x)
x2

f (11) f (11)

1
2 f2 (x)

x2 "
#T

2 f (x) 2 f (x)
1
2

f
(x)

1
2
N
= ...
,
,......,
2
2
2

x
x
x
1
1
1
..
.

2 fN (x)
x21

`e simmetrica N N e contiene i quadrati dei monomi derivati due volte rispetto a x1


(nella diagonale), pi`
u tutti i prodotti misti nelle altre entrate. Diventa ora chiara la
 2
2
(x)
in quanto la somma di tutte le enrelazione tra questa matrice e il termine x2
1

11 11T

trate
 2 della
2matrice f f , moltiplicate per i rispettivi coefficenti i , `e proprio uguale
(x)
a x2
cio`e il primo termine elevato al quadrato della matrice hessiana. Si dedu1
P P  2 (x) 2
corrisponce quindi facilmente come ogni termine della somma 2i=1 2j=1 x
xj
Pk i P
T
da a meno dei coefficenti al rispettivo addendo della somma i=1 kj=1 f (ij) f (ij)
e quindi in definita si giunge alla (2). Si prover`a con i seguenti due esempi a chiarire
la natura della matrice K.

Esempio 3.3. Si consideri un modello in una variabile (k = 1) e la dimensione della


base supersatura sia N = 6. Una possibile base supersatura `e {1, x, x2 , x3 , x4 , x5 } e
se ne derivi ogni termine in modo da formare il vettore

0
0

f =
6x

12x2
20x3
xvi

si pu`o dunque scrivere


Z

ffT

Z 0 "
2

0 0
=

6x
12x2
20x3

0 0
0
0 0
0
Z 1
0 0
4

=
0 0 12x
0
0 0 24x2
0 0 40x3

K=

avendo scelto = [0,1]. Eseguendo

0
0

0
K=
0

0
0

#
2 6x 12x2

20x3

0
0
0
0
0
0

2
12x
24x
40x3

36x2 72x3 120x4

72x3 144x4 240x5


120x4 240x5 400x6

gli integrali si ottiene infine

0 0 0 0
0
0 0 0 0
0

0 4 6 8 10

0 6 12 18 24

40
0 8 18 144
5
400
0 10 24 40 7


Esempio 3.4. Si prenda ora in esame un experimental design in due variabili, la


cui base supersatura `e {1, x2 , x1 , x22 , x1 x2 , x1 x22 } e la regione R2 su cui eseguire
lintegrazione [0,1]. La matrice K pu`o essere ricavata applicando la sua definizione:
K=

Z X
k X
k

i=1 j=1

in cui

f (11)

(ij) (ij)T

Z
=

f (11) f (11) + 2f (12) f (12) + f (22) f (22)




0
0
0
0
0
0



0 (22) 0 (12) 0

=
=
=
0 , f
2 ,f
0



0
0
1
0
2x1
2x2
xvii

e sostituendo si ottiene


0 0 0 0 0
0
0 0
0 0 0 0 0

0 0 0
Z 1
0 0 0 0 0

0
+ 0 0
K=
2
0 0 0 0 0

0
0

0 0
0 0 0 0 1 2x2 0 0
0 0 0 0 2x2 4x22
0 0

0 0 0 0
0
0

0
0

Z 1 0 0 0 0
0 0 0 0

0
0

=
0 0 0 4

0
4x
1
0

0 0 0 0
2
4x2
0 0 0 4x1 4x2 4x21 + 8x22

0 0 0 0 0 0
0 0 0 0 0 0

0 0 0 0 0 0

=
0 0 0 4 0 2

0 0 0 0 2 2
0 0 0 2 2 4

0 0
0 0
0 0
0 4
0 0
0 4x1

0 0
0 0

0 0

0 4x1

0 0
0 4x21


A questo punto si pu`o scrivere il problema di ottimizzazione come5
min T K

s.t

(5)
X = y

lipotesi fondamentale che si fa `e che la matrice K sia non singolare e non ponga problemi
nellinversione. Se cos` non fosse bisognerebbe allora partizionare K con operazioni di riga in
modo da ottenere


= 0 0
K

0 K
e il problema di ottimizzazione si riscriverebbe come
1
min 1T K

s.t

X0 0 + X1 1 = y

in cui il vettore dei coefficenti partizionato e la matrice delle osservazioni partizionata sono

T


= 0 1 X = X0 X1

xviii

(4)

Per risolvere il problema (5) si usa il metodo dei moltiplicatori di Lagrange


sviluppato in [3]. La lagrangiana del problema `e6
L(, ) = T K 2T (X y)
ed eseguendo le derivate si ha
(

= X y = 0
= 2K 2T X = 0

Questo sistema di 2 equazioni nelle 2 incognite e pu`o essere scritto in forma


matriciale compatta

   
X
0

y
=
T
K X

0
Il problema si riduce quindi ad invertire la matrice


X
0
C=
K X T
Per fare ci`o si ha bisogna della matrice inversa


H
P
1
C =
Q H T
tale per cui si abbia

T
P
X
HX
+
P
K
} | {z }
| {z
0
In

QX H T K
XH
|{z}
|
{z
}

C 1 C =

H
P
Q H T



X
0
K X T

(6)

In

A questo punto `e possibile scrivere


 
  
  " #
Hy

y
H
P
y
= C 1
=
= ..
T

0
Q H
0
.
da cui finalmente si ottiene il vettore contenente i coefficenti del SSM
= Hy

il 2 prima di `e messo solo per facilitare il calcolo e non influisce sul risulatato

xix

(7)

e il valore della curvatura allottimo7


2 = T K
T
= yT H
| {zK} Hy
QX

= y Q |{z}
XH y
In

= y Qy
2 = y T Qy

(8)

in cui la matrice Q `e la partizione di basso a sinistra della matrice C 1 e pu`o essere


vista equivalentemente come8
Q = H T KH
(9)
Arrivati a questo punto, si vedr`a unapplicazione delle idee presentate fino a
questo punto su dei dati reali.

Applicazione metodo SSM

In questa ultima sezione si presenter`a unapplicazione del metodo di interpolazione


supersatura (SSM) ad un dataset reale con lausilio del software statistico R. Come
prima cosa, va detto che le funzioni9 che permettono di ricavare il polinomio interpolante, usano un procedimento basato sui polinomi ortogonali, i quali aumentano
lefficacia computazionale rispetto ad una procedura basata su monomi. Per le differenze rispetto a quanto esposto nelle pagine precedenti si faccia riferimento a [3].
Il dataset in questione,
> head(dtab)
mpg cylinders displacement horsepower weight acceleration year
1 18
8
307
130
3504
12.0
70
2 15
8
350
165
3693
11.5
70
3 18
8
318
150
3436
11.0
70
4 16
8
304
150
3433
12.0
70
7

si ricordino le relazioniQX H T K = 0 e XH = In in (6)

X T Q = KH
moltiplicando a sinistra per H T e ricordando dalla (6) che H T X T = In si ha la (9)
9

scritte e implementate in R dal Dott. P.R. Curtis, coautore di [3]

xx

5
6
1
2
3
4
5
6

17
8
302
15
8
429
origin
name
1 chevrolet chevelle malibu
1
buick skylark 320
1
plymouth satellite
1
amc rebel sst
1
ford torino
1
ford galaxie 500

140
198

3449
4341

10.5
10.0

70
70

raccoglie varie caratteristiche di diversi modelli di automobili:


mpg indica il consumo delle vettura espresso in miglia per gallone
cylynders la cilindrata
displacement il raggio di sterzata misurato in pollici
horsepower la potenza del motore espressa in cavalli
weight il peso in libbre
acceleration `e il tempo espresso in secondi per raggiungere una velocit`
a di
60 miglia allora
year `e lanno di immatricolazione
name `e il nome del modello

Nel seguito si considerer`a la variabile mpg come variabile risposta (dipendente) mentre le variabili indipendenti che si adotteranno per cercare di spiegare e prevedere
il consumo di carburante sono nellordine: cylinders,horsepower,weight,year,
acceleration,displacement. Si divider`a il dataset in due sotto insiemi: un fit
sample che servit`a per fittare il modello e un test sample usato per mettere alla
prova le capacit`a predittive dello stesso. Un primo strumento che si chiama in causa
per questo fine `e la regressione lineare multipla
regressione Innanzitutto si creano variabili di fit sample
>
>
>
>
>

Y=mpg
Y_fit=mpg[1:45]
Y_test=mpg[46:392]
cylinders_fit=cylinders[1:45]
xxi

>
>
>
>
>
>

horsepower_fit=horsepower[1:45]
weight_fit=weight[1:45]
year_fit=year[1:45]
acceleration_fit=acceleration[1:45]
displacement_fit=displacement[1:45]
origin_fit=origin[1:45]

e poi si costruisce il modello di regressione


> reg=lm(Y_fit~cylinders_fit+horsepower_fit+
+
weight_fit+year_fit+acceleration_fit+displacement_fit)
> summary(reg)
Call:
lm(formula = Y_fit ~ cylinders_fit + horsepower_fit + weight_fit +
year_fit + acceleration_fit + displacement_fit)
Residuals:
Min
1Q
-2.5937 -0.9553

Median
0.0639

3Q
0.9336

Max
3.2267

Coefficients:
(Intercept)
cylinders_fit
horsepower_fit
weight_fit
year_fit
acceleration_fit
displacement_fit
---

Estimate Std. Error t value Pr(>|t|)


97.1694528 41.8250549
2.323 0.02562 *
-2.2201376 0.4326183 -5.132 8.79e-06 ***
-0.0302200 0.0126749 -2.384 0.02221 *
-0.0012773 0.0007194 -1.776 0.08382 .
-0.7244575 0.5877146 -1.233 0.22527
-0.4400773 0.1361996 -3.231 0.00255 **
0.0025258 0.0077257
0.327 0.74551

Residual standard error: 1.445 on 38 degrees of freedom


Multiple R-squared: 0.9329,
Adjusted R-squared: 0.9223
F-statistic: 88.09 on 6 and 38 DF, p-value: < 2.2e-16

Con queste dimensioni del fit sample (osservazioni dalla 1 alla 45) quello che
si nota `e che la cilindrata e laccelerazione della macchina sono particolarmente
significative nello spiegare il consumo (p-value basso); daltro canto, il modello spiega
xxii

il 93% della variabilit`a (si legga il valore del coefficente di determinazione R2 ), il


che si traduce in una elevata capacit`a predittiva. Quello che si fa con le seguenti
istruzioni non `e altro che la validazione del modello osservando le previsioni in
corrispondenza dei punti del test sample (osservazioni dalla 46 alla 392) e calcolando
il relativo errore di previsione
r Pn
i )2
i=0 (yi y
RM SE =
n
> test_sample=data.frame( cylinders_fit = cylinders[46:392]
+ ,horsepower_fit = horsepower[46:392],weight_fit=weight[46:392]
+ ,acceleration_fit=acceleration[46:392],year_fit=year[46:392]
+ ,displacement_fit=displacement[46:392])
>
> fitt=predict(reg,newdata=test_sample)
>
> res=Y_test-fitt
> (RMSE=sqrt(mean(fitt^2)))
[1] 17.21916
Ora, tenendo fissa la partizione del dataset si constuira il polinomio SSM e se ne
testeranno le prestazioni.
modello SSM La prima cosa da fare `e comprimere le osservazioni nellintervallo
= [1,1]6 in quanto, come visto nelle sezioni precedenti, si minimizza la curvatura
2 in questo compatto. Ci`o pu`o essere ottenuto usando una una trasformazione
lineare:
>
>
>
>
>
>

v1=(2/(max(cylinders)-min(cylinders)))*(cylinders-max(cylinders))+1
v2=(2/(max(horsepower)-min(horsepower)))*(horsepower-max(horsepower))+1
v3=(2/(max(weight)-min(weight)))*(weight-max(weight))+1
v4=(2/(max(year)-min(year)))*(year-max(year))+1
v5=(2/(max(acceleration)-min(acceleration)))*(acceleration-max(acceleration))+1
v6=(2/(max(displacement)-min(displacement)))*(displacement-max(displacement))+1

in questo modo i dati giacciono in ma mantenendo le distanze relative tra un punto


e laltro. I due grafici di seguito riportati testimoniano che `e avvenuto solamente un
cambiamento di scale
Successivamente di costruisce la matrice dellexperimental design, in cui a ogni
riga corrisponde un punto (si veda definizione 2.1)
xxiii

Figura 2.

si vede come ci sia solo un cambiamento di scala

mat=cbind(v1,v2,v3,v4,v5,v6)
D_fit=mat[1:45,]
D_test=mat[46:392,]
Avendo fatto ci`o, ora si `e nelle condizioni per costruire il modello vero e proprio e
calcolarne le prestazioni usando le stesso fit sample e test sample che nel caso della
regressione lineare in modo da confrontarne i risultati
>
>
>
>
>
>

L=degl(6,400)
P=Legendre_P(L)
K=get_Legendre_K(L)
X=design_model_matrix(L,D_fit,P)
theta=find_theta(Y_fit,K,X)
fitted_response=as.vector(fit_model(D_test,theta,L,P))

Il vettore L contiene gli esponenti che formeranno la base BL , si osservi come in


questo caso ci saranno 400 termini in 6 variabili; in theta ci sono i coefficenti propri
di ogni monomio di (x) e infine in fitted response sono presenti i valori che
il modello prevede per i punti del test sample, ossia (di ) con di test sample.
Calcolando lerrore si previsione si ottiene
xxiv

> res_SSM=Y_test-fitted_response
> (RMSE_SSM=sqrt(mean(res_SSM^2)))
[1] 18.4181
Ovviamente non si possono trarre conclusioni generali sul fatto che un metodo dia
sempre risulati migliori dellaltro, ma preme evidenziare come in questo esempio i
risultati siano perlomeno paragonabili. Aumentando il numero di monomi, rendendo cio`e la base supersatura sempre pi`
u ampia, si otter`a un polinomio sempre piu
smooth; non `e detto per`o che allaumentare della base supersatura migliori contestualmente la capacit`a predittiva: infatti con una base formata da 500 termini si
ottiene un RMSE pari a 21.07795 mentre con una base a 330 monomi lerrore di
previsione `e di 24.76672. Non si pu`o definire a priori quanti monomi si devono aggiungere alla base satura per ottenere le migliori performance, ci si affida quindi a
euristiche enumerative entro un certo range di valori.
Si prenda ora in considerazione una diversa partizione del dataset in termini di
campione di fit e campione di test nella seguente maniera:
> Y_fit=mpg[1:300]
> Y_test=mpg[301:392]
> D_fit=mat[1:300,]
> D_test=mat[301:392,]
> L=degl(6,400)
> P=Legendre_P(L)
> K=get_Legendre_K(L)
> X=design_model_matrix(L,D_fit,P)
> theta=find_theta(Y_fit,K,X)
> fitted_response=as.vector(fit_model(D_test,theta,L,P))
>
> res_SSM=Y_test-fitted_response
> (RMSE_SSM=sqrt(mean(res_SSM^2)))
[1] 264.1551
e aumentando la base a 500 termini si ha un RM SE di addirittura 562.5912. Anche
in questo caso quindi, non si pu`o definire a priori una partizione ottimale del dataset,
ma si deve procedere per tantativi. Interessante notare invece come risponde la
regressione lineare allampliamento dellinsieme di fit:
Y=mpg
> Y_fit=mpg[1:300]
> Y_test=mpg[301:392]
> cylinders_fit=cylinders[1:300]
xxv

> horsepower_fit=horsepower[1:300]
> weight_fit=weight[1:300]
> year_fit=year[1:300]
> acceleration_fit=acceleration[1:300]
> displacement_fit=displacement[1:300]
> test_sample=data.frame( cylinders_fit = cylinders[301:392]
+ ,horsepower_fit = horsepower[301:392],weight_fit=weight[301:392]
+ ,acceleration_fit=acceleration[301:392],year_fit=year[301:392]
+ ,displacement_fit=displacement[301:392])
>
> fitt=predict(reg,newdata=test_sample)
>
> res=Y_test-fitt
> (RMSE=sqrt(mean(fitt^2)))
[1] 16.62818
Nel caso della regressione, aumentando il fit sample si raggiunge un miglior grado di previsione mentre nel modello di interpolazione SSM ne si ha un drastico
peggioramento. Una possibile spiegazione si ha ricordando che un modello di interpolazione per definizione `e obbligato a passare per ogni osservazione e quindi a parit`a
di intervallo tanti pi`
u punti il polinomio deve interpolare tanto maggiori saranno
le oscillazione per compiere questa missione. La regressione invece, che si basa sul
metodo dei minimi quadrati, avendo a disposizione un set di dati pi`
u grande per
imparare landamento del fenomeno, raggiunge una miglior stima dei suoi parametri
e quindi una maggior precisione quando viene chiamato a validazione. Infine si pu`o
verificare come effettivamente il modello SSM passi per ogni punto dellexperimantal
design con i seguenti comandi:
> fitted_response=as.vector(fit_model(D_fit,theta,L,P))
> res_SSM=Y_fit-fitted_response
> head(res_SSM)
[1] -1.421085e-13 -2.117062e-11 4.143175e-11 6.503242e-11
[5] 5.935874e-11 -7.225509e-11
lultima riga mostra come i residui siano numericamente zero, non lo sono esattamente in quanto si lavora su una macchina a precisione finita.

xxvi

Bibliografia
[1] R.Bates, B.Giglio, H.P.Wynn 2003 A Global Selection Procedure for Polynomial
Interpolation. TECHNOMETRICS
[2] R.Bates, H.Maruri-Aguilar, H.P.Wynn 2013 Smooth Supersaturated Models
Journal of Statistical Computation and Simulation
[3] R.Bates, H.Maruri-Aguilar, H.P.Wynn, P.R.Curtis 2013 Optimal design for
smooth supersaturated models (SSM)
[4] James E. Gentle 2009 Computational Statistics

Potrebbero piacerti anche