Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
2
2.1
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
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
p
3
d
.
.
.
d
1
1
3
d
. . . d2 p
2
..
.
p
3
dn . . . dn
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.
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
3
X
wi (x)yi
i=1
in cui
wi =
1 per L(xi )
0 altrimenti
(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
xi
(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
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
=
=
=
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
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
s.t
3.1
yi = (xi ), i = 1, . . . , n.
ricerca SSM
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
(2)
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
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.
0
0
f =
6x
12x2
20x3
xvi
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=
0
0
0
K=
0
0
0
#
2 6x 12x2
20x3
0
0
0
0
0
0
2
12x
24x
40x3
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
Z X
k X
k
i=1 j=1
in cui
f (11)
(ij) (ij)T
Z
=
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)
= X y = 0
= 2K 2T 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
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)
= y Q |{z}
XH y
In
= y Qy
2 = y T Qy
(8)
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
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
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]
Median
0.0639
3Q
0.9336
Max
3.2267
Coefficients:
(Intercept)
cylinders_fit
horsepower_fit
weight_fit
year_fit
acceleration_fit
displacement_fit
---
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
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
Figura 2.
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))
> 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