Proverò (a provare) a rispondere in tre passaggi: in primo luogo, identifichiamo esattamente cosa intendiamo per smooth univariato. Successivamente, descriveremo un smooth multivariato (in particolare, un smooth di due variabili). Infine, farò del mio meglio per descrivere senza problemi un prodotto tensore.
1) Univariato liscio
Supponiamo di avere alcuni dati di risposta che ipotizziamo sia una funzione sconosciuta f di una variabile predittore x più un errore . Il modello sarebbe:yfXε
y= f( x ) + ε
Ora, per adattarci a questo modello, dobbiamo identificare la forma funzionale di . Il modo in cui lo facciamo è identificando le funzioni di base, che sono sovrapposte per rappresentare la funzione f nella sua interezza. Un esempio molto semplice è una regressione lineare, in cui le funzioni di base sono solo β 2 x e β 1 , l'intercetta. Applicando l'espansione di base, abbiamoffβ2Xβ1
y= β1+ β2x + ε
In forma di matrice, avremmo:
Y= Xβ + ε
Dove è un vettore di colonna n per 1, X è una matrice di modello n per 2, β è un vettore di colonna 2 per 1 di coefficienti di modello e ε è un vettore di colonna n per 1 di errori . X ha due colonne perché ci sono due termini nella nostra espansione di base: il termine lineare e l'intercetta.YXβεX
Lo stesso principio si applica per l'espansione della base in MGCV, sebbene le funzioni di base siano molto più sofisticate. In particolare, le funzioni di base individuali non devono essere definite su tutto il dominio della variabile indipendente . Questo è spesso il caso quando si usano basi basate su nodi (vedere "esempio basato su nodi"X). Il modello viene quindi rappresentato come la somma delle funzioni di base, ognuna delle quali viene valutata ad ogni valore della variabile indipendente. Tuttavia, come ho già detto, alcune di queste funzioni di base assumono un valore pari a zero al di fuori di un determinato intervallo e quindi non contribuiscono all'espansione della base al di fuori di tale intervallo. Ad esempio, considera una base spline cubica in cui ciascuna funzione di base è simmetrica rispetto a un diverso valore (nodo) della variabile indipendente - in altre parole, ogni funzione di base ha lo stesso aspetto ma viene semplicemente spostata lungo l'asse della variabile indipendente (questa è una semplificazione eccessiva, poiché qualsiasi base pratica includerà anche un'intercettazione e un termine lineare, ma spero che tu abbia l'idea).
Ad essere espliciti, un'espansione di base della dimensione potrebbe apparire come:i - 2
y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi−2(x)+ε
dove ogni funzione è, forse, una funzione cubica della variabile indipendente x .fx
L'equazione di matrice può ancora essere usata per rappresentare il nostro modello. L'unica differenza è che X ora è una matrice n-by-i; vale a dire, ha una colonna per ogni termine nell'espansione di base (incluso l'intercetta e il termine lineare). Poiché il processo di espansione della base ci ha permesso di rappresentare il modello sotto forma di un'equazione di matrice, possiamo usare i minimi quadrati lineari per adattare il modello e trovare i coefficienti β .Y=Xβ+εXβ
Questo è un esempio di regressione non aperta e uno dei principali punti di forza di MGCV è la sua stima della scorrevolezza tramite una matrice di penalità e un parametro di livellamento. In altre parole, invece di:
β=(XTX)−1XTY
noi abbiamo:
β=(XTX+λS)−1XTY
dove è una matrice di penalità quadratica i -by- i e λ è un parametro di livellamento scalare. Non entrerò nella specifica della matrice di penalità qui, ma dovrebbe essere sufficiente dire che per ogni data base l'espansione di una variabile indipendente e la definizione di una penalità quadratica di "oscillazione" (ad esempio, una penalità di seconda derivata), una in grado di calcolare la matrice di rigore S .SiiλS
MGCV può utilizzare vari mezzi per stimare il parametro di livellamento ottimale . Non affronterò questo argomento poiché il mio obiettivo qui era quello di fornire un'ampia panoramica di come è costruito un liscio univariato, cosa che credo di aver fatto.λ
2) Multivariata liscia
La spiegazione sopra può essere generalizzata a più dimensioni. Torniamo al nostro modello che dà la risposta come una funzione f di predittori x e z . La restrizione a due variabili indipendenti eviterà di ingombrare la spiegazione con notazione arcana. Il modello è quindi:yfxz
y=f(x,z)+ε
Ora, dovrebbe essere intuitivamente ovvio che rappresenteremo con un'espansione di base (cioè una sovrapposizione di funzioni di base) proprio come abbiamo fatto nel caso univariato di f ( x ) sopra. Dovrebbe anche essere ovvio che almeno una, e quasi sicuramente molte altre, di queste funzioni di base devono essere funzioni di x e z (se così non fosse, allora implicitamente f sarebbe separabile in modo tale che f ( x , z ) = f x ( x ) + ff(x,z)f(x)xzf ). Un'illustrazione visiva di una base spline multidimensionale può essere trovataqui. Un'espansione completa a due dimensioni della dimensione i - 3 potrebbe assomigliare a:f(x,z)=fx(x)+fz(z)i−3
y=β1+β2x+β3z+β4f1(x,z)+...+βifi−3(x,z)+ε
Penso che sia abbastanza chiaro che possiamo ancora rappresentarlo in forma di matrice con:
Y=Xβ+ε
valutando semplicemente ogni funzione base ad ogni combinazione unica di e z . La soluzione è ancora:xz
β=(XTX)−1XTY
Il calcolo della seconda matrice di penalità derivata è molto simile al caso univariato, tranne per il fatto che invece di integrare la seconda derivata di ciascuna funzione di base rispetto a una singola variabile, integriamo la somma di tutte le seconde derivate (inclusi i parziali) rispetto a tutte le variabili indipendenti. I dettagli di quanto sopra non sono particolarmente importanti: il punto è che possiamo ancora costruire la matrice di penalità e usare lo stesso metodo per ottenere il valore ottimale del parametro di livellamento λ , e dato quel parametro di livellamento, il vettore dei coefficienti è ancora:Sλ
β=(XTX+λS)−1XTY
Ora, questo liscio bidimensionale ha una penalità isotropica : questo significa che un singolo valore di applica in entrambe le direzioni. Funziona bene quando sia x che z sono approssimativamente sulla stessa scala, come un'applicazione spaziale. E se sostituiamo la variabile spaziale z con la variabile temporale t ? Le unità di t possono essere molto più grandi o più piccole delle unità di x , e questo può buttare via l'integrazione dei nostri secondi derivati perché alcuni di questi derivati contribuiranno in modo sproporzionato all'integrazione complessiva (ad esempio, se misuriamo t in nanosecondi e Xλxzzttxtxin anni luce, l'integrale della seconda derivata rispetto a può essere notevolmente più grande dell'integrale della seconda derivata rispetto a x , e quindi la "oscillazione" lungo la direzione x può rimanere in gran parte non aperta. La diapositiva 15 della "cassetta degli attrezzi liscia" che ho collegato ha maggiori dettagli su questo argomento.txx
Vale la pena notare che non abbiamo scomponiamo le funzioni di base in basi marginali di e z . L'implicazione qui è che i smooth multivariati devono essere costruiti da basi che supportano più variabili. I prodotti tensore agevolano la costruzione di basi multivariate da basi univariate marginali, come spiego di seguito.xz
3) Il prodotto tensore leviga
I smoothing dei prodotti tensore affrontano il problema della modellazione delle risposte alle interazioni di più input con unità diverse. Supponiamo di avere una risposta che è una funzione f della variabile spaziale xe della variabile temporale t . Il nostro modello è quindi:yfxt
y=f(x,t)+ε
Quello che vorremmo fare è costruire una base bidimensionale per le variabili e t . Questo sarà molto più semplice se possiamo rappresentare f come:xtf
f(x,t)=fx(x)ft(t)
In senso algebrico / analitico, questo non è necessariamente possibile. Ma ricorda, stiamo discretizzando i domini di e t (immagina un "reticolo" bidimensionale definito dalle posizioni dei nodi sugli assi x e t ) in modo tale che la funzione "vera" f sia rappresentata dalla sovrapposizione di funzioni di base . Proprio come abbiamo ipotizzato che una funzione univariata molto complessa possa essere approssimata da una semplice funzione cubica su un intervallo specifico del suo dominio, possiamo supporre che la funzione non separabile f ( x , t ) possa essere approssimata dal prodotto di funzioni più semplici f x ( xxtxtff(x,t) e f t ( t ) su un intervallo, a condizione che la nostra scelta delle dimensioni di base renda tali intervalli sufficientemente piccoli!fx(x)ft(t)
La nostra espansione base, dato un base dimensionale in x e j base dimensionale in t , sarebbe quindi simile:ixjt
y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i−3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i−3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i−3)(x)+…+βijft(j−3)(t)fx(i−3)(x)+ε
Che può essere interpretato come un prodotto tensore. Immagina di aver valutato ciascuna funzione di base in e t , costruendo in tal modo le matrici dei modelli n e X e T rispettivamente n. Potremmo quindi calcolare il n 2 -by- i j prodotto tensoriale X ⊗ T di queste due matrici modello e riorganizzare in colonne, in modo che ogni colonna rappresentava una combinazione unica i j . Ricordiamo che le matrici modello marginali avevano i e jxtXTn2ij X⊗Tijijcolonne, rispettivamente. Questi valori corrispondono alle rispettive dimensioni di base. La nostra nuova base a due variabili dovrebbe quindi avere la dimensione , e quindi lo stesso numero di colonne nella sua matrice del modello.ij
NOTA: vorrei sottolineare che, poiché abbiamo costruito esplicitamente le funzioni di base del prodotto tensore prendendo i prodotti di funzioni di base marginale, le basi del prodotto tensore possono essere costruite da basi marginali di qualsiasi tipo. Non hanno bisogno di supportare più di una variabile, a differenza del smooth multivariato di cui sopra.
In realtà, questo processo si traduce in un'espansione di base complessiva della dimensione perché la moltiplicazione completa include la moltiplicazione di ogni funzione di base t per l'intercetta x β x 1 (quindi sottraggiamo j ) oltre a moltiplicare ogni Funzione base x dell'intercetta t β t 1 (quindi sottraggiamo i ), ma dobbiamo aggiungere nuovamente l'intercetta da sola (quindi aggiungiamo 1). Questo è noto come applicazione di un vincolo di identificabilità.ij−i−j+1tβx1jxβt1i
Quindi possiamo rappresentarlo come:
y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βij−i−j+1fij−i−j−2(x,t)+ε
Dove ciascuna delle funzioni di base multivariata è il prodotto di una coppia di funzioni di base marginali x e t . Ancora una volta, è abbastanza chiaro avendo costruito questa base che possiamo ancora rappresentarlo con l'equazione della matrice:fxt
Y=Xβ+ε
Quale (ancora) ha la soluzione:
β=(XTX)−1XTY
Dove la matrice del modello ha i j - i - j + 1 colonne. Per quanto riguarda le matrici di penalità J x e J t , queste sono costruite separatamente per ogni variabile indipendente come segue:Xij−i−j+1JxJt
Jx=βTIj⊗Sxβ
e,
Jt=βTSt⊗Iiβ
Ciò consente una penalità anisotropica generale (diversa in ciascuna direzione) (Nota: le penalità sulla seconda derivata di vengono sommate ad ogni nodo sull'asse t e viceversa). I parametri di livellamento λ x e λ t possono ora essere stimati più o meno allo stesso modo in cui il singolo parametro di livellamento era per i smooth univariati e multivariati. Il risultato è che la forma complessiva di un prodotto tensore uniforme è invariante al riscalamento delle sue variabili indipendenti.xtλxλt
Consiglio di leggere tutte le vignette sul sito Web MGCV, nonché " Modelli di additivi generalizzati: e introduzione con R ". Lunga vita a Simon Wood.