Soluzione di equazioni con il metodo dei minimi quadrati.  Finger Math: metodi dei minimi quadrati

Soluzione di equazioni con il metodo dei minimi quadrati. Finger Math: metodi dei minimi quadrati

Se alcuni quantità fisica dipende da un'altra quantità, allora questa dipendenza può essere studiata misurando y at valori diversi X . Come risultato delle misurazioni, si ottiene una serie di valori:

x 1 , x 2 , ..., x io , ... , x n ;

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

Sulla base dei dati di tale esperimento, è possibile tracciare la dipendenza y = ƒ(x). La curva risultante permette di giudicare la forma della funzione ƒ(x). Tuttavia coefficienti costanti, che sono inclusi in questa funzione, rimangono sconosciuti. Il metodo consente di determinarli minimi quadrati. I punti sperimentali, di regola, non giacciono esattamente sulla curva. Il metodo dei minimi quadrati richiede che la somma delle deviazioni al quadrato dei punti sperimentali dalla curva, cioè 2 era il più piccolo.

In pratica, questo metodo è più spesso (e più semplicemente) utilizzato nel caso di una relazione lineare, cioè quando

y=kx o y = a + bx.

La dipendenza lineare è molto diffusa in fisica. E anche quando la dipendenza non è lineare, di solito cercano di costruire un grafico in modo tale da ottenere una linea retta. Ad esempio, se si assume che l'indice di rifrazione del vetro n sia correlato alla lunghezza d'onda λ dell'onda luminosa dalla relazione n = a + b/λ 2 , allora la dipendenza di n da λ -2 viene tracciata sul grafico .

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

Il valore di φ è sempre positivo e risulta essere tanto più piccolo quanto più vicini sono i nostri punti alla retta. Il metodo dei minimi quadrati afferma che per k si dovrebbe scegliere un tale valore al quale φ ha 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 dimensioni.

Diamo ora un'occhiata ad alcuni altri custodia rigida quando i punti devono soddisfare la formula y = a + bx(una retta non passante per l'origine).

Il compito è trovare il dato insieme di valori x i , y i migliori valori a e b.

Componiamo ancora la forma quadratica φ, uguale alla somma deviazioni al quadrato dei punti x i , y i da una retta

e trova i valori aeb per i quali φ ha un minimo

;

.

.

La soluzione congiunta di queste equazioni dà

(21)

Gli errori quadratici medi per la determinazione di aeb sono uguali

(23)

.  (24)

Quando si elaborano i risultati della misurazione con 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 mostrate negli esempi seguenti.

Esempio 1È stata studiata l'equazione di base della dinamica del moto rotatorio ε = M/J (una retta passante per l'origine). Per vari 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 della forza e dell'accelerazione angolare sono elencati nella seconda e nella terza colonna tabelle 5.

Tabella 5
n M, N m ε, s-1 M2 M ε ε - 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

Con la formula (19) determiniamo:

.

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

0.005775kg-uno · m -2 .

Per la formula (18) abbiamo

; .

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

Data l'affidabilità P = 0,95, secondo 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 nella forma:

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


Esempio 2 Calcoliamo il coefficiente di resistenza termica del metallo utilizzando il metodo dei minimi quadrati. La resistenza dipende dalla temperatura secondo una legge lineare

R t \u003d R 0 (1 + α t °) \u003d R 0 + R 0 α t °.

Il termine libero determina la resistenza R 0 a una temperatura di 0 ° C e pendenza prodotto del coefficiente di temperatura α e della resistenza R 0 .

