Calcolo numerico/Approssimazione media dei minimi quadrati

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:Calcolo numerico

Descrizione del problema

Supponiamo di avere le coppie di dati (xk,yk)k=0m con nodi xk a due a due distinti, e numerosi. Cerco

Pn∗(x)=∑j=1naj∗ϕj(x),

dove {ϕj(x)}j=0n è una base, e

∑k=0m(yk−pn∗(xk))2≤∑k=0m(yk−pn(xk))2

per ogni pn∈PN, cioè pn∗ è il polinomio che minimizza lo scarto quadratico medio. Inoltre, introducendo nella sommatoria pesi wk positivi, in modo da dare più importanza a determinati addendi rispetto ad altri, si ha

∑k=0mωk(yk−pn∗(xk))2≤∑k=0m(yk−pn(xk))2formula 1

lo scopo è quello di minimizzare lo scarto quadratico medio pesato.

Determinazione del sistema

Consideriamo per semplicità la base canonica dell'insieme dei polinomi, quindi ϕj=xj. Consideriamo

pn(x)=∑j=0najϕj(x)

e inserendo l'espressione di pn nel lato destro della formula 1:

∑k=0mωk(yk−∑j=0najϕj(xk))2=Φ(a0,…,an)

che è un funzionale nei parametri da determinare. Cerchiamo il valore dei parametri per cui otteniamo la minimizzazione di pn.

Il minimo rende stazionario il gradiente di Φ, quindi calcoliamo le derivate parziali. Per ogni i=0,…,n, si ha

∂Φ∂ai=∑k=0mωk∗2∗(yk−∑j=0najϕj(xk))∗(−ϕi(xk))=0

∑k=0mωk∑j=0najϕj(xk)∗ϕi(xk)=∑k=0mwkykϕi(xk)

e invertendo le sommatorie

∑j=0n(∑k=0mωkϕj(xk)∗ϕi(xk))aj=∑k=0mωkykϕi(xk)

Abbiamo un sistema lineare di n+1 equazioni nelle n+1 incognite a a0,…,an. Riscrivendo il tutto in maniera compatta abbiamo il sistema:

C𝒂=𝒃

dove

C=(Cij)=∑k=0mωkϕj(xk)ϕi(xk),

mentre

bi=∑k=0mωkykϕi(xk),i,j=0,…n

Per dimostrare che la soluzione di tale sistema è un minimo, analizziamo la matrice C=HΦ. Dobbiamo verificare che l'hessiana è definita positiva e simmetrica.

Proposizione 5.1

La matrice C=HΦ è definita positiva (e di conseguenza esiste unica la soluzione del problema, e a 𝒂 è un minimo per Φ.)

Dimostrazione

Fattorizziamo la matrice C per decomporla in pezzi, nella forma

C=PtWP

Pt è una matrice rettangolare di n+1 righe e m+1 colonne, con m>>n, W è una matrice quadrata m+1×m+1, mentre P è (m+1)×(n+1).

P è definita nel modo seguente.

Pst=ϕt(xs)

W=diag(w1,…,wm+1)

La matrice della forma PtWP è detta matrice delle equazioni normali pesate. Il termine noto si può scrivere come PtWY.

Dimostriamo che C è simmetrica.

Ct=(PtWP)t=PtWtP=PtWP

perché W è diagonale.

Dimostriamo che C è definita positiva.

Per ogni 𝒙≠0, dobbiamo dimostrare che

𝒙tC𝒙>0

𝒙tC𝒙=𝒙tPtWP𝒙

e definendo 𝒚=P𝒙 si ha

𝒙tC𝒙=𝒚tW𝒚

Supponiamo che P abbia rango massimo. Allora 𝒚≠0, e siccome W è definita positiva per definizione, 𝒚tW𝒚>0.

Dimostriamo che P ha rango massimo.

Caso particolare: consideriamo ϕj(x)=xj. Allora

Ps,t=(xkj),k=0,…,m,j=0,…,n

Per esteso

P=(1x0x02…x0n1x1x12…x1n……………1xmxm2…xmn)

Questa è la sottomatrice principale della matrice di Vandermonde. Siccome i nodi sono a due a due distinti, la Vandermonde è non singolare, allora ogni sua sottomatrice ha colonne linearmente indipendenti. P ha rango massimo.

Considerando per lo spazio PN una qualsiasi altra base invece di quella canonica, vale la medesima proprietà.

Infatti la matrice del cambiamento di base è non singolare e quindi il rango è conservato.

Nel caso della base canonica dei polinomi,

C=∑k=0mωkxki+j

In particolare:

C00=∑k=0mωk

C10=∑k=0nωkxk=C01

C20=∑k=0mωkxk2=C11=C02

Abbiamo una matrice con elementi costanti lungo le antidiagonali. Una matrice con questa struttura viene chiamata matrice di Henkel.

Ricerca della soluzione del sistema

Data la scrittura C=PtWP, l'approssimazione ai minimi quadrati, come impostato inizialmente, consiste nella risoluzione del sistema sovradeterminato P𝒂=𝒚 di m+1 equazioni in n+1 incognite. Infatti, per minimizzare la norma del residuo, risolviamo

∑j=0najϕj(xk)=yk,k=0,…,m

Non c'è una soluzione classica di questo sistema, ma dobbiamo cercare una soluzione più debole.

Per minimizzare la norma euclidea del residuo, vogliamo determinare il vettore 𝒂∗ tale che

ϕ(𝒂∗)=(|𝒚−P𝒂|)2=min𝒂∈ℝn+1(|𝒚−P𝒂|)2

Invece di determinare la soluzione di P𝒂=𝒚 cerchiamo la soluzione di

PtP𝒂=Pt𝒚=𝒃

(sistema delle equazioni normali). Se supponiamo di avere pesi ωk generici, possiamo definire

w(R)=RtWR=∑kωkrk2

Possiamo pensare questa norma come la norma euclidea al quadrato di W1/2R.

Possibilità per la risoluzione del sistema dei minimi quadrati

Prima possibilità: consideriamo la fattorizzazione di Cholesky, per matrici simmetriche e definite positive come C.

Risolviamo quindi i sistemi

Rt𝒛=𝒃

R𝒂=𝒛

Consideriamo per semplicità wk=1.

Analizziamo il costo computazionale nella costruzione di C:

Cij=∑k=0mωkϕj(xk)ϕi(xk)

C ha n2 elementi, e ognuno richiede m prodotti. C è simmetrica quindi basta calcolare metà degli elementi, per un totale di n2∗m/2 operazioni.

Siccome il costo della fattorizzazione di Cholesky di C è n3/6, in totale abbiamo: n2/2∗(m+n/3) operazioni. Quando i dati sono molti (m grande) si hanno problemi di accuratezza e di rappresentabilità nella fattorizzazione di Cholesky.

Fattorizzazione QR per la risoluzione del sistema dei minimi quadrati

Supponiamo di avere A∈Cm×n di rango massimo (nel problema corrisponde a P). Calcoliamo la fattorizzazione QR di A.

Considerata Qh=p1p2…pn (nel caso di matrici rettangolari abbiamo n colonne da annullare), otteniamo una matrice R con m righe e n colonne, suddivisa in due blocchi: R1 triangolare superiore e r2 blocco trapezoidale di zeri delle sottocolonne annullate.

Il blocco superiore è sicuramente non singolare, perché A ha rango massimo.

|A𝒙−𝒃|r=|QR𝒙−𝒃|

=|Q(R𝒙−QH𝒃)|

ma siccome Q è unitaria conserva la norma 2:

=|R𝒙−Qh𝒃|

e ponendo Qh𝒃=𝒄, siccome R ha due blocchi e il secondo è nullo, e siccome 𝒄=(𝒄1,𝒄2), si ha

|R1𝒙−𝒄1−𝒄2|2

Cerchiamo

minx∈ℂn|A𝒙−𝒃|2

che per quanto appena osservato è

=min⁡|R1𝒙−𝒄|2

(|R1𝒙−𝒄1−𝒄2|)2≤|R1𝒙−𝒄1|2+|𝒄2|22

min𝒙∈ℂn(|R1𝒙−𝒄1|)2+|𝒄2|2

Il primo addendo è minimo quando

R1𝒙=𝒄1

e rimane

min⁡|𝒄2|2

Si conclude che, data la matrice A, si calcola la fattorizzazione QR e si risolve quindi

R1𝒙=𝒄1

Il costo è n3/3 per la fattorizzazione e mn2 per la risoluzione del sistema lineare, e in totale

n2∗(m−n/3)

che è maggiore di quello della fattorizzazione di Cholesky. Questo metodo però è più sicuro della fattorizzazione di Cholesky.

Relazione tra i due metodi

Tornando al problema di approssimazione, ci si chiede qual è la relazione tra R1 che viene dall'applicazione della QR ad A generica e R¯ che otteniamo facendo la Cholesky. Queste matrici sono uguali a meno di matrici di fase (diagonali unitarie).

PtWP=R¯hR¯=RhQhQR=R1hR1

e R1 differisce per una matrice di fase da R¯.

Nel caso di pesi diversi da 1, si deve considerare la norma euclidea pesata e si può ripetere il procedimento analogo.

Consideriamo la norma 2 di

W1/2(A𝒙−𝒃)

quindi consideriamo QR di A¯=W1/2∗A.

Condizionamento

Applicando la QR ad A, K(R1)=K(R)=K(A).

Costruendo C=AhA con la Cholesky, si ha K(AhA)=K(A)2.

Quindi le equazioni normali hanno lo svantaggio di un indice di condizionamento quadrato rispetto a quello di A.

Template:Avanzamento