Metodo dei minimi quadrati. Approssimazione dei dati sperimentali

Metodo dei minimi quadrati

Metodo dei minimi quadrati ( OLS, OLS, Minimi quadrati ordinari) - uno dei metodi di base dell'analisi di regressione per la stima dei parametri sconosciuti dei modelli di regressione utilizzando dati campione. Il metodo si basa sulla minimizzazione della somma dei quadrati dei residui di regressione.

Va notato che il metodo dei minimi quadrati stesso può essere definito un metodo per risolvere un problema in qualsiasi area se la soluzione risiede o soddisfa alcuni criteri per minimizzare la somma dei quadrati di alcune funzioni delle variabili richieste. Pertanto, il metodo dei minimi quadrati può essere utilizzato anche per una rappresentazione approssimativa (approssimazione) di una data funzione mediante altre funzioni (più semplici), quando si trova un insieme di quantità che soddisfano equazioni o vincoli, il cui numero supera il numero di queste quantità , eccetera.

L'essenza della MNC

Si dia un modello (parametrico) di una relazione probabilistica (di regressione) tra la variabile (spiegata). e molti fattori (variabili esplicative) X

dove è il vettore dei parametri del modello sconosciuti

- errore casuale del modello.

Lasciamo che ci siano anche osservazioni campione dei valori di queste variabili. Sia il numero di osservazione (). Quindi ci sono i valori delle variabili nell'esima osservazione. Quindi, per dati valori dei parametri b, è possibile calcolare i valori teorici (modello) della variabile spiegata y:

La dimensione dei residui dipende dai valori dei parametri b.

L'essenza del metodo dei minimi quadrati (ordinario, classico) è trovare i parametri b per i quali la somma dei quadrati dei residui (eng. Somma residua dei quadrati) sarà minimo:

Nel caso generale, questo problema può essere risolto mediante metodi di ottimizzazione numerica (minimizzazione). In questo caso parliamo di minimi quadrati non lineari(NLS o NLLS - inglese) Minimi quadrati non lineari). In molti casi è possibile ottenere una soluzione analitica. Per risolvere il problema di minimizzazione è necessario trovare i punti stazionari della funzione differenziandola rispetto ai parametri incogniti b, eguagliando a zero le derivate e risolvendo il sistema di equazioni risultante:

Se gli errori casuali del modello sono distribuiti normalmente, hanno la stessa varianza e non sono correlati, le stime dei parametri OLS sono le stesse delle stime di massima verosimiglianza (MLM).

OLS nel caso di un modello lineare

Sia lineare la dipendenza dalla regressione:

Permettere è un vettore colonna di osservazioni della variabile spiegata ed è una matrice di osservazioni fattoriali (le righe della matrice sono i vettori dei valori dei fattori in una data osservazione, le colonne sono il vettore dei valori di un dato fattore in tutte le osservazioni). La rappresentazione matriciale del modello lineare è:

Allora il vettore delle stime della variabile spiegata e il vettore dei residui di regressione saranno uguali

Di conseguenza, la somma dei quadrati dei residui della regressione sarà uguale a

Differenziando questa funzione rispetto al vettore dei parametri ed eguagliando a zero le derivate, otteniamo un sistema di equazioni (in forma matriciale):

.

La soluzione di questo sistema di equazioni fornisce la formula generale per le stime dei minimi quadrati per un modello lineare:

Per scopi analitici, è utile quest'ultima rappresentazione di questa formula. Se in un modello di regressione i dati centrato, quindi in questa rappresentazione la prima matrice ha il significato di matrice di covarianza campionaria di fattori, e la seconda è un vettore di covarianza di fattori con la variabile dipendente. Se in aggiunta i dati sono anche normalizzato a MSE (cioè, in definitiva standardizzato), quindi la prima matrice ha il significato di una matrice di correlazione campionaria di fattori, il secondo vettore - un vettore di correlazioni campionarie di fattori con la variabile dipendente.

Una proprietà importante delle stime OLS per i modelli con costante- la retta della regressione costruita passa per il baricentro dei dati del campione, ovvero l'uguaglianza è soddisfatta:

In particolare, nel caso estremo, quando l'unico regressore è una costante, troviamo che la stima OLS dell'unico parametro (la costante stessa) è pari al valore medio della variabile spiegata. Cioè, la media aritmetica, nota per le sue buone proprietà derivanti dalle leggi dei grandi numeri, è anche una stima dei minimi quadrati: soddisfa il criterio della somma minima delle deviazioni quadrate da essa.

Esempio: regressione più semplice (a coppie).

Nel caso della regressione lineare accoppiata, le formule di calcolo sono semplificate (puoi fare a meno dell'algebra delle matrici):

Proprietà degli stimatori OLS

Innanzitutto, notiamo che per i modelli lineari, le stime OLS sono stime lineari, come segue dalla formula sopra. Per stime OLS imparziali, è necessario e sufficiente soddisfare la condizione più importante dell'analisi di regressione: l'aspettativa matematica di un errore casuale, condizionata ai fattori, deve essere uguale a zero. Questa condizione, in particolare, è soddisfatta se

  1. l'aspettativa matematica di errori casuali è zero e
  2. fattori ed errori casuali sono variabili casuali indipendenti.

La seconda condizione – la condizione di esogeneità dei fattori – è fondamentale. Se questa proprietà non viene soddisfatta, allora possiamo presumere che quasi tutte le stime saranno estremamente insoddisfacenti: non saranno nemmeno coerenti (cioè, anche una quantità molto grande di dati non ci consente di ottenere stime di alta qualità in questo caso ). Nel caso classico, viene fatta un’ipotesi più forte sul determinismo dei fattori, in contrapposizione all’errore casuale, il che significa automaticamente che la condizione di esogeneità è soddisfatta. Nel caso generale, per la consistenza delle stime, è sufficiente soddisfare la condizione di esogeneità insieme alla convergenza della matrice verso una matrice non singolare all'aumentare della dimensione del campione all'infinito.

Affinché, oltre alla coerenza e all'imparzialità, anche le stime dei minimi quadrati (ordinari) siano efficaci (le migliori nella classe delle stime lineari imparziali), devono essere soddisfatte ulteriori proprietà dell'errore casuale:

Queste ipotesi possono essere formulate per la matrice di covarianza del vettore di errore casuale

Viene chiamato un modello lineare che soddisfa queste condizioni classico. Le stime OLS per la regressione lineare classica sono imparziali, coerenti e le stime più efficaci nella classe di tutte le stime lineari imparziali (nella letteratura inglese a volte viene utilizzata l'abbreviazione BLU (Miglior stimatore lineare non bilanciato) - la migliore stima lineare imparziale; Nella letteratura nazionale, il teorema di Gauss-Markov è più spesso citato). Come è facile mostrare, la matrice di covarianza del vettore delle stime dei coefficienti sarà pari a:

OLS generalizzato

Il metodo dei minimi quadrati consente un’ampia generalizzazione. Invece di minimizzare la somma dei quadrati dei residui, è possibile minimizzare una forma quadratica definita positiva del vettore dei residui, dove c'è una matrice di pesi definiti positivi simmetrica. I minimi quadrati convenzionali sono un caso speciale di questo approccio, in cui la matrice dei pesi è proporzionale alla matrice identità. Come è noto dalla teoria delle matrici (o operatori) simmetriche, per tali matrici esiste una scomposizione. Di conseguenza, il funzionale specificato può essere rappresentato come segue, cioè questo funzionale può essere rappresentato come la somma dei quadrati di alcuni “resti” trasformati. Pertanto, possiamo distinguere una classe di metodi dei minimi quadrati: i metodi LS (Least Squares).

È stato dimostrato (teorema di Aitken) che per un modello di regressione lineare generalizzato (in cui non sono imposte restrizioni sulla matrice di covarianza degli errori casuali), le più efficaci (nella classe delle stime lineari imparziali) sono le cosiddette stime. Minimi quadrati generalizzati (GLS - Minimi quadrati generalizzati)- Metodo LS con matrice dei pesi pari alla matrice di covarianza inversa degli errori casuali: .

Si può dimostrare che la formula per le stime GLS dei parametri di un modello lineare ha la forma

La matrice di covarianza di tali stime sarà pertanto pari a

Infatti, l'essenza dell'OLS risiede in una certa trasformazione (lineare) (P) dei dati originali e nell'applicazione dell'OLS ordinario ai dati trasformati. Lo scopo di questa trasformazione è che per i dati trasformati gli errori casuali soddisfino già le ipotesi classiche.

OLS ponderati

Nel caso di una matrice dei pesi diagonale (e quindi di una matrice di covarianza di errori casuali), abbiamo i cosiddetti minimi quadrati pesati (WLS). In questo caso, la somma pesata dei quadrati dei residui del modello è minimizzata, cioè ogni osservazione riceve un “peso” che è inversamente proporzionale alla varianza dell'errore casuale in tale osservazione: . Infatti, i dati vengono trasformati ponderando le osservazioni (dividendo per un importo proporzionale alla deviazione standard stimata degli errori casuali) e ai dati ponderati viene applicato l'OLS ordinario.

Alcuni casi speciali di utilizzo pratico della MNC

Approssimazione della dipendenza lineare

Consideriamo il caso in cui, a seguito dello studio della dipendenza di una certa quantità scalare da una certa quantità scalare (questo potrebbe essere, ad esempio, la dipendenza della tensione dall'intensità della corrente: , dove è un valore costante, la resistenza di il conduttore), sono state effettuate misurazioni di queste quantità, a seguito delle quali sono stati rilevati i valori e i loro valori corrispondenti. I dati di misurazione devono essere registrati in una tabella.

Tavolo. Risultati della misurazione.

Misura n.
1
2
3
4
5
6

La domanda è: quale valore del coefficiente può essere selezionato per descrivere al meglio la dipendenza? Secondo il metodo dei minimi quadrati, questo valore dovrebbe essere tale che la somma dei quadrati delle deviazioni dei valori dai valori

era minimo

La somma delle deviazioni quadrate ha un estremo: il minimo, che ci consente di utilizzare questa formula. Troviamo da questa formula il valore del coefficiente. Per fare ciò, trasformiamo il suo lato sinistro come segue:

L'ultima formula ci permette di trovare il valore del coefficiente, che è quello richiesto nel problema.

Storia

Fino all'inizio del XIX secolo. gli scienziati non avevano regole specifiche per risolvere un sistema di equazioni in cui il numero di incognite è inferiore al numero di equazioni; Fino a quel momento venivano utilizzate tecniche private che dipendevano dal tipo di equazioni e dall'ingegno dei calcolatori, e quindi calcolatori diversi, basandosi sugli stessi dati osservativi, giungevano a conclusioni diverse. Gauss (1795) fu il primo a utilizzare il metodo e Legendre (1805) lo scoprì e lo pubblicò indipendentemente con il suo nome moderno (francese. Metodo dei moindres quarrés ). Laplace collegò il metodo alla teoria della probabilità e il matematico americano Adrain (1808) ne considerò le applicazioni teoriche della probabilità. Il metodo fu diffuso e migliorato da ulteriori ricerche di Encke, Bessel, Hansen e altri.

Usi alternativi degli OLS

L’idea del metodo dei minimi quadrati può essere utilizzata anche in altri casi non direttamente legati all’analisi di regressione. Il fatto è che la somma dei quadrati è una delle misure di prossimità più comuni per i vettori (metrica euclidea negli spazi a dimensione finita).

Un'applicazione è la “soluzione” di sistemi di equazioni lineari in cui il numero di equazioni è maggiore del numero di variabili

dove la matrice non è quadrata, ma di dimensione rettangolare.

Un tale sistema di equazioni, nel caso generale, non ha soluzione (se il rango è effettivamente maggiore del numero di variabili). Pertanto, questo sistema può essere “risolto” solo nel senso di scegliere un vettore tale da minimizzare la “distanza” tra i vettori e . Per fare ciò, puoi applicare il criterio di minimizzare la somma dei quadrati delle differenze tra i lati sinistro e destro delle equazioni del sistema, cioè. È facile dimostrare che la soluzione di questo problema di minimizzazione porta alla soluzione del seguente sistema di equazioni

Se una certa quantità fisica dipende da un'altra quantità, allora questa dipendenza può essere studiata misurando y a diversi valori di x. Come risultato delle misurazioni, si ottengono una serie di valori:

x1, x2, ..., xi, ..., xn;

y 1 , y 2 , ..., y io , ... , y n .

Sulla base dei dati di tale esperimento, è possibile costruire un grafico della dipendenza y = ƒ(x). La curva risultante permette di giudicare la forma della funzione ƒ(x). Tuttavia, i coefficienti costanti che entrano in questa funzione rimangono sconosciuti. Possono essere determinati utilizzando il metodo dei minimi quadrati. I punti sperimentali, di regola, non giacciono esattamente sulla curva. Il metodo dei minimi quadrati richiede che la somma dei quadrati delle deviazioni dei punti sperimentali dalla curva, cioè 2 era il più piccolo.

In pratica, questo metodo viene utilizzato più spesso (e più semplicemente) nel caso di una relazione lineare, ad es. Quando

y = kx O y = a + bx.

La dipendenza lineare è molto diffusa in fisica. E anche quando la relazione non è lineare, di solito si cerca di costruire un grafico in modo da ottenere una linea retta. Ad esempio, se si presuppone che l'indice di rifrazione del vetro n sia correlato alla lunghezza d'onda della luce λ dalla relazione n = a + b/λ 2, nel grafico viene rappresentata la dipendenza di n da λ -2.

Considera la dipendenza y = kx(una retta passante per l'origine). Componiamo il valore φ la somma dei quadrati delle deviazioni dei nostri punti dalla retta

Il valore di φ è sempre positivo e risulta tanto minore quanto più i nostri punti sono vicini alla retta. Il metodo dei minimi quadrati afferma che il valore di k dovrebbe essere scelto in modo tale che φ abbia un minimo


O
(19)

Il calcolo mostra che l'errore quadratico medio nel determinare il valore di k è uguale a

, (20)
dove n è il numero di misurazioni.

Consideriamo ora un caso leggermente più difficile, in cui i punti devono soddisfare la formula y = a + bx(una retta che non passa per l'origine).

Il compito è trovare i migliori valori di a e b dall'insieme di valori disponibili x i, y i.

Componiamo nuovamente la forma quadratica φ, pari alla somma dei quadrati degli scostamenti dei punti x i, y i dalla retta

e trovare i valori di a e b per i quali φ ha minimo

;

.

.

La soluzione congiunta di queste equazioni dà

(21)

Gli errori quadratici medi della determinazione di a e b sono uguali

(23)

.  (24)

Quando si elaborano i risultati della misurazione utilizzando questo metodo, è conveniente riassumere tutti i dati in una tabella in cui vengono calcolati preliminarmente tutti gli importi inclusi nelle formule (19)(24). Le forme di queste tabelle sono fornite negli esempi seguenti.

Esempio 1.È stata studiata l'equazione di base della dinamica del moto rotatorio ε = M/J (una retta passante per l'origine). A diversi valori del momento M, è stata misurata l'accelerazione angolare ε di un determinato corpo. È necessario determinare il momento di inerzia di questo corpo. I risultati delle misurazioni del momento di forza e dell'accelerazione angolare sono elencati nella seconda e terza colonna tabella 5.

Tabella 5
N M, N m ε, s -1 M2 ε - kM (ε - kM) 2
1 1.44 0.52 2.0736 0.7488 0.039432 0.001555
2 3.12 1.06 9.7344 3.3072 0.018768 0.000352
3 4.59 1.45 21.0681 6.6555 -0.08181 0.006693
4 5.90 1.92 34.81 11.328 -0.049 0.002401
5 7.45 2.56 55.5025 19.072 0.073725 0.005435
– – 123.1886 41.1115 – 0.016436

Utilizzando la formula (19) determiniamo:

.

Per determinare l'errore quadratico medio, utilizziamo la formula (20)

0.005775kg-1 · M -2 .

Secondo la formula (18) abbiamo

; .

S J = (2,996 0,005775)/0,3337 = 0,05185 kgm2.

Fissata l'affidabilità P = 0,95, utilizzando la tabella dei coefficienti di Student per n = 5, troviamo t = 2,78 e determiniamo l'errore assoluto ΔJ = 2,78 0,05185 = 0,1441 ≈ 0,2 kgm2.

Scriviamo i risultati nel modulo:

J = (3,0 ± 0,2) kgm2;


Esempio 2. Calcoliamo il coefficiente di temperatura della resistenza del metallo utilizzando il metodo dei minimi quadrati. La resistenza dipende linearmente dalla temperatura

R t = R 0 (1 + α t°) = R 0 + R 0 α t°.

Il termine libero determina la resistenza R 0 alla temperatura di 0 ° C, e il coefficiente di pendenza è il prodotto del coefficiente di temperatura α e della resistenza R 0 .

I risultati delle misurazioni e dei calcoli sono riportati nella tabella ( vedere la tabella 6).

Tabella 6
N t°, s r, Ohm t-¯t (t-¯t) 2 (t-¯t)r r - bt - a (r - bt - a) 2 .10 -6
1 23 1.242 -62.8333 3948.028 -78.039 0.007673 58.8722
2 59 1.326 -26.8333 720.0278 -35.581 -0.00353 12.4959
3 84 1.386 -1.83333 3.361111 -2.541 -0.00965 93.1506
4 96 1.417 10.16667 103.3611 14.40617 -0.01039 107.898
5 120 1.512 34.16667 1167.361 51.66 0.021141 446.932
6 133 1.520 47.16667 2224.694 71.69333 -0.00524 27.4556
515 8.403 – 8166.833 21.5985 – 746.804
∑/n 85.83333 1.4005 – – – – –

Usando le formule (21), (22) determiniamo

R 0 = ¯ R- α R 0 ¯ t = 1,4005 - 0,002645 85,83333 = 1,1735 Ohm.

Troviamo un errore nella definizione di α. Poiché , allora secondo la formula (18) abbiamo:

.

Usando le formule (23), (24) abbiamo

;

0.014126 Ohm.

Avendo fissato l'affidabilità a P = 0,95, utilizzando la tabella dei coefficienti di Student per n = 6, troviamo t = 2,57 e determiniamo l'errore assoluto Δα = 2,57 0,000132 = 0,000338 gradi -1.

α = (23 ± 4) 10 -4 salve-1 a P = 0,95.


Esempio 3.È necessario determinare il raggio di curvatura della lente utilizzando gli anelli di Newton. Furono misurati i raggi degli anelli di Newton r m e fu determinato il numero di questi anelli m. I raggi degli anelli di Newton sono legati al raggio di curvatura della lente R e al numero dell'anello mediante l'equazione

r 2 m = mλR - 2d 0 R,

dove d 0 lo spessore dello spazio tra la lente e la piastra piano parallela (o la deformazione della lente),

λ lunghezza d'onda della luce incidente.

λ = (600 ± 6) nm;
r2m = y;
m =x;
λR = b;
-2d 0 R = un,

allora l'equazione assumerà la forma y = a + bx.

.

Vengono inseriti i risultati delle misurazioni e dei calcoli tabella 7.

Tabella 7
N x = m y = r 2, 10 -2 mm 2 mm (m -¯m) 2 (m -¯ m)y y - bx - a, 10 -4 (y - bx - a) 2 , 10 -6
1 1 6.101 -2.5 6.25 -0.152525 12.01 1.44229
2 2 11.834 -1.5 2.25 -0.17751 -9.6 0.930766
3 3 17.808 -0.5 0.25 -0.08904 -7.2 0.519086
4 4 23.814 0.5 0.25 0.11907 -1.6 0.0243955
5 5 29.812 1.5 2.25 0.44718 3.28 0.107646
6 6 35.760 2.5 6.25 0.894 3.12 0.0975819
21 125.129 – 17.5 1.041175 – 3.12176
∑/n 3.5 20.8548333 – – – – –

  • Programmazione
    • Esercitazione

    introduzione

    Sono un matematico e programmatore. Il salto più grande che ho fatto nella mia carriera è stato quando ho imparato a dire: "Io non capisco niente!" Adesso non mi vergogno di dire al luminare della scienza che mi sta tenendo una conferenza, che non capisco quello che lui, il luminare, mi sta dicendo. Ed è molto difficile. Sì, ammettere la propria ignoranza è difficile e imbarazzante. A chi piace ammettere di non conoscere le basi di qualcosa? A causa della mia professione devo assistere a un gran numero di presentazioni e conferenze, dove, lo ammetto, nella stragrande maggioranza dei casi vorrei dormire perché non capisco nulla. Ma non capisco perché il grosso problema dell’attuale situazione scientifica risiede nella matematica. Si presuppone che tutti gli ascoltatori abbiano familiarità con assolutamente tutte le aree della matematica (il che è assurdo). Ammettere di non sapere cosa sia un derivato (di cosa si parlerà tra poco) è vergognoso.

    Ma ho imparato a dire che non so cosa sia la moltiplicazione. Sì, non so cosa sia una sottoalgebra su un'algebra di Lie. Sì, non so perché le equazioni quadratiche siano necessarie nella vita. A proposito, se sei sicuro di saperlo, allora abbiamo qualcosa di cui parlare! La matematica è una serie di trucchi. I matematici cercano di confondere e intimidire il pubblico; dove non c'è confusione, non c'è reputazione, né autorità. Sì, è prestigioso parlare nel modo più astratto possibile, il che è una totale sciocchezza.

    Sai cos'è un derivato? Molto probabilmente mi parlerai del limite del rapporto di differenza. Nel primo anno di matematica e meccanica all'Università statale di San Pietroburgo, me lo disse Viktor Petrovich Khavin determinato derivata come coefficiente del primo termine della serie di Taylor della funzione in un punto (questa era una ginnastica separata per determinare la serie di Taylor senza derivate). Ho riso a lungo di questa definizione finché non ho finalmente capito di cosa si trattava. La derivata non è altro che una semplice misura di quanto la funzione che stiamo differenziando è simile alla funzione y=x, y=x^2, y=x^3.

    Ora ho l'onore di tenere lezioni agli studenti che Paura matematica. Se hai paura della matematica, siamo sulla stessa strada. Non appena provi a leggere un testo e ti sembra che sia eccessivamente complicato, allora sappi che è scritto male. Affermo che non esiste una sola area della matematica che non possa essere discussa “sulle dita” senza perdere la precisione.

    Compito per il prossimo futuro: ho incaricato i miei studenti di capire cos'è un regolatore quadratico lineare. Non essere timido, trascorri tre minuti della tua vita e segui il collegamento. Se non capisci nulla, allora siamo sulla stessa strada. Nemmeno io (un matematico-programmatore professionista) ho capito niente. E ti assicuro che puoi capirlo “con le dita”. Al momento non so di cosa si tratti, ma vi assicuro che riusciremo a capirlo.

    Quindi, la prima lezione che darò ai miei studenti dopo che verranno da me inorriditi e mi diranno che un regolatore lineare-quadratico è una cosa terribile che non padroneggerai mai in vita tua è metodi dei minimi quadrati. Sai risolvere equazioni lineari? Se stai leggendo questo testo, molto probabilmente no.

    Quindi, dati due punti (x0, y0), (x1, y1), ad esempio (1,1) e (3,2), il compito è trovare l'equazione della retta che passa per questi due punti:

    illustrazione

    Questa riga dovrebbe avere un'equazione come la seguente:

    Qui alfa e beta ci sono sconosciuti, ma sono noti due punti di questa linea:

    Possiamo scrivere questa equazione in forma matriciale:

    Qui dovremmo fare una digressione lirica: cos'è una matrice? Una matrice non è altro che un array bidimensionale. Questo è un modo di archiviare i dati; ad esso non devono essere attribuiti ulteriori significati. Dipende da noi esattamente come interpretare una determinata matrice. Periodicamente lo interpreterò come una mappatura lineare, periodicamente come una forma quadratica e talvolta semplicemente come un insieme di vettori. Tutto questo verrà chiarito contestualmente.

    Sostituiamo le matrici concrete con la loro rappresentazione simbolica:

    Quindi (alfa, beta) possono essere facilmente trovati:

    Più specificamente per i nostri dati precedenti:

    Il che porta alla seguente equazione della retta passante per i punti (1,1) e (3,2):

    Ok, qui è tutto chiaro. Troviamo l'equazione della retta passante tre punti: (x0,y0), (x1,y1) e (x2,y2):

    Oh-oh-oh, ma abbiamo tre equazioni per due incognite! Un matematico standard dirà che non esiste soluzione. Cosa dirà il programmatore? E prima riscriverà il precedente sistema di equazioni nella seguente forma:

    Nel nostro caso i vettori i, j, b sono tridimensionali, quindi (nel caso generale) non esiste soluzione a questo sistema. Qualsiasi vettore (alfa\*i + beta\*j) giace nel piano attraversato dai vettori (i, j). Se b non appartiene a questo piano, non esiste soluzione (non è possibile ottenere l'uguaglianza nell'equazione). Cosa fare? Cerchiamo un compromesso. Indichiamo con e(alfa, beta) esattamente fino a che punto non abbiamo raggiunto l’uguaglianza:

    E proveremo a ridurre al minimo questo errore:

    Perché quadrato?

    Cerchiamo non solo il minimo della norma, ma il minimo del quadrato della norma. Perché? Il punto minimo stesso coincide e il quadrato dà una funzione regolare (una funzione quadratica degli argomenti (alfa, beta)), mentre semplicemente la lunghezza dà una funzione a forma di cono, non differenziabile nel punto minimo. Brr. Un quadrato è più conveniente.

    Ovviamente l'errore è minimizzato quando il vettore e ortogonale al piano percorso dai vettori io E J.

    Illustrazione

    In altre parole: stiamo cercando una linea retta tale che la somma dei quadrati delle distanze da tutti i punti a questa linea retta sia minima:

    AGGIORNAMENTO: ho un problema qui, la distanza dalla linea retta dovrebbe essere misurata verticalmente e non mediante proiezione ortogonale. Ha ragione il commentatore.

    Illustrazione

    In parole completamente diverse (attentamente, scarsamente formalizzate, ma dovrebbe essere chiaro): prendiamo tutte le linee possibili tra tutte le coppie di punti e cerchiamo la linea media tra tutte:

    Illustrazione

    Un'altra spiegazione è semplice: colleghiamo una molla tra tutti i punti dati (qui ne abbiamo tre) e la linea retta che stiamo cercando, e la linea retta dello stato di equilibrio è esattamente ciò che stiamo cercando.

    Forma quadratica minima

    Quindi, dato questo vettore B e un piano attraversato dai vettori colonna della matrice UN(in questo caso (x0,x1,x2) e (1,1,1)), stiamo cercando il vettore e con un quadrato minimo di lunghezza. Ovviamente il minimo è ottenibile solo per il vettore e, ortogonale al piano attraversato dai vettori colonna della matrice UN:

    In altre parole, stiamo cercando un vettore x=(alfa, beta) tale che:

    Ti ricordo che questo vettore x=(alpha, beta) è il minimo della funzione quadratica ||e(alpha, beta)||^2:

    Qui è utile ricordare che la matrice può essere interpretata anche come forma quadratica, ad esempio la matrice identità ((1,0),(0,1)) può essere interpretata come una funzione x^2 + y^ 2:

    forma quadratica

    Tutta questa ginnastica è conosciuta sotto il nome di regressione lineare.

    Equazione di Laplace con condizione al contorno di Dirichlet

    Ora il vero compito più semplice: c'è una certa superficie triangolata, è necessario levigarla. Ad esempio, carichiamo un modello del mio viso:

    Il commit originale è disponibile. Per ridurre al minimo le dipendenze esterne, ho preso il codice del mio renderer software, già su Habré. Per risolvere un sistema lineare utilizzo OpenNL, questo è un ottimo risolutore, che però è molto difficile da installare: bisogna copiare due file (.h+.c) nella cartella con il proprio progetto. Tutto il livellamento viene eseguito con il seguente codice:

    Per (int d=0; d<3; d++) { nlNewContext(); nlSolverParameteri(NL_NB_VARIABLES, verts.size()); nlSolverParameteri(NL_LEAST_SQUARES, NL_TRUE); nlBegin(NL_SYSTEM); nlBegin(NL_MATRIX); for (int i=0; i<(int)verts.size(); i++) { nlBegin(NL_ROW); nlCoefficient(i, 1); nlRightHandSide(verts[i][d]); nlEnd(NL_ROW); } for (unsigned int i=0; i&faccia = facce[i]; for (int j=0; j<3; j++) { nlBegin(NL_ROW); nlCoefficient(face[ j ], 1); nlCoefficient(face[(j+1)%3], -1); nlEnd(NL_ROW); } } nlEnd(NL_MATRIX); nlEnd(NL_SYSTEM); nlSolve(); for (int i=0; i<(int)verts.size(); i++) { verts[i][d] = nlGetVariable(i); } }

    Le coordinate X, Y e Z sono separabili, le smusso separatamente. Cioè, risolvo tre sistemi di equazioni lineari, ciascuno con un numero di variabili pari al numero di vertici nel mio modello. Le prime n righe della matrice A hanno solo un 1 per riga e le prime n righe del vettore b hanno le coordinate del modello originale. Cioè, lego una molla tra la nuova posizione del vertice e la vecchia posizione del vertice: i nuovi non dovrebbero spostarsi troppo lontano da quelli vecchi.

    Tutte le righe successive della matrice A (faces.size()*3 = numero di bordi di tutti i triangoli nella mesh) hanno un'occorrenza di 1 e un'occorrenza di -1, con il vettore b che ha zero componenti opposte. Ciò significa che ho messo una molla su ciascun bordo della nostra mesh triangolare: tutti i bordi cercano di ottenere lo stesso vertice come punto iniziale e finale.

    Ancora una volta: tutti i vertici sono variabili, e non possono allontanarsi dalla loro posizione originaria, ma allo stesso tempo cercano di diventare simili tra loro.

    Ecco il risultato:

    Andrebbe tutto bene, il modello è davvero levigato, ma si è allontanato dal bordo originale. Cambiamo un po' il codice:

    Per (int i=0; i<(int)verts.size(); i++) { float scale = border[i] ? 1000: 1; nlBegin(NL_ROW); nlCoefficient(i, scale); nlRightHandSide(scale*verts[i][d]); nlEnd(NL_ROW); }

    Nella nostra matrice A, per i vertici che sono sul bordo, aggiungo non una riga della categoria v_i = verts[i][d], ma 1000*v_i = 1000*verts[i][d]. Cosa cambia? E questo cambia la nostra forma quadratica di errore. Ora una singola deviazione dall'alto al bordo costerà non un'unità, come prima, ma 1000*1000 unità. Cioè, abbiamo appeso una molla più forte sui vertici estremi, la soluzione preferirà allungare maggiormente le altre. Ecco il risultato:

    Raddoppiamo la forza della molla tra i vertici:
    nlCoefficiente(faccia[ j ], 2); nlCoefficiente(faccia[(j+1)%3], -2);

    È logico che la superficie sia diventata più liscia:

    E ora anche cento volte più forte:

    Cos'è questo? Immagina di aver immerso un anello di filo metallico in acqua saponata. Di conseguenza, la pellicola di sapone risultante cercherà di avere la minima curvatura possibile, toccando il bordo: il nostro anello di filo. Questo è esattamente ciò che abbiamo ottenuto fissando il bordo e chiedendo una superficie liscia all'interno. Congratulazioni, abbiamo appena risolto l'equazione di Laplace con le condizioni al contorno di Dirichlet. Figo? Ma in realtà, devi solo risolvere un sistema di equazioni lineari.

    Equazione di Poisson

    Ricordiamo un altro bel nome.

    Diciamo che ho un'immagine come questa:

    Sembra bello a tutti, ma la sedia non mi piace.

    Taglierò l'immagine a metà:



    E selezionerò una sedia con le mie mani:

    Quindi trascinerò tutto ciò che è bianco nella maschera sul lato sinistro dell'immagine e allo stesso tempo in tutta l'immagine dirò che la differenza tra due pixel vicini dovrebbe essere uguale alla differenza tra due pixel vicini a destra immagine:

    Per (int i=0; i

    Ecco il risultato:

    Codice e immagini disponibili

    L'approssimazione dei dati sperimentali è un metodo basato sulla sostituzione dei dati ottenuti sperimentalmente con una funzione analitica che passa o coincide più da vicino nei punti nodali con i valori originali (dati ottenuti durante un esperimento o esperimento). Attualmente esistono due modi per definire una funzione analitica:

    Costruendo un polinomio di interpolazione di n gradi che passa direttamente attraverso tutti i punti un dato array di dati. In questo caso la funzione di approssimazione si presenta sotto forma di: un polinomio di interpolazione in forma di Lagrange oppure un polinomio di interpolazione in forma di Newton.

    Costruendo un polinomio approssimante di n gradi che passa nelle immediate vicinanze dei punti da un dato array di dati. Pertanto, la funzione di approssimazione attenua tutto il rumore casuale (o gli errori) che possono verificarsi durante l'esperimento: i valori misurati durante l'esperimento dipendono da fattori casuali che fluttuano secondo le proprie leggi casuali (errori di misurazione o strumentali, imprecisioni o errori sperimentali). errori). In questo caso, la funzione approssimante viene determinata utilizzando il metodo dei minimi quadrati.

    Metodo dei minimi quadrati(nella letteratura in lingua inglese Ordinary Least Squares, OLS) è un metodo matematico basato sulla determinazione della funzione di approssimazione, che è costruita nella massima prossimità dei punti da una determinata serie di dati sperimentali. La vicinanza delle funzioni originali e approssimative F(x) è determinata da una misura numerica, vale a dire: la somma delle deviazioni quadrate dei dati sperimentali dalla curva approssimativa F(x) dovrebbe essere la più piccola.

    Curva di approssimazione costruita utilizzando il metodo dei minimi quadrati

    Viene utilizzato il metodo dei minimi quadrati:

    Risolvere sistemi di equazioni sovradeterminati quando il numero di equazioni supera il numero di incognite;

    Trovare una soluzione nel caso di sistemi di equazioni non lineari ordinari (non sovradeterminati);

    Per approssimare i valori dei punti con qualche funzione approssimativa.

    La funzione di approssimazione che utilizza il metodo dei minimi quadrati è determinata dalla condizione della somma minima delle deviazioni quadrate della funzione di approssimazione calcolata da una determinata matrice di dati sperimentali. Questo criterio del metodo dei minimi quadrati si scrive come la seguente espressione:

    I valori della funzione di approssimazione calcolata nei punti nodali,

    Una determinata serie di dati sperimentali nei punti nodali.

    Il criterio quadratico ha una serie di “buone” proprietà, come la differenziabilità, fornendo una soluzione unica al problema di approssimazione con funzioni di approssimazione polinomiale.

    A seconda delle condizioni del problema, la funzione approssimante è un polinomio di grado m

    Il grado della funzione di approssimazione non dipende dal numero di punti nodali, ma la sua dimensione deve essere sempre inferiore alla dimensione (numero di punti) di un dato array di dati sperimentali.

    ∙ Se il grado della funzione approssimante è m=1, allora approssimiamo la funzione tabulare con una retta (regressione lineare).

    ∙ Se il grado della funzione approssimante è m=2, allora approssimiamo la funzione tabella con una parabola quadratica (approssimazione quadratica).

    ∙ Se il grado della funzione approssimante è m=3, allora approssimiamo la funzione tabella con una parabola cubica (approssimazione cubica).

    Nel caso generale, quando è necessario costruire un polinomio approssimativo di grado m per dati valori della tabella, la condizione per il minimo della somma delle deviazioni quadrate su tutti i punti nodali viene riscritta nella seguente forma:

    - coefficienti incogniti del polinomio approssimante di grado m;

    Il numero di valori della tabella specificati.

    Condizione necessaria per l'esistenza del minimo di una funzione è l'uguaglianza a zero delle sue derivate parziali rispetto a incognite . Di conseguenza, otteniamo il seguente sistema di equazioni:

    Trasformiamo il sistema lineare di equazioni risultante: apriamo le parentesi e spostiamo i termini liberi sul lato destro dell'espressione. Di conseguenza, il sistema risultante di espressioni algebriche lineari sarà scritto nella seguente forma:

    Questo sistema di espressioni algebriche lineari può essere riscritto in forma matriciale:

    Si è ottenuto così un sistema di equazioni lineari di dimensione m+1, costituito da m+1 incognite. Questo sistema può essere risolto utilizzando qualsiasi metodo per risolvere equazioni algebriche lineari (ad esempio il metodo gaussiano). Come risultato della soluzione, si troveranno parametri sconosciuti della funzione di approssimazione che forniscono la somma minima delle deviazioni quadrate della funzione di approssimazione dai dati originali, ad es. migliore approssimazione quadratica possibile. Va ricordato che se cambia anche un solo valore dei dati sorgente, tutti i coefficienti cambieranno i loro valori, poiché sono completamente determinati dai dati sorgente.

    Approssimazione dei dati sorgente mediante dipendenza lineare

    (regressione lineare)

    Ad esempio, consideriamo la tecnica per determinare la funzione di approssimazione, che è specificata sotto forma di dipendenza lineare. Secondo il metodo dei minimi quadrati, la condizione per il minimo della somma delle deviazioni quadrate è scritta nella seguente forma:

    Coordinate dei nodi della tabella;

    Coefficienti sconosciuti della funzione di approssimazione, che è specificata come dipendenza lineare.

    Condizione necessaria per l'esistenza del minimo di una funzione è l'uguaglianza a zero delle sue derivate parziali rispetto a incognite. Di conseguenza, otteniamo il seguente sistema di equazioni:

    Trasformiamo il sistema lineare di equazioni risultante.

    Risolviamo il sistema risultante di equazioni lineari. I coefficienti della funzione approssimante in forma analitica si determinano come segue (metodo di Cramer):

    Questi coefficienti assicurano la costruzione di una funzione di approssimazione lineare secondo il criterio di minimizzare la somma dei quadrati della funzione di approssimazione dai valori tabulari forniti (dati sperimentali).

    Algoritmo per l'implementazione del metodo dei minimi quadrati

    1. Dati iniziali:

    Viene specificata una matrice di dati sperimentali con il numero di misurazioni N

    Viene specificato il grado del polinomio approssimativo (m).

    2. Algoritmo di calcolo:

    2.1. Vengono determinati i coefficienti per costruire un sistema di equazioni con dimensioni

    Coefficienti del sistema di equazioni (lato sinistro dell'equazione)

    - indice del numero di colonna della matrice quadrata del sistema di equazioni

    Termini liberi di un sistema di equazioni lineari (lato destro dell'equazione)

    - indice del numero di righe della matrice quadrata del sistema di equazioni

    2.2. Formazione di un sistema di equazioni lineari con dimensione .

    2.3. Risoluzione di un sistema di equazioni lineari per determinare i coefficienti incogniti di un polinomio approssimato di grado m.

    2.4. Determinazione della somma delle deviazioni quadrate del polinomio approssimativo dai valori originali in tutti i punti nodali

    Il valore trovato della somma delle deviazioni quadrate è il minimo possibile.

    Approssimazione utilizzando altre funzioni

    Va notato che quando si approssimano i dati originali secondo il metodo dei minimi quadrati, la funzione logaritmica, la funzione esponenziale e la funzione potenza vengono talvolta utilizzate come funzione di approssimazione.

    Approssimazione logaritmica

    Consideriamo il caso in cui la funzione approssimante è data da una funzione logaritmica della forma:

    3. Approssimazione di funzioni mediante il metodo

    minimi quadrati

    Il metodo dei minimi quadrati viene utilizzato durante l'elaborazione dei risultati sperimentali per approssimazioni (approssimazioni) dati sperimentali formula analitica. Il tipo specifico di formula viene scelto, di regola, per ragioni fisiche. Tali formule potrebbero essere:

    e altri.

    L'essenza del metodo dei minimi quadrati è la seguente. Lascia che i risultati della misurazione siano presentati nella tabella:

    Tavolo 4

    x n

    sì, no

    (3.1)

    dove f - funzione nota, a 0 , a 1 , …, a m - parametri costanti sconosciuti i cui valori devono essere trovati. Nel metodo dei minimi quadrati, l’approssimazione della funzione (3.1) alla dipendenza sperimentale è considerata migliore se la condizione è soddisfatta

    (3.2)

    questo è importi UN le deviazioni al quadrato della funzione analitica desiderata dalla dipendenza sperimentale dovrebbero essere minime .

    Si noti che la funzione Q chiamato residuo.


    Dalla discrepanza

    allora ha un minimo. Una condizione necessaria per il minimo di una funzione di più variabili è l'uguaglianza a zero di tutte le derivate parziali di questa funzione rispetto ai parametri. Pertanto, trovando i migliori valori dei parametri della funzione approssimante (3.1), cioè i loro valori ai quali Q = Q (a 0 , a 1 , …, a m ) è minimo, si riduce alla risoluzione del sistema di equazioni:

    (3.3)

    Al metodo dei minimi quadrati si può dare la seguente interpretazione geometrica: tra una famiglia infinita di linee di un dato tipo, si trova una linea per la quale la somma delle differenze al quadrato delle ordinate dei punti sperimentali e delle corrispondenti ordinate dei punti trovati dall'equazione di questa linea sarà il più piccolo.

    Trovare i parametri di una funzione lineare

    Supponiamo che i dati sperimentali siano rappresentati da una funzione lineare:

    È necessario selezionare i seguenti valori aeb , per cui la funzione

    (3.4)

    sarà minimo. Le condizioni necessarie per il minimo della funzione (3.4) si riducono al sistema di equazioni:

    Dopo le trasformazioni, otteniamo un sistema di due equazioni lineari con due incognite:

    (3.5)

    risolvendo il quale, troviamo i valori richiesti dei parametri aeb.

    Trovare i parametri di una funzione quadratica

    Se la funzione approssimante è una dipendenza quadratica

    quindi i suoi parametri a, b, c trovato dalla condizione minima della funzione:

    (3.6)

    Le condizioni per il minimo della funzione (3.6) sono ridotte al sistema di equazioni:


    Dopo le trasformazioni, otteniamo un sistema di tre equazioni lineari con tre incognite:

    (3.7)

    A soluzione della quale troviamo i valori richiesti dei parametri a, b e c.

    Esempio . Lascia che l'esperimento dia come risultato la seguente tabella di valori: x e y:

    Tavolo 5

    sì io

    0,705

    0,495

    0,426

    0,357

    0,368

    0,406

    0,549

    0,768

    È necessario approssimare i dati sperimentali con funzioni lineari e quadratiche.

    Soluzione. La ricerca dei parametri delle funzioni approssimative si riduce alla risoluzione di sistemi di equazioni lineari (3.5) e (3.7). Per risolvere il problema, utilizzeremo un processore di fogli di calcolo Eccellere.

    1. Per prima cosa colleghiamo i fogli 1 e 2. Inserisci i valori sperimentali x io e sì io in colonne A e B, a partire dalla seconda riga (metteremo le intestazioni delle colonne nella prima riga). Quindi calcoliamo le somme per queste colonne e le posizioniamo nella decima riga.

    Nelle colonne C-G posizionare rispettivamente il calcolo e la somma

    2. Scolleghiamo i fogli Effettueremo ulteriori calcoli in modo simile per la dipendenza lineare dal Foglio 1 e per la dipendenza quadratica dal Foglio 2.

    3. Sotto la tabella risultante, formeremo una matrice di coefficienti e un vettore colonna di termini liberi. Risolviamo il sistema di equazioni lineari utilizzando il seguente algoritmo:

    Per calcolare la matrice inversa e moltiplicare le matrici, usiamo Maestro funzioni e funzioni MOBR E MUMNITO.

    4. Nel blocco di celle H2: H 9 in base ai coefficienti ottenuti calcoliamo valore approssimativo polinomiosì io calc., nel blocco I 2: I 9 – deviazioni Sì, sì = sì io esp. - sì io calc.,nella colonna J – il residuo:

    Le tabelle risultanti e quelle create utilizzando Procedure guidate per i grafici i grafici sono mostrati nelle Figure 6, 7, 8.


    Riso. 6. Tabella per il calcolo dei coefficienti di una funzione lineare,

    approssimativo dati sperimentali.


    Riso. 7. Tabella per il calcolo dei coefficienti di una funzione quadratica,

    approssimativodati sperimentali.


    Riso. 8. Rappresentazione grafica dei risultati di approssimazione

    dati sperimentali mediante funzioni lineari e quadratiche.

    Risposta. I dati sperimentali sono stati approssimati mediante una dipendenza lineare = 0,07881 X + 0,442262 con residuo Q = 0,165167 e dipendenza quadratica = 3,115476 X 2 – 5,2175 X + 2,529631 con residuo Q = 0,002103 .

    Compiti. Approssimare una funzione data da una tabella, funzioni lineari e quadratiche.

    Tabella 6

    №0

    X

    0,1

    0,2

    0,3

    0,4

    0,5

    0,6

    0,7

    0,8

    3,030

    3,142

    3,358

    3,463

    3,772

    3,251

    3,170

    3,665

    1

    3,314

    3,278

    3,262

    3,292

    3,332

    3,397

    3,487

    3,563

    2

    1,045

    1,162

    1,264

    1,172

    1,070

    0,898

    0,656

    0,344

    3

    6,715

    6,735

    6,750

    6,741

    6,645

    6,639

    6,647

    6,612

    4

    2,325

    2,515

    2,638

    2,700

    2,696

    2,626

    2,491

    2,291

    5

    1.752

    1,762

    1,777

    1,797

    1,821

    1,850

    1,884

    1,944

    6

    1,924

    1,710

    1,525

    1,370

    1,264

    1,190

    1,148

    1,127

    7

    1,025

    1,144

    1,336

    1,419

    1,479

    1,530

    1,568

    1,248

    8

    5,785

    5,685

    5,605

    5,545

    5,505

    5,480

    5,495

    5,510

    9

    4,052

    4,092

    4,152

    4,234

    4,338

    4,468

    4,599