I risultati delle misurazioni e dei calcoli sono riportati nella tabella ( vedi 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 – – – – –

Con 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é , quindi per la formula (18) abbiamo:

.

Usando le formule (23), (24) abbiamo

;

0.014126 Ohm.

Data l'affidabilità P = 0,95, secondo 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 dagli anelli di Newton. Sono stati misurati i raggi degli anelli di Newton rm e sono stati determinati i numeri di questi anelli m. I raggi degli anelli di Newton sono correlati al raggio di curvatura della lente R e al numero dell'anello dall'equazione

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

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

λ è la lunghezza d'onda della luce incidente.

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

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

.

I risultati delle misurazioni e dei calcoli vengono inseriti tavola 7.

Tabella 7
n x = m y \u003d 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
    • tutorial

    introduzione

    Sono un programmatore di computer. Ho fatto il salto più grande della mia carriera quando ho imparato a dire: "Non capisco nulla!" Ora non mi vergogno a dire al luminare della scienza che mi sta facendo una conferenza, che non capisco di cosa mi sta parlando, il luminare. Ed è molto difficile. Sì, è difficile e imbarazzante ammettere che non lo sai. A chi piace ammettere di non conoscere le basi di qualcosa-là. In virtù della mia professione, devo frequentare in gran numero presentazioni e conferenze, dove, lo confesso, nella stragrande maggioranza dei casi ho voglia di dormire, perché non ci capisco niente. E non capisco perché l'enorme problema della situazione attuale della scienza risiede nella matematica. Presuppone che tutti gli studenti abbiano familiarità con assolutamente tutte le aree della matematica (il che è assurdo). Ammettere di non sapere cosa sia un derivato (che questo è un po' più tardi) è un peccato.

    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é hai bisogno nella vita equazioni quadratiche. 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, né reputazione, né autorità. Sì, è prestigioso parlare nel linguaggio più astratto possibile, il che è di per sé una completa sciocchezza.

    Sai cos'è un derivato? Molto probabilmente mi parlerai del limite della relazione di differenza. Nel primo anno di matematica all'Università statale di San Pietroburgo, Viktor Petrovich Khavin me definito derivata come coefficiente del primo termine della serie di Taylor della funzione nel punto (era una ginnastica separata per determinare la serie di Taylor senza derivate). Ho riso a lungo di questa definizione, fino a quando 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 insegnare agli studenti che paura matematica. Se hai paura della matematica, stiamo arrivando. Non appena provi a leggere del testo e ti sembra che sia eccessivamente complicato, sappi che è scritto male. Sostengo che non esiste una sola area della matematica di cui non si possa parlare "sulle dita" senza perdere la precisione.

    La sfida per il prossimo futuro: ho insegnato ai miei studenti a capire cos'è un controller lineare-quadratico. Non essere timido, spreca tre minuti della tua vita, segui il link. Se non capisci niente, allora stiamo arrivando. Anche io (un matematico-programmatore professionista) non capivo nulla. E ti assicuro, questo può essere risolto "sulle dita". Sul questo momento Non so di cosa si tratta, ma vi assicuro che saremo in grado di capirlo.

    Quindi, la prima lezione che darò ai miei studenti dopo che sono venuti da me inorriditi con le parole che il controller lineare-quadratico è un terribile bug che non potrai mai padroneggiare nella tua vita è metodi dei minimi quadrati. Puoi decidere 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 di una retta passante per questi due punti:

    illustrazione

    Questa retta dovrebbe avere un'equazione come la seguente:

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

    Puoi 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 per archiviare i dati, non dovrebbero essere dati più valori. Sta a noi come interpretare esattamente 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 sarà chiarito nel contesto.

    Sostituiamo matrici specifiche con la loro rappresentazione simbolica:

    Quindi (alfa, beta) può essere facilmente trovato:

    Più precisamente per i nostri dati precedenti:

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

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

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

    Nel nostro caso vettori i,j,b tridimensionale, quindi, (in caso generale) non esiste una soluzione per questo sistema. Qualsiasi vettore (alpha\*i + beta\*j) giace nel piano attraversato dai vettori (i, j). Se b non appartiene a questo piano, allora non c'è soluzione (l'uguaglianza nell'equazione non può essere raggiunta). Cosa fare? Cerchiamo un compromesso. Indichiamo con e(alfa, beta) come esattamente non abbiamo raggiunto l'uguaglianza:

    E proveremo a ridurre al minimo questo errore:

    Perché un quadrato?

    Cerchiamo non solo il minimo della norma, ma anche il minimo del quadrato della norma. Come mai? Il punto minimo stesso coincide e il quadrato fornisce una funzione liscia (una funzione quadratica degli argomenti (alfa,beta)), mentre solo la lunghezza fornisce una funzione a forma di cono, non differenziabile nel punto minimo. Brr. Il quadrato è più conveniente.

    Ovviamente, l'errore è ridotto al minimo quando il vettore e ortogonale al piano percorso dai vettori io e j.

    Illustrazione

    In altre parole: cerchiamo una retta tale che la somma delle lunghezze al quadrato delle distanze da tutti i punti a questa retta sia minima:

    AGGIORNAMENTO: qui ho uno stipite, la distanza dalla linea va misurata in verticale, non in proiezione ortografica. ha ragione il commentatore.

    Illustrazione

    In parole completamente diverse (accuratamente, mal formalizzato, ma dovrebbe essere chiaro sulle dita): prendiamo tutte le linee possibili tra tutte le coppie di punti e cerchiamo la linea media tra tutti:

    Illustrazione

    Un'altra spiegazione sulle dita: alleghiamo una molla tra tutti i punti dati (qui ne abbiamo tre) e la linea che stiamo cercando, e la linea dello stato di equilibrio è esattamente quella che stiamo cercando.

    Minimo forma quadratica

    Quindi, dato il vettore b e il piano attraversato dalle colonne vettori della matrice UN(in questo caso(x0,x1,x2) e (1,1,1)), stiamo cercando un vettore e con un quadrato minimo di lunghezza. Ovviamente il minimo è raggiungibile solo per il vettore e, ortogonale al piano attraversato dalle colonne vettori 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 funzione quadratica||e(alfa, beta)||^2:

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

    forma quadratica

    Tutta questa ginnastica è nota come regressione lineare.

    Equazione di Laplace con condizione al contorno di Dirichlet

    Ora il vero problema più semplice: c'è una certa superficie triangolare, è necessario levigarla. Ad esempio, carichiamo il mio modello di viso:

    Il commit originale è disponibile. Minimizzare dipendenze esterne Ho preso il codice del mio renderer software, già su Habré. Per soluzioni sistema lineare Io uso OpenNL , è un ottimo risolutore, ma è davvero difficile da installare: devi copiare due file (.h+.c) nella cartella del tuo progetto. Tutto il livellamento viene eseguito dal 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]; per (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 lo stesso numero di variabili del numero di vertici nel mio modello. Le prime n righe della matrice A ne hanno solo una per riga e le prime n righe del vettore b hanno le coordinate del modello originale. Cioè, mi lego a molla tra la nuova posizione del vertice e la vecchia posizione del vertice: le nuove non dovrebbero essere troppo lontane da quelle vecchie.

    Tutte le righe successive della matrice A (faces.size()*3 = il numero di bordi di tutti i triangoli nella griglia) hanno un'occorrenza di 1 e un'occorrenza di -1, mentre il vettore b ha zero componenti opposte. Ciò significa che metto una molla su ciascun bordo della nostra mesh triangolare: tutti i bordi cercano di ottenere lo stesso vertice dei loro punti di inizio e fine.

    Ancora una volta: tutti i vertici sono variabili, e non possono discostarsi molto 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 suo 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 si trovano sul bordo, non aggiungo 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 dell'errore. Ora una singola deviazione dall'alto sul bordo non costerà un'unità, come prima, ma 1000 * 1000 unità. Cioè, abbiamo appeso una molla più forte sui vertici estremi, la soluzione preferisce allungarne altre più fortemente. Ecco il risultato:

    Raddoppiamo la forza delle molle 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:

    Che 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 minor curvatura possibile, toccando lo stesso bordo: il nostro anello di filo metallico. 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. Sembra fantastico? Ma in realtà, un solo sistema di equazioni lineari da risolvere.

    Equazione di Poisson

    Prendiamo un altro bel nome.

    Diciamo che ho un'immagine come questa:

    Tutti sono bravi, ma la sedia non mi piace.

    Ho tagliato 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 dirò in tutta l'immagine che la differenza tra due pixel vicini dovrebbe essere uguale alla differenza tra due pixel vicini dell'immagine immagine a destra:

    Per (int i=0; i

    Ecco il risultato:

    Codice e immagini sono disponibili

    3.5. Metodo dei minimi quadrati

    Il primo lavoro, che pose le basi del metodo dei minimi quadrati, fu realizzato da Legendre nel 1805. Nell'articolo "Nuovi metodi per determinare le orbite delle comete", scrisse: "Dopo che tutte le condizioni del problema sono state completamente utilizzato, è necessario determinare i coefficienti in modo che l'entità dei loro errori fosse la meno possibile. Il modo più semplice per ottenere ciò è il metodo, che consiste nel trovare il minimo della somma degli errori al quadrato. "Attualmente, il metodo è ampiamente utilizzato per approssimare dipendenze funzionali sconosciute date da molte letture sperimentali al fine di ottenere un'espressione analitica che si avvicina meglio a un esperimento su vasta scala.

    Lascia che, in base all'esperimento, sia necessario stabilire la dipendenza funzionale della quantità y su x : .E lasciamo come risultato dell'esperimento ottenuton i valori ycon i valori corrispondenti dell'argomentoX. Se i punti sperimentali si trovano sul piano delle coordinate come in figura, allora, sapendo che ci sono errori nell'esperimento, possiamo supporre che la dipendenza sia lineare, cioèy= ascia+ b.Si noti che il metodo non impone restrizioni alla forma della funzione, ad es. può essere applicato a qualsiasi dipendenza funzionale.

    Dal punto di vista dello sperimentatore, è spesso più naturale pensare che la sequenza di campionamentofissato in anticipo, cioè è una variabile indipendente e conta - variabile dipendente Questo è particolarmente chiaro se sotto si intendono gli istanti di tempo, cosa che avviene più ampiamente nelle applicazioni tecniche, ma questo è solo un caso speciale molto comune. Ad esempio, è necessario classificare alcuni campioni per dimensione. Quindi la variabile indipendente sarà il numero del campione, la variabile dipendente sarà la sua dimensione individuale.

    Il metodo dei minimi quadrati è descritto in dettaglio in molte pubblicazioni educative e scientifiche, soprattutto in termini di approssimazione di funzioni in ingegneria elettrica e radio, nonché in libri di teoria della probabilità e statistica matematica.

    Torniamo al disegno. Le linee tratteggiate mostrano che possono insorgere errori non solo per l'imperfezione delle procedure di misurazione, ma anche per l'imprecisione di impostazione della variabile indipendente.Con la forma scelta della funzione resta da scegliere i parametri inclusi in essoun e b.È chiaro che il numero di parametri può essere maggiore di due, cosa tipica solo per le funzioni lineari.In generale si assume

    .(1)

    È necessario scegliere i coefficientiun, b, c... in modo che la condizione sia soddisfatta

    . (2)

    Troviamo i valori un, b, c... che riducono al minimo il lato sinistro di (2). Per fare ciò, definiamo punti stazionari (punti in cui la derivata prima svanisce) differenziando il lato sinistro di (2) rispetto aun, b, c:

    (3)

    ecc. Il sistema di equazioni risultante contiene tante equazioni quante sono le incogniteun, b, c…. Non è possibile risolvere un tale sistema in una forma generale, quindi è necessario impostare, almeno approssimativamente, un tipo specifico di funzione Successivamente, consideriamo due casi: funzioni lineari e quadratiche.

    Funzione lineare .

    Considera la somma delle differenze al quadrato tra i valori sperimentali e i valori della funzione nei punti corrispondenti:

    (4)

    Selezioniamo i parametriun e bin modo che questa somma abbia il valore più piccolo. Pertanto, il problema si riduce alla ricerca dei valoriun e b, a cui la funzione ha un minimo, cioè allo studio di una funzione di due variabili indipendentiun e bal minimo. Per fare questo, ci distinguiamo rispetto aun e b:

    ;

    .


    O

    (5)

    Sostituendo i dati sperimentali e , otteniamo un sistema di due equazioni lineari con due incogniteun e b. Dopo aver risolto questo sistema, possiamo scrivere la funzione .

    Ci assicuriamo che per i valori trovatiun e bha un minimo. Per fare ciò, troviamo , e :

    , , .

    Di conseguenza,

    − = ,

    >0,

    quelli. è soddisfatta una condizione minima sufficiente per una funzione di due variabili.

    funzione quadratica .

    Lascia che i valori della funzione nei punti siano ottenuti nell'esperimento. Supponiamo anche sulla base di informazioni a priori che la funzione sia quadratica:

    .

    È necessario trovare i coefficientiun, b e c.Abbiamo

    è una funzione di tre variabiliun, b, c.

    In questo caso, il sistema (3) assume la forma:

    O:

    Risolvendo questo sistema di equazioni lineari, determiniamo le incogniteun, b, c.

    Esempio.Si ottengano quattro valori della funzione desiderata sulla base dell'esperimento y = (x ) con quattro valori dell'argomento, che sono riportati nella tabella:

    • tutorial

    introduzione

    Sono un programmatore di computer. Ho fatto il salto più grande della mia carriera quando ho imparato a dire: "Non capisco nulla!" Ora non mi vergogno a dire al luminare della scienza che mi sta facendo una conferenza, che non capisco di cosa mi sta parlando, il luminare. Ed è molto difficile. Sì, è difficile e imbarazzante ammettere che non lo sai. A chi piace ammettere di non conoscere le basi di qualcosa-là. In virtù della mia professione, devo frequentare un gran numero di presentazioni e conferenze, dove, lo confesso, nella stragrande maggioranza dei casi ho sonno, perché non ci capisco niente. E non capisco perché l'enorme problema della situazione attuale della scienza risiede nella matematica. Presuppone che tutti gli studenti abbiano familiarità con assolutamente tutte le aree della matematica (il che è assurdo). Ammettere di non sapere cosa sia un derivato (che questo è un po' più tardi) è un peccato.

    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 di secondo grado sono 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, né reputazione, né autorità. Sì, è prestigioso parlare nel linguaggio più astratto possibile, il che è di per sé una completa sciocchezza.

    Sai cos'è un derivato? Molto probabilmente mi parlerai del limite della relazione di differenza. Nel primo anno di matematica all'Università statale di San Pietroburgo, Viktor Petrovich Khavin me definito derivata come coefficiente del primo termine della serie di Taylor della funzione nel punto (era una ginnastica separata per determinare la serie di Taylor senza derivate). Ho riso a lungo di questa definizione, fino a quando 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 insegnare agli studenti che paura matematica. Se hai paura della matematica, stiamo arrivando. Non appena provi a leggere del testo e ti sembra che sia eccessivamente complicato, sappi che è scritto male. Sostengo che non esiste una sola area della matematica di cui non si possa parlare "sulle dita" senza perdere la precisione.

    La sfida per il prossimo futuro: ho insegnato ai miei studenti a capire cos'è un controller lineare-quadratico. Non essere timido, spreca tre minuti della tua vita, segui il link. Se non capisci niente, allora stiamo arrivando. Anche io (un matematico-programmatore professionista) non capivo nulla. E ti assicuro, questo può essere risolto "sulle dita". Al momento non so di cosa si tratti, ma vi assicuro che sapremo capirlo.

    Quindi, la prima lezione che darò ai miei studenti dopo che sono venuti da me inorriditi con le parole che il controller lineare-quadratico è un terribile bug che non potrai mai padroneggiare nella tua vita è metodi dei minimi quadrati. Riesci a 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 di una retta passante per questi due punti:

    illustrazione

    Questa retta dovrebbe avere un'equazione come la seguente:

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

    Puoi 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 per archiviare i dati, non dovrebbero essere dati più valori. Sta a noi come interpretare esattamente 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 sarà chiarito nel contesto.

    Sostituiamo matrici specifiche con la loro rappresentazione simbolica:

    Quindi (alfa, beta) può essere facilmente trovato:

    Più precisamente per i nostri dati precedenti:

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

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

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

    Nel nostro caso i vettori i, j, b sono tridimensionali, quindi (nel caso generale) non c'è soluzione per questo sistema. Qualsiasi vettore (alpha\*i + beta\*j) giace nel piano attraversato dai vettori (i, j). Se b non appartiene a questo piano, allora non c'è soluzione (l'uguaglianza nell'equazione non può essere raggiunta). Cosa fare? Cerchiamo un compromesso. Indichiamo con e(alfa, beta) come esattamente non abbiamo raggiunto l'uguaglianza:

    E proveremo a ridurre al minimo questo errore:

    Perché un quadrato?

    Cerchiamo non solo il minimo della norma, ma anche il minimo del quadrato della norma. Come mai? Il punto minimo stesso coincide e il quadrato fornisce una funzione liscia (una funzione quadratica degli argomenti (alfa,beta)), mentre solo la lunghezza fornisce una funzione a forma di cono, non differenziabile nel punto minimo. Brr. Il quadrato è più conveniente.

    Ovviamente, l'errore è ridotto al minimo quando il vettore e ortogonale al piano percorso dai vettori io e j.

    Illustrazione

    In altre parole: cerchiamo una retta tale che la somma delle lunghezze al quadrato delle distanze da tutti i punti a questa retta sia minima:

    AGGIORNAMENTO: qui ho uno stipite, la distanza dalla linea va misurata in verticale, non in proiezione ortografica. Questo commentatore è corretto.

    Illustrazione

    In parole completamente diverse (accuratamente, mal formalizzato, ma dovrebbe essere chiaro sulle dita): prendiamo tutte le linee possibili tra tutte le coppie di punti e cerchiamo la linea media tra tutti:

    Illustrazione

    Un'altra spiegazione sulle dita: alleghiamo una molla tra tutti i punti dati (qui ne abbiamo tre) e la linea che stiamo cercando, e la linea dello stato di equilibrio è esattamente quella che stiamo cercando.

    Minimo forma quadratica

    Quindi, dato il vettore b e il piano attraversato dalle colonne vettori della matrice UN(in questo caso (x0,x1,x2) e (1,1,1)), cerchiamo un vettore e con un quadrato minimo di lunghezza. Ovviamente il minimo è raggiungibile solo per il vettore e, ortogonale al piano attraversato dalle colonne vettori 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 così come la forma quadratica, ad esempio la matrice identità ((1,0),(0,1)) può essere interpretata come una funzione di x^2 + y ^2:

    forma quadratica

    Tutta questa ginnastica è nota come regressione lineare.

    Equazione di Laplace con condizione al contorno di Dirichlet

    Ora il vero problema più semplice: c'è una certa superficie triangolare, è necessario levigarla. Ad esempio, carichiamo il mio modello di 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 il sistema lineare, utilizzo OpenNL , è un ottimo risolutore, ma è molto difficile da installare: devi copiare due file (.h + .c) nella cartella del tuo progetto. Tutto il livellamento viene eseguito dal 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]; per (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 lo stesso numero di variabili del numero di vertici nel mio modello. Le prime n righe della matrice A ne hanno solo una per riga e le prime n righe del vettore b hanno le coordinate del modello originale. Cioè, mi lego a molla tra la nuova posizione del vertice e la vecchia posizione del vertice: le nuove non dovrebbero essere troppo lontane da quelle vecchie.

    Tutte le righe successive della matrice A (faces.size()*3 = il numero di bordi di tutti i triangoli nella griglia) hanno un'occorrenza di 1 e un'occorrenza di -1, mentre il vettore b ha zero componenti opposte. Ciò significa che metto una molla su ciascun bordo della nostra mesh triangolare: tutti i bordi cercano di ottenere lo stesso vertice dei loro punti di inizio e fine.

    Ancora una volta: tutti i vertici sono variabili, e non possono discostarsi molto 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 suo 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 si trovano sul bordo, non aggiungo 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 dell'errore. Ora una singola deviazione dall'alto sul bordo non costerà un'unità, come prima, ma 1000 * 1000 unità. Cioè, abbiamo appeso una molla più forte sui vertici estremi, la soluzione preferisce allungarne altre più fortemente. Ecco il risultato:

    Raddoppiamo la forza delle molle 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:

    Che 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 minor curvatura possibile, toccando lo stesso bordo: il nostro anello di filo metallico. 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. Sembra fantastico? Ma in realtà, un solo sistema di equazioni lineari da risolvere.

    Equazione di Poisson

    Prendiamo un altro bel nome.

    Diciamo che ho un'immagine come questa:

    Tutti sono bravi, ma la sedia non mi piace.

    Ho tagliato 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 dirò in tutta l'immagine che la differenza tra due pixel vicini dovrebbe essere uguale alla differenza tra due pixel vicini dell'immagine immagine a destra:

    Per (int i=0; i

    Ecco il risultato:

    Codice e immagini sono disponibili

    Approssimiamo la funzione con un polinomio di 2° grado. Per fare ciò, calcoliamo i coefficienti del normale sistema di equazioni:

    , ,

    Componiamo un normale sistema di minimi quadrati, che ha la forma:

    La soluzione del sistema è facile da trovare:, , .

    Si trova quindi il polinomio di 2° grado: .

    Riferimento teorico

    Torna a pagina<Введение в вычислительную математику. Примеры>

    Esempio 2. Trovare il grado ottimo di un polinomio.

    Torna a pagina<Введение в вычислительную математику. Примеры>

    Esempio 3. Derivazione di un normale sistema di equazioni per trovare i parametri di una dipendenza empirica.

    Desumiamo un sistema di equazioni per determinare i coefficienti e le funzioni , che esegue l'approssimazione della radice quadrata della funzione data rispetto ai punti. Componi una funzione e scrivi la condizione estrema necessaria per esso:

    Quindi il sistema normale assumerà la forma:

    Abbiamo ottenuto un sistema lineare di equazioni per parametri sconosciuti e facilmente risolvibile.

    Riferimento teorico

    Torna a pagina<Введение в вычислительную математику. Примеры>

    Esempio.

    Dati sperimentali sui valori delle variabili X e a sono riportati nella tabella.

    Come risultato del loro allineamento, la funzione

    Usando metodo dei minimi quadrati, approssima questi dati con una dipendenza lineare y=ascia+b(trovare parametri un e b). Scopri quale delle due linee è migliore (nel senso del metodo dei minimi quadrati) allinea i dati sperimentali. Fai un disegno.

    L'essenza del metodo dei minimi quadrati (LSM).

    Il problema è trovare i coefficienti di dipendenza lineare per i quali la funzione di due variabili un e bassume il valore più piccolo. Cioè, dati i dati un e b la somma delle deviazioni al quadrato dei dati sperimentali dalla retta trovata sarà la più piccola. Questo è il punto centrale del metodo dei minimi quadrati.

    Pertanto, la soluzione dell'esempio si riduce a trovare l'estremo di una funzione di due variabili.

    Derivazione di formule per il calcolo dei coefficienti.

    Viene compilato e risolto un sistema di due equazioni con due incognite. Trovare derivate parziali di funzioni per variabili un e b, uguagliamo queste derivate a zero.

    Risolviamo il sistema di equazioni risultante con qualsiasi metodo (ad esempio metodo di sostituzione o il metodo di Cramer) e ottenere formule per trovare i coefficienti utilizzando il metodo dei minimi quadrati (LSM).

    Con i dati un e b funzione assume il valore più piccolo. La prova di questo fatto è data di seguito nel testo a fine pagina.

    Questo è l'intero metodo dei minimi quadrati. Formula per trovare il parametro un contiene le somme , , , e il parametro nè la quantità di dati sperimentali. Si consiglia di calcolare separatamente i valori di queste somme.

    Coefficiente b trovato dopo il calcolo un.

    È tempo di ricordare l'esempio originale.

    Soluzione.

    Nel nostro esempio n=5. Compiliamo la tabella per comodità di calcolare gli importi che sono inclusi nelle formule dei coefficienti richiesti.

    I valori della quarta riga della tabella si ottengono moltiplicando i valori della 2a riga per i valori della 3a riga per ogni numero io.

    I valori della quinta riga della tabella si ottengono quadrando i valori della 2a riga per ogni numero io.

    I valori dell'ultima colonna della tabella sono le somme dei valori nelle righe.

    Usiamo le formule del metodo dei minimi quadrati per trovare i coefficienti un e b. Sostituiamo in essi i valori corrispondenti dall'ultima colonna della tabella:

    Di conseguenza, y=0,165x+2,184è la retta approssimata desiderata.

    Resta da scoprire quale delle linee y=0,165x+2,184 o approssima meglio i dati originali, ovvero per effettuare una stima utilizzando il metodo dei minimi quadrati.

    Stima dell'errore del metodo dei minimi quadrati.

    Per fare ciò, è necessario calcolare la somma delle deviazioni quadrate dei dati originali da queste linee e , un valore più piccolo corrisponde a una linea che approssima meglio i dati originali in termini di metodo dei minimi quadrati.

    Dal , quindi la linea y=0,165x+2,184 approssima meglio i dati originali.

    Illustrazione grafica del metodo dei minimi quadrati (LSM).

    Tutto sembra fantastico nelle classifiche. La linea rossa è la linea trovata y=0,165x+2,184, la linea blu è , i punti rosa sono i dati originali.

    A cosa serve, a cosa servono tutte queste approssimazioni?

    Io personalmente lo utilizzo per risolvere problemi di data smoothing, interpolazione ed estrapolazione (nell'esempio originale, ti potrebbe essere chiesto di trovare il valore del valore osservato y a x=3 o quando x=6 secondo il metodo MNC). Ma di questo parleremo più avanti in un'altra sezione del sito.

    Inizio pagina

    Prova.

    In modo che quando trovato un e b funzione assume il valore più piccolo, è necessario che a questo punto la matrice della forma quadratica del differenziale del secondo ordine per la funzione era positivo definitivo. Mostriamolo.

    Il differenziale del secondo ordine ha la forma:

    Questo è

    Pertanto, la matrice della forma quadratica ha la forma

    e i valori degli elementi non dipendono un e b.

    Dimostriamo che la matrice è definita positiva. Ciò richiede che gli angoli minori siano positivi.

    Angolare minore di primo ordine . La disuguaglianza è rigorosa, poiché i punti non coincidono. Ciò sarà implicito in quanto segue.

    Angolare minore di secondo ordine

    Dimostriamolo metodo di induzione matematica.

    Conclusione: valori trovati un e b corrispondono al valore più piccolo della funzione , pertanto, sono i parametri desiderati per il metodo dei minimi quadrati.

    Hai mai capito?
    Ordina una soluzione

    Inizio pagina

    Sviluppo di una previsione con il metodo dei minimi quadrati. Esempio di soluzione del problema

    Estrapolazione - questo è un metodo di ricerca scientifica, che si basa sulla diffusione di tendenze, modelli, relazioni passate e presenti con lo sviluppo futuro dell'oggetto di previsione. I metodi di estrapolazione includono metodo della media mobile, metodo di smoothing esponenziale, metodo dei minimi quadrati.

    Essenza metodo dei minimi quadrati consiste nel minimizzare la somma delle deviazioni quadrate tra i valori osservati e calcolati. I valori calcolati si trovano in base all'equazione selezionata: l'equazione di regressione. Minore è la distanza tra i valori effettivi e quelli calcolati, più accurata sarà la previsione basata sull'equazione di regressione.

    L'analisi teorica dell'essenza del fenomeno in esame, il cui cambiamento è rappresentato da una serie temporale, funge da base per la scelta di una curva. A volte vengono prese in considerazione considerazioni sulla natura della crescita dei livelli delle serie. Quindi, se la crescita della produzione è prevista in una progressione aritmetica, lo smoothing viene eseguito in linea retta. Se risulta che la crescita è esponenziale, il livellamento dovrebbe essere eseguito in base alla funzione esponenziale.

    La formula di lavoro del metodo dei minimi quadrati : Y t+1 = a*X + b, dove t + 1 è il periodo di previsione; Уt+1 – indicatore previsto; aeb sono coefficienti; X è un simbolo del tempo.

    I coefficienti a e b sono calcolati secondo le seguenti formule:

    dove, Uf - i valori effettivi della serie di dinamiche; n è il numero di livelli nella serie storica;

    Il livellamento delle serie temporali con il metodo dei minimi quadrati serve a riflettere i modelli di sviluppo del fenomeno in esame. Nell'espressione analitica di una tendenza, il tempo è considerato una variabile indipendente ei livelli della serie agiscono in funzione di questa variabile indipendente.

    Lo sviluppo di un fenomeno non dipende da quanti anni sono trascorsi dal punto di partenza, ma da quali fattori ne hanno influenzato lo sviluppo, in quale direzione e con quale intensità. Da ciò risulta chiaro che lo sviluppo di un fenomeno nel tempo appare come risultato dell'azione di questi fattori.

    Impostando correttamente il tipo di curva, il tipo di dipendenza analitica dal tempo è uno dei compiti più difficili dell'analisi predittiva. .

    La scelta del tipo di funzione che descrive l'andamento, i cui parametri sono determinati dal metodo dei minimi quadrati, è nella maggior parte dei casi empirica, costruendo un certo numero di funzioni e confrontandole tra loro per il valore della media-radice -errore quadrato calcolato dalla formula:

    dove Uf - i valori effettivi della serie di dinamiche; Ur – valori calcolati (smussati) delle serie temporali; n è il numero di livelli nella serie storica; p è il numero di parametri definiti nelle formule che descrivono l'andamento (andamento dello sviluppo).

    Svantaggi del metodo dei minimi quadrati :

    • quando si tenta di descrivere il fenomeno economico in esame utilizzando un'equazione matematica, la previsione sarà accurata per un breve periodo di tempo e l'equazione di regressione dovrebbe essere ricalcolata non appena saranno disponibili nuove informazioni;
    • la complessità della selezione dell'equazione di regressione, che è risolvibile utilizzando programmi per computer standard.

    Un esempio di utilizzo del metodo dei minimi quadrati per sviluppare una previsione

    Un compito . Ci sono dati che caratterizzano il livello di disoccupazione nella regione, %

    • Costruire una previsione del tasso di disoccupazione nella regione per i mesi di novembre, dicembre, gennaio, utilizzando i metodi: media mobile, smoothing esponenziale, minimi quadrati.
    • Calcolare gli errori nelle previsioni risultanti utilizzando ciascun metodo.
    • Confronta i risultati ottenuti, trai conclusioni.

    Soluzione dei minimi quadrati

    Per la soluzione, compileremo una tabella in cui faremo i calcoli necessari:

    ε = 28,63/10 = 2,86% accuratezza delle previsioni alto.

    Conclusione : Confrontando i risultati ottenuti nei calcoli metodo della media mobile , livellamento esponenziale e il metodo dei minimi quadrati, possiamo dire che l'errore relativo medio nei calcoli con il metodo di smoothing esponenziale rientra nel 20-50%. Ciò significa che l'accuratezza della previsione in questo caso è solo soddisfacente.

    Nel primo e nel terzo caso, l'accuratezza della previsione è elevata, poiché l'errore relativo medio è inferiore al 10%. Ma il metodo della media mobile ha permesso di ottenere risultati più affidabili (previsione per novembre - 1,52%, previsione per dicembre - 1,53%, previsione per gennaio - 1,49%), poiché l'errore relativo medio quando si utilizza questo metodo è il più piccolo - 1 ,13%.

    Metodo dei minimi quadrati

    Altri articoli correlati:

    Elenco delle fonti utilizzate

    1. Raccomandazioni scientifiche e metodologiche sui problemi della diagnosi dei rischi sociali e della previsione di sfide, minacce e conseguenze sociali. Università Sociale Statale Russa. Mosca. 2010;
    2. Vladimirova L.P. Previsione e pianificazione a condizioni di mercato: Proc. indennità. M.: Casa editrice "Dashkov and Co", 2001;
    3. Novikova N.V., Pozdeeva O.G. Previsione dell'economia nazionale: guida didattica e metodologica. Ekaterinburg: casa editrice Ural. stato economia università, 2007;
    4. Slutskin L.N. Corso MBA in Business Forecasting. Mosca: Alpina Business Books, 2006.

    Programma MNE

    Inserisci i dati

    Dati e approssimazione y = a + b x

    io- numero del punto sperimentale;
    x io- il valore del parametro fisso nel punto io;
    si io- il valore del parametro misurato nel punto io;
    ω io- misurazione del peso al punto io;
    si io, calc.- la differenza tra il valore misurato e il valore calcolato dalla regressione y al punto io;
    S x i (x i)- stima dell'errore x io durante la misurazione y al punto io.

    Dati e approssimazione y = k x

    io x io si io ω io si io, calc. Sì io S x i (x i)

    Fare clic sul grafico

    Manuale d'uso del programma online MNC.

    Nel campo dati, inserisci su ogni riga separata i valori di `x` e `y` in un punto sperimentale. I valori devono essere separati da spazi bianchi (spazio o tabulazione).

    Il terzo valore può essere il peso in punti di `w`. Se il peso in punti non è specificato, è uguale a uno. Nella stragrande maggioranza dei casi, i pesi dei punti sperimentali sono sconosciuti o non calcolati; tutti i dati sperimentali sono considerati equivalenti. A volte i pesi nell'intervallo di valori studiato non sono sicuramente equivalenti e possono essere calcolati anche teoricamente. Ad esempio, in spettrofotometria, i pesi possono essere calcolati utilizzando semplici formule, anche se praticamente tutti trascurano questo per ridurre i costi di manodopera.

    I dati possono essere incollati negli appunti da un foglio di calcolo della suite per ufficio, come Excel di Microsoft Office o Calc di Open Office. Per fare ciò, nel foglio di calcolo, seleziona l'intervallo di dati da copiare, copia negli appunti e incolla i dati nel campo dati in questa pagina.

    Per calcolare con il metodo dei minimi quadrati, sono necessari almeno due punti per determinare due coefficienti `b` - la tangente dell'angolo di inclinazione della retta e `a` - il valore tagliato dalla retta sulla `y ` asse.

    Per stimare l'errore dei coefficienti di regressione calcolati, è necessario impostare il numero di punti sperimentali a più di due.

    Metodo dei minimi quadrati (LSM).

    Maggiore è il numero di punti sperimentali, più accurata è la stima statistica dei coefficienti (a causa della diminuzione del coefficiente di Student) e più vicina la stima alla stima del campione generale.

    L'ottenimento di valori in ogni punto sperimentale è spesso associato a costi di manodopera significativi, pertanto viene spesso eseguito un numero di esperimenti compromesso, che fornisce una stima digeribile e non comporta costi di manodopera eccessivi. Di norma, il numero di punti sperimentali per una dipendenza lineare dai minimi quadrati con due coefficienti viene scelto nella regione di 5-7 punti.

    Una breve teoria dei minimi quadrati per la dipendenza lineare

    Supponiamo di avere un insieme di dati sperimentali sotto forma di coppie di valori [`y_i`, `x_i`], dove `i` è il numero di una misura sperimentale da 1 a `n`; `y_i` - il valore del valore misurato nel punto `i`; `x_i` - il valore del parametro che abbiamo impostato nel punto `i`.

    Un esempio è il funzionamento della legge di Ohm. Modificando la tensione (differenza potenziale) tra le sezioni del circuito elettrico, misuriamo la quantità di corrente che passa attraverso questa sezione. La fisica ci fornisce la dipendenza trovata sperimentalmente:

    `I=U/R`,
    dove `I` - forza attuale; `R` - resistenza; `U` - tensione.

    In questo caso, `y_i` è il valore della corrente misurata e `x_i` è il valore della tensione.

    Come altro esempio, si consideri l'assorbimento della luce da parte di una soluzione di una sostanza in soluzione. La chimica ci dà la formula:

    `A = εl C`,
    dove `A` è la densità ottica della soluzione; `ε` - trasmittanza soluto; `l` - lunghezza del percorso quando la luce passa attraverso una cuvetta con una soluzione; `C` è la concentrazione del soluto.

    In questo caso, `y_i` è la densità ottica misurata `A` e `x_i` è la concentrazione della sostanza che abbiamo impostato.

    Considereremo il caso in cui l'errore relativo nell'impostazione di `x_i` è molto inferiore all'errore relativo nella misurazione di `y_i`. Assumeremo anche che tutti i valori misurati di `y_i` siano casuali e normalmente distribuiti, cioè obbedire alla normale legge di distribuzione.

    Nel caso di una dipendenza lineare di `y` da `x`, possiamo scrivere la dipendenza teorica:
    `y = a + bx`.

    Da un punto di vista geometrico, il coefficiente `b` denota la tangente dell'angolo di inclinazione della linea all'asse `x`, e il coefficiente `a` - il valore di `y` nel punto di intersezione della linea con l'asse `y` (per `x = 0`).

    Trovare i parametri della retta di regressione.

    In un esperimento, i valori misurati di `y_i` non possono trovarsi esattamente sulla linea teorica a causa di errori di misurazione, che sono sempre inerenti alla vita reale. Pertanto, un'equazione lineare deve essere rappresentata da un sistema di equazioni:
    `y_i = a + b x_i + ε_i` (1),
    dove `ε_i` è l'errore di misura sconosciuto di `y` nel `i`esimo esperimento.

    Viene anche chiamata dipendenza (1). regressione, cioè. la dipendenza delle due grandezze l'una dall'altra con significatività statistica.

    Il compito di ripristinare la dipendenza è trovare i coefficienti `a` e `b` dai punti sperimentali [`y_i`, `x_i`].

    Per trovare i coefficienti si usa solitamente `a` e `b` metodo dei minimi quadrati(MNK). È un caso speciale del principio di massima verosimiglianza.

    Riscriviamo (1) come `ε_i = y_i - a - b x_i`.

    Quindi sarà la somma degli errori al quadrato
    `Φ = somma_(i=1)^(n) ε_i^2 = somma_(i=1)^(n) (y_i - a - b x_i)^2`. (2)

    Il principio del metodo dei minimi quadrati è di minimizzare la somma (2) rispetto ai parametri `a` e `b`.

    Il minimo si raggiunge quando le derivate parziali della somma (2) rispetto ai coefficienti `a` e `b` sono uguali a zero:
    `frac(parziale Φ)(parziale a) = frac(somma parziale_(i=1)^(n) (y_i - a - b x_i)^2)(a parziale) = 0`
    `frac(parziale Φ)(parziale b) = frac(somma parziale_(i=1)^(n) (y_i - a - b x_i)^2)(parziale b) = 0`

    Espandendo le derivate, otteniamo un sistema di due equazioni con due incognite:
    `somma_(i=1)^(n) (2a + 2bx_i - 2y_i) = somma_(i=1)^(n) (a + bx_i - y_i) = 0`
    `somma_(i=1)^(n) (2bx_i^2 + 2ax_i - 2x_iy_i) = somma_(i=1)^(n) (bx_i^2 + ax_i - x_iy_i) = 0`

    Apriamo le parentesi e trasferiamo le somme indipendenti dai coefficienti desiderati nell'altra metà, otteniamo un sistema di equazioni lineari:
    `somma_(i=1)^(n) y_i = a n + b somma_(i=1)^(n) bx_i`
    `somma_(i=1)^(n) x_iy_i = una somma_(i=1)^(n) x_i + b somma_(i=1)^(n) x_i^2`

    Risolvendo il sistema risultante, troviamo le formule per i coefficienti `a` e `b`:

    `a = frac(somma_(i=1)^(n) y_i somma_(i=1)^(n) x_i^2 - somma_(i=1)^(n) x_i somma_(i=1)^(n ) x_iy_i) (n somma_(i=1)^(n) x_i^2 — (somma_(i=1)^(n) x_i)^2)` (3.1)

    `b = frac(n somma_(i=1)^(n) x_iy_i - somma_(i=1)^(n) x_i somma_(i=1)^(n) y_i) (n somma_(i=1)^ (n) x_i^2 - (somma_(i=1)^(n) x_i)^2)` (3.2)

    Queste formule hanno soluzioni quando `n > 1` (la linea può essere tracciata utilizzando almeno 2 punti) e quando il determinante `D = n sum_(i=1)^(n) x_i^2 — (sum_(i= 1 )^(n) x_i)^2 != 0`, cioè quando i punti `x_i` nell'esperimento sono diversi (cioè quando la linea non è verticale).

    Stima degli errori nei coefficienti della retta di regressione

    Per una stima più accurata dell'errore nel calcolo dei coefficienti `a` e `b`, è auspicabile un gran numero di punti sperimentali. Quando `n = 2`, è impossibile stimare l'errore dei coefficienti, perché la linea di approssimazione passerà in modo univoco per due punti.

    Viene determinato l'errore della variabile casuale `V` legge sull'accumulo degli errori
    `S_V^2 = somma_(i=1)^p (frac(f parziale)(z_i parziale))^2 S_(z_i)^2`,
    dove `p` è il numero di parametri `z_i` con errore `S_(z_i)` che influiscono sull'errore `S_V`;
    `f` è una funzione di dipendenza di `V` su `z_i`.

    Scriviamo la legge di accumulazione degli errori per l'errore dei coefficienti `a` e `b`
    `S_a^2 = sum_(i=1)^(n)(frac(a parziale)(y_i parziale))^2 S_(y_i)^2 + sum_(i=1)^(n)(frac(a parziale )(x_i parziale))^2 S_(x_i)^2 = S_y^2 sum_(i=1)^(n)(frac(a parziale)(y_i parziale))^2 `,
    `S_b^2 = sum_(i=1)^(n)(frac(parziale b)(parziale y_i))^2 S_(y_i)^2 + somma_(i=1)^(n)(frac(parziale b )(x_i parziale))^2 S_(x_i)^2 = S_y^2 sum_(i=1)^(n)(frac(b parziale)(y_i parziale))^2 `,
    perché `S_(x_i)^2 = 0` (in precedenza abbiamo fatto una prenotazione che l'errore di `x` è trascurabile).

    `S_y^2 = S_(y_i)^2` - l'errore (varianza, deviazione standard al quadrato) nella dimensione `y`, supponendo che l'errore sia uniforme per tutti i valori `y`.

    Sostituendo le formule per il calcolo di `a` e `b` nelle espressioni risultanti, otteniamo

    `S_a^2 = S_y^2 frac(somma_(i=1)^(n) (somma_(i=1)^(n) x_i^2 - x_i somma_(i=1)^(n) x_i)^2 ) (D^2) = S_y^2 frac((n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i)^2) sum_(i=1) ^(n) x_i^2) (D^2) = S_y^2 frac(sum_(i=1)^(n) x_i^2) (D)` (4.1)

    `S_b^2 = S_y^2 frac(sum_(i=1)^(n) (n x_i - sum_(i=1)^(n) x_i)^2) (D^2) = S_y^2 frac( n (n somma_(i=1)^(n) x_i^2 - (somma_(i=1)^(n) x_i)^2)) (D^2) = S_y^2 frac(n) (D) ` (4.2)

    Nella maggior parte degli esperimenti reali, il valore di 'Sy' non viene misurato. Per fare ciò, è necessario eseguire più misurazioni parallele (esperimenti) in uno o più punti del piano, il che aumenta il tempo (ed eventualmente il costo) dell'esperimento. Pertanto, di solito si presume che la deviazione di 'y' dalla retta di regressione possa essere considerata casuale. La stima della varianza `y` in questo caso è calcolata dalla formula.

    `S_y^2 = S_(y, resto)^2 = frac(sum_(i=1)^n (y_i - a - b x_i)^2) (n-2)`.

    Il divisore `n-2` appare perché abbiamo ridotto il numero di gradi di libertà dovuto al calcolo di due coefficienti per lo stesso campione di dati sperimentali.

    Questa stima è anche chiamata varianza residua relativa alla retta di regressione `S_(y, resto)^2`.

    La valutazione della significatività dei coefficienti viene effettuata secondo il criterio dello Studente

    `t_a = frac(|a|) (S_a)`, `t_b = frac(|b|) (S_b)`

    Se i criteri calcolati `t_a`, `t_b` sono inferiori ai criteri della tabella `t(P, n-2)`, allora si considera che il coefficiente corrispondente non è significativamente diverso da zero con una data probabilità `P`.

    Per valutare la qualità della descrizione di una relazione lineare, puoi confrontare `S_(y, resto)^2` e `S_(bar y)` rispetto alla media usando il criterio di Fisher.

    `S_(barra y) = frac(somma_(i=1)^n (y_i - barra y)^2) (n-1) = frac(somma_(i=1)^n (y_i - (somma_(i= 1)^n y_i) /n)^2) (n-1)` - stima campionaria della varianza di `y` rispetto alla media.

    Per valutare l'efficacia dell'equazione di regressione per descrivere la dipendenza, viene calcolato il coefficiente di Fisher
    `F = S_(barra y) / S_(y, riposo)^2`,
    che viene confrontato con il coefficiente tabulare di Fisher `F(p, n-1, n-2)`.

    Se `F > F(P, n-1, n-2)`, la differenza tra la descrizione della dipendenza `y = f(x)` usando l'equazione di regressione e la descrizione usando la media è considerata statisticamente significativa con probabilità `P`. Quelli. la regressione descrive la dipendenza meglio della diffusione di 'y' attorno alla media.

    Fare clic sul grafico
    per aggiungere valori alla tabella

    Metodo dei minimi quadrati. Il metodo dei minimi quadrati significa la determinazione di parametri sconosciuti a, b, c, la dipendenza funzionale accettata

    Il metodo dei minimi quadrati significa la determinazione di parametri sconosciuti a, b, c,… dipendenza funzionale accettata

    y = f(x,a,b,c,…),

    che fornirebbe un minimo del quadrato medio (varianza) dell'errore

    , (24)

    dove x i , y i - insieme di coppie di numeri ottenute dall'esperimento.

    Poiché la condizione per l'estremo di una funzione a più variabili è la condizione che le sue derivate parziali siano uguali a zero, allora i parametri a, b, c,… sono determinati dal sistema di equazioni:

    ; ; ; … (25)

    Va ricordato che il metodo dei minimi quadrati viene utilizzato per selezionare i parametri dopo la forma della funzione y = f(x) definito.

    Se da considerazioni teoriche è impossibile trarre conclusioni su quale dovrebbe essere la formula empirica, allora bisogna essere guidati da rappresentazioni visive, principalmente una rappresentazione grafica dei dati osservati.

    In pratica, il più delle volte limitato ai seguenti tipi di funzioni:

    1) lineare ;

    2) quadratico a .