Metoda najmanjih kvadrata u Excelu. Regresiona analiza. Gdje se primjenjuje metoda najmanjih kvadrata Metoda najmanjih kvadrata za pravu liniju u prostoru

Metoda najmanjih kvadrata jedna je od najčešćih i najrazvijenijih zbog svoje jednostavnost i efikasnost metoda za procjenu parametara linearnih. Istovremeno, pri korištenju treba biti oprezan, budući da modeli izgrađeni pomoću njega možda ne ispunjavaju niz zahtjeva za kvalitetom svojih parametara i kao rezultat toga ne odražavaju "dobro" obrasce razvoja procesa.

Razmotrimo detaljnije postupak za procjenu parametara linearnog ekonometrijskog modela metodom najmanjih kvadrata. Takav model u opštem obliku može se predstaviti jednadžbom (1.2):

y t = a 0 + a 1 x 1 t +...+ a n x nt + ε t .

Početni podaci pri procjeni parametara a 0 , a 1 ,..., a n je vektor vrijednosti zavisne varijable y= (y 1 , y 2 , ... , y T)" i matrica vrijednosti nezavisnih varijabli

u kojoj prvi stupac, koji se sastoji od jedinica, odgovara koeficijentu modela .

Metoda najmanjih kvadrata dobila je naziv na osnovu osnovnog principa da procjene parametara dobijene na njenoj osnovi trebaju zadovoljiti: zbir kvadrata greške modela treba biti minimalan.

Primjeri rješavanja zadataka metodom najmanjih kvadrata

Primjer 2.1. Trgovačko preduzeće ima mrežu koja se sastoji od 12 prodavnica, informacije o aktivnostima koje su prikazane u tabeli. 2.1.

Menadžment kompanije želi da zna kako veličina godišnjeg zavisi od prodajnog prostora prodavnice.

Tabela 2.1

Broj prodavnice

Godišnji promet, milion rubalja

Trgovinska površina, hiljada m 2

Rješenje najmanjih kvadrata. Označimo - godišnji promet -te prodavnice, milion rubalja; - prodajna površina -tog lokala, hiljada m 2.

Sl.2.1. Dijagram raspršenosti za primjer 2.1

Odrediti oblik funkcionalnog odnosa između varijabli i konstruirati dijagram raspršenja (slika 2.1).

Na osnovu dijagrama raspršenosti možemo zaključiti da godišnji promet pozitivno zavisi od prodajnog područja (tj. y će rasti s rastom od ). Najprikladniji oblik funkcionalne veze je − linearno.

Informacije za dalje proračune prikazane su u tabeli. 2.2. Koristeći metodu najmanjih kvadrata, procjenjujemo parametre linearnog jednofaktorskog ekonometrijskog modela

Tabela 2.2

dakle,

Dakle, sa povećanjem trgovačke površine za 1 hiljadu m 2, pod jednakim uslovima, prosječni godišnji promet raste za 67,8871 miliona rubalja.

Primjer 2.2. Menadžment preduzeća je primetio da godišnji promet zavisi ne samo od prodajnog prostora prodavnice (vidi primer 2.1), već i od prosečnog broja posetilaca. Relevantne informacije su prikazane u tabeli. 2.3.

Tabela 2.3

Rješenje. Označiti - prosječan broj posjetilaca u prodavnici dnevno, hiljada ljudi.

Odrediti oblik funkcionalnog odnosa između varijabli i konstruirati dijagram raspršenja (slika 2.2).

Na osnovu dijagrama raspršenosti možemo zaključiti da je godišnji promet pozitivno povezan sa prosječnim brojem posjetitelja dnevno (tj. y će rasti s rastom od ). Oblik funkcionalne zavisnosti je linearan.

Rice. 2.2. Dijagram raspršenosti na primjer 2.2

Tabela 2.4

Općenito, potrebno je odrediti parametre dvofaktorskog ekonometrijskog modela

y t \u003d a 0 + a 1 x 1 t + a 2 x 2 t + ε t

Informacije potrebne za dalje proračune prikazane su u tabeli. 2.4.

Procijenimo parametre linearnog dvofaktorskog ekonometrijskog modela koristeći metodu najmanjih kvadrata.

dakle,

Procjena koeficijenta = 61,6583 pokazuje da će, uz ostale jednake stvari, povećanjem trgovačke površine za 1 hiljadu m 2, godišnji promet porasti u prosjeku za 61,6583 miliona rubalja.

Primjer.

Eksperimentalni podaci o vrijednostima varijabli X I at date su u tabeli.

Kao rezultat njihovog usklađivanja, funkcija

Koristeći metoda najmanjeg kvadrata, aproksimira ove podatke linearnom zavisnošću y=ax+b(pronađi opcije A I b). Saznajte koja od dvije linije je bolja (u smislu metode najmanjih kvadrata) poravnava eksperimentalne podatke. Napravite crtež.

Suština metode najmanjih kvadrata (LSM).

Problem je pronaći koeficijente linearne zavisnosti za koje je funkcija dvije varijable A I b uzima najmanju vrijednost. Odnosno, s obzirom na podatke A I b zbir kvadrata odstupanja eksperimentalnih podataka od pronađene prave će biti najmanji. Ovo je cijela poenta metode najmanjih kvadrata.

Dakle, rješenje primjera se svodi na pronalaženje ekstrema funkcije dvije varijable.

Izvođenje formula za pronalaženje koeficijenata.

Sastavlja se i rješava sistem dvije jednačine sa dvije nepoznate. Pronalaženje parcijalnih izvoda funkcije u odnosu na varijable A I b, izjednačavamo ove izvode sa nulom.

Rezultirajući sistem jednačina rješavamo bilo kojom metodom (npr metoda zamjene ili ) i dobiju formule za pronalaženje koeficijenata koristeći metodu najmanjih kvadrata (LSM).

Sa podacima A I b funkcija uzima najmanju vrijednost. Dokaz ove činjenice je dat.

To je cijela metoda najmanjih kvadrata. Formula za pronalaženje parametra a sadrži sume , , , i parametar n- količina eksperimentalnih podataka. Vrijednosti ovih suma se preporučuje da se izračunaju zasebno. Koeficijent b pronađeno nakon izračuna a.

Vrijeme je da se prisjetimo originalnog primjera.

Rješenje.

U našem primjeru n=5. Popunjavamo tablicu radi praktičnosti izračunavanja iznosa koji su uključeni u formule potrebnih koeficijenata.

Vrijednosti u četvrtom redu tabele dobijaju se množenjem vrijednosti 2. retka sa vrijednostima 3. reda za svaki broj i.

Vrijednosti u petom redu tabele dobijaju se kvadriranjem vrijednosti 2. reda za svaki broj i.

Vrijednosti posljednje kolone tabele su zbroji vrijednosti u redovima.

Za pronalaženje koeficijenata koristimo formule metode najmanjih kvadrata A I b. U njih zamjenjujemo odgovarajuće vrijednosti iz posljednje kolone tabele:

dakle, y=0,165x+2,184 je željena aproksimirajuća ravna linija.

Ostaje da saznamo koja od linija y=0,165x+2,184 ili bolje aproksimira originalne podatke, tj. da procjenu metodom najmanjih kvadrata.

Procjena greške metode najmanjih kvadrata.

Da biste to učinili, morate izračunati sume kvadrata odstupanja izvornih podataka od ovih linija I , manja vrijednost odgovara liniji koja bolje aproksimira originalne podatke u smislu metode najmanjih kvadrata.

Od , onda linija y=0,165x+2,184 bolje aproksimira originalne podatke.

Grafička ilustracija metode najmanjih kvadrata (LSM).

Sve izgleda odlično na grafikonima. Crvena linija je pronađena linija y=0,165x+2,184, plava linija je , ružičaste tačke su originalni podaci.

Čemu služi, čemu sve ove aproksimacije?

Ja lično koristim za rješavanje problema izglađivanja podataka, problema interpolacije i ekstrapolacije (u originalnom primjeru od vas bi se moglo tražiti da pronađete vrijednost uočene vrijednosti y at x=3 ili kada x=6 prema MNC metodi). Ali o tome ćemo više govoriti kasnije u drugom dijelu stranice.

Dokaz.

Tako da kada se nađe A I b funkcija uzima najmanju vrijednost, potrebno je da u ovom trenutku matrica kvadratnog oblika diferencijala drugog reda za funkciju bilo pozitivno određeno. Hajde da to pokažemo.

Odabir tipa regresijske funkcije, tj. tip razmatranog modela zavisnosti Y od X (ili X od Y), na primjer, linearni model y x = a + bx, potrebno je odrediti specifične vrijednosti koeficijenata modela.

Za različite vrijednosti a i b moguće je konstruirati beskonačan broj ovisnosti oblika y x =a+bx, tj. postoji beskonačan broj linija na koordinatnoj ravni, ali nam je potrebna takva ovisnost da na najbolji način odgovara uočenim vrijednostima. Dakle, problem se svodi na izbor najboljih koeficijenata.

Tražimo linearnu funkciju a + bx, samo na osnovu određenog broja dostupnih opservacija. Da bismo pronašli funkciju koja najbolje odgovara promatranim vrijednostima, koristimo metodu najmanjih kvadrata.

Označiti: Y i - vrijednost izračunata jednadžbom Y i =a+bx i . y i - izmjerena vrijednost, ε i =y i -Y i - razlika između izmjerenih i izračunatih vrijednosti, ε i =y i -a-bx i .

Metoda najmanjih kvadrata zahtijeva da ε i , razlika između izmjerenog y i i vrijednosti Y i izračunate iz jednačine, bude minimalna. Stoga nalazimo koeficijente a i b tako da je zbroj kvadrata odstupanja posmatranih vrijednosti od vrijednosti na pravoj regresijskoj liniji najmanji:

Istražujući ovu funkciju argumenata a i uz pomoć izvoda do ekstrema, možemo dokazati da funkcija poprima minimalnu vrijednost ako su koeficijenti a i b rješenja sistema:

(2)

Ako obje strane normalne jednadžbe podijelimo sa n, dobićemo:

S obzirom na to (3)

Get , odavde, zamjenom vrijednosti a u prvoj jednačini, dobijamo:

U ovom slučaju, b se naziva koeficijent regresije; a se naziva slobodnim članom regresijske jednadžbe i izračunava se po formuli:

Rezultirajuća ravna linija je procjena teorijske linije regresije. Imamo:

dakle, je jednadžba linearne regresije.

Regresija može biti direktna (b>0) i inverzna (b Primjer 1. Rezultati mjerenja X i Y vrijednosti su dati u tabeli:

x i -2 0 1 2 4
y i 0.5 1 1.5 2 3

Uz pretpostavku da postoji linearna veza između X i Y y=a+bx, odredite koeficijente a i b koristeći metodu najmanjih kvadrata.

Rješenje. Ovdje je n=5
x i =-2+0+1+2+4=5;
x i 2 =4+0+1+4+16=25
x i y i =-2 0,5+0 1+1 1,5+2 2+4 3=16,5
y i =0,5+1+1,5+2+3=8

a normalni sistem (2) ima oblik

Rješavajući ovaj sistem dobijamo: b=0,425, a=1,175. Prema tome y=1,175+0,425x.

Primjer 2. Postoji uzorak od 10 opservacija ekonomskih indikatora (X) i (Y).

x i 180 172 173 169 175 170 179 170 167 174
y i 186 180 176 171 182 166 182 172 169 177

Potrebno je pronaći jednadžbu uzorka regresije Y na X. Konstruirati liniju uzorka regresije Y na X.

Rješenje. 1. Razvrstajmo podatke po vrijednostima x i i y i . Dobijamo novi sto:

x i 167 169 170 170 172 173 174 175 179 180
y i 169 171 166 172 180 176 177 182 182 186

Da bismo pojednostavili proračune, sastavit ćemo proračunsku tablicu u koju ćemo unijeti potrebne numeričke vrijednosti.

x i y i x i 2 x i y i
167 169 27889 28223
169 171 28561 28899
170 166 28900 28220
170 172 28900 29240
172 180 29584 30960
173 176 29929 30448
174 177 30276 30798
175 182 30625 31850
179 182 32041 32578
180 186 32400 33480
∑x i =1729 ∑y i =1761 ∑x i 2 299105 ∑x i y i =304696
x=172,9 y=176,1 x i 2 =29910,5 xy=30469.6

Prema formuli (4) izračunavamo koeficijent regresije

i po formuli (5)

Dakle, jednadžba regresije uzorka izgleda kao y=-59,34+1,3804x.
Nacrtajmo tačke (x i ; y i) na koordinatnoj ravni i označimo liniju regresije.


Slika 4

Slika 4 pokazuje kako se posmatrane vrednosti nalaze u odnosu na liniju regresije. Za numeričku procjenu odstupanja y i od Y i , gdje su y i uočene vrijednosti, a Y i vrijednosti određene regresijom, napravićemo tabelu:

x i y i Y i Y i -y i
167 169 168.055 -0.945
169 171 170.778 -0.222
170 166 172.140 6.140
170 172 172.140 0.140
172 180 174.863 -5.137
173 176 176.225 0.225
174 177 177.587 0.587
175 182 178.949 -3.051
179 182 184.395 2.395
180 186 185.757 -0.243

Y i vrijednosti se izračunavaju prema jednadžbi regresije.

Primjetno odstupanje nekih uočenih vrijednosti od linije regresije objašnjava se malim brojem zapažanja. Prilikom proučavanja stepena linearne zavisnosti Y od X, uzima se u obzir broj posmatranja. Jačina zavisnosti je određena vrijednošću koeficijenta korelacije.

Ja sam kompjuterski programer. Napravio sam najveći skok u karijeri kada sam naučio da kažem: "Ne razumijem ništa!" Sad se ne stidim da kažem svetioniku nauke da mi drži predavanje, da ne razumem o čemu mi to, svetilo, priča. I to je veoma teško. Da, teško je i neugodno priznati da ne znaš. Ko voli da prizna da ne zna osnove nečega-eto. Zbog svoje profesije moram da prisustvujem velikom broju prezentacija i predavanja, gde mi se, priznajem, u velikoj većini slučajeva spava, jer ništa ne razumem. I ne razumijem jer veliki problem trenutnog stanja u nauci leži u matematici. Pretpostavlja se da su svi učenici upoznati sa apsolutno svim oblastima matematike (što je apsurdno). Priznati da ne znaš šta je derivat (da je ovo malo kasnije) je šteta.

Ali naučio sam da kažem da ne znam šta je množenje. Da, ne znam šta je podalgebra nad Lijevom algebrom. Da, ne znam zašto su kvadratne jednačine potrebne u životu. Inače, ako ste sigurni da znate, onda imamo o čemu da razgovaramo! Matematika je niz trikova. Matematičari pokušavaju da zbune i zastraše javnost; gde nema zabune, nema ugleda, nema autoriteta. Da, prestižno je govoriti najapstraktnijim mogućim jezikom, što je samo po sebi potpuna besmislica.

Znate li šta je derivat? Najvjerovatnije ćete mi reći o granici relacije razlike. Na prvoj godini matematike na Državnom univerzitetu u Sankt Peterburgu, Viktor Petrovič Khavin me definisano izvod kao koeficijent prvog člana Taylorovog reda funkcije u tački (posebna je gimnastika određivanje Taylorovog reda bez izvoda). Dugo sam se smijao ovoj definiciji, dok konačno nisam shvatio o čemu se radi. Izvod nije ništa drugo nego samo mjera koliko je funkcija koju razlikujemo slična funkciji y=x, y=x^2, y=x^3.

Sada imam čast da predajem studentima koji uplašen matematike. Ako se plašite matematike - mi smo na putu. Čim pokušate da pročitate neki tekst i učini vam se da je previše komplikovan, znajte da je loše napisan. Tvrdim da ne postoji nijedna oblast matematike o kojoj se ne može govoriti „na prste“ a da se ne izgubi tačnost.

Izazov za blisku budućnost: Uputio sam svoje učenike da shvate šta je linearno-kvadratni kontroler. Ne stidite se, izgubite tri minuta svog života, pratite link. Ako ništa ne razumijete, onda smo na putu. Ja (profesionalni matematičar-programer) takođe nisam ništa razumio. I uvjeravam vas, ovo se može riješiti "na prste". Trenutno ne znam šta je to, ali uvjeravam vas da ćemo to moći otkriti.

Dakle, prvo predavanje koje ću održati svojim studentima nakon što mi dotrčaše užasnuto s riječima da je linearno-kvadratni kontroler strašna buba koju nikada nećete savladati u životu je metode najmanjih kvadrata. Možete li riješiti linearne jednačine? Ako čitate ovaj tekst, onda najvjerovatnije ne.

Dakle, date dvije tačke (x0, y0), (x1, y1), na primjer, (1,1) i (3,2), zadatak je pronaći jednačinu prave koja prolazi kroz ove dvije tačke:

ilustracija

Ova prava linija treba da ima jednačinu kao što je sljedeća:

Ovdje su nam alfa i beta nepoznate, ali su poznate dvije tačke ove linije:

Ovu jednačinu možete napisati u matričnom obliku:

Ovdje bismo trebali napraviti lirsku digresiju: ​​šta je matrica? Matrica nije ništa drugo do dvodimenzionalni niz. Ovo je način pohranjivanja podataka, na njega ne bi trebalo dodavati više vrijednosti. Na nama je kako tačno interpretirati određenu matricu. Periodično ću ga tumačiti kao linearno preslikavanje, periodično kao kvadratni oblik, a ponekad jednostavno kao skup vektora. Ovo će sve biti razjašnjeno u kontekstu.

Zamijenimo određene matrice njihovim simboličkim prikazom:

Tada se (alfa, beta) može lako pronaći:

Konkretnije za naše prethodne podatke:

Što dovodi do sljedeće jednačine prave linije koja prolazi kroz tačke (1,1) i (3,2):

Dobro, ovde je sve jasno. I hajde da nađemo jednačinu prave linije koja prolazi tri tačke: (x0,y0), (x1,y1) i (x2,y2):

Oh-oh-oh, ali imamo tri jednadžbe za dvije nepoznanice! Standardni matematičar će reći da nema rješenja. Šta će reći programer? I prvo će prepisati prethodni sistem jednačina u sljedećem obliku:

U našem slučaju, vektori i, j, b su trodimenzionalni, pa (u opštem slučaju) ne postoji rešenje za ovaj sistem. Bilo koji vektor (alpha\*i + beta\*j) leži u ravni koju pokrivaju vektori (i, j). Ako b ne pripada ovoj ravni, onda nema rješenja (jednakost u jednadžbi se ne može postići). sta da radim? Hajde da tražimo kompromis. Označimo sa e (alfa, beta) kako tačno nismo postigli ravnopravnost:

I mi ćemo pokušati minimizirati ovu grešku:

Zašto kvadrat?

Ne tražimo samo minimum norme, već minimum kvadrata norme. Zašto? Minimalna tačka sama po sebi se poklapa, a kvadrat daje glatku funkciju (kvadratna funkcija argumenata (alfa, beta)), dok samo dužina daje funkciju u obliku konusa, nediferencirajuću u minimalnoj tački. Brr. Kvadrat je praktičniji.

Očigledno, greška je minimizirana kada je vektor e ortogonalno na ravan koju pokrivaju vektori i I j.

Ilustracija

Drugim riječima: tražimo pravu takvu da je zbroj kvadrata dužina udaljenosti od svih tačaka do ove prave minimalan:

UPDATE: ovdje imam dovratak, udaljenost do linije treba mjeriti okomito, a ne ortografsku projekciju. komentator je u pravu.

Ilustracija

Potpuno drugačijim riječima (pažljivo, loše formalizirano, ali bi trebalo biti jasno na prstima): uzimamo sve moguće linije između svih parova tačaka i tražimo prosječnu liniju između svih:

Ilustracija

Još jedno objašnjenje na prstima: spajamo oprugu između svih tačaka podataka (ovdje imamo tri) i linije koju tražimo, a linija ravnotežnog stanja je upravo ono što tražimo.

Minimum kvadratnog oblika

Dakle, s obzirom na vektor b i ravan koju pokrivaju koloni-vektori matrice A(u ovom slučaju (x0,x1,x2) i (1,1,1)), tražimo vektor e sa minimalnim kvadratom dužine. Očigledno, minimum je dostižan samo za vektor e, ortogonalno na ravan koju protežu stupci-vektori matrice A:

Drugim riječima, tražimo vektor x=(alfa, beta) takav da:

Podsjećam vas da je ovaj vektor x=(alfa, beta) minimum kvadratne funkcije ||e(alfa, beta)||^2:

Ovdje je korisno zapamtiti da se matrica može interpretirati kao i kvadratni oblik, na primjer, matrica identiteta ((1,0),(0,1)) se može tumačiti kao funkcija x^2 + y ^2:

kvadratni oblik

Sva ova gimnastika je poznata kao linearna regresija.

Laplaceova jednadžba s Dirichletovim graničnim uvjetom

Sada najjednostavniji stvarni problem: postoji određena triangulirana površina, potrebno je zagladiti. Na primjer, učitajmo moj model lica:

Originalno urezivanje je dostupno. Da smanjim vanjske zavisnosti, uzeo sam kod svog softverskog renderera, već na Habré-u. Za rješavanje linearnog sistema koristim OpenNL, odličan je rješavač, ali ga je vrlo teško instalirati: trebate kopirati dvije datoteke (.h + .c) u direktorij projekta. Svo zaglađivanje se vrši pomoću sljedećeg koda:

Za (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&face = lica[i]; za (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); } }

X, Y i Z koordinate su razdvojive, ja ih izglađujem zasebno. To jest, rješavam tri sistema linearnih jednačina, svaki sa istim brojem varijabli kao i broj vrhova u mom modelu. Prvih n redova matrice A ima samo jednu 1 po redu, a prvih n redova vektora b imaju originalne koordinate modela. Odnosno, spajam oprugom između novog položaja vrha i starog vrha - novi ne bi trebali biti previše udaljeni od starih.

Svi naredni redovi matrice A (faces.size()*3 = broj ivica svih trouglova u mreži) imaju jedno pojavljivanje 1 i jedno pojavljivanje -1, dok vektor b ima nula komponenti nasuprot. To znači da stavljam oprugu na svaku ivicu naše trouglaste mreže: sve ivice pokušavaju da dobiju isti vrh kao njihove početne i krajnje tačke.

Još jednom: svi vrhovi su varijable, i ne mogu daleko odstupiti od svog prvobitnog položaja, ali u isto vrijeme pokušavaju da postanu slični jedni drugima.

Evo rezultata:

Sve bi bilo u redu, model je zaista izglađen, ali se udaljio od prvobitne ivice. Promenimo malo kod:

Za (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); }

U našoj matrici A, za vrhove koji se nalaze na ivici, ne dodajem red iz kategorije v_i = verts[i][d], već 1000*v_i = 1000*verts[i][d]. Šta to mijenja? I ovo mijenja naš kvadratni oblik greške. Sada će jedno odstupanje od vrha na rubu koštati ne jednu jedinicu, kao prije, već 1000 * 1000 jedinica. Odnosno, okačili smo jaču oprugu na ekstremne vrhove, rješenje preferira jače istezanje drugih. Evo rezultata:

Udvostručimo snagu opruga između vrhova:
nlKoeficijent(lice[j], 2); nlKoeficijent(lice[(j+1)%3], -2);

Logično je da je površina postala glatkija:

A sada čak sto puta jače:

Šta je ovo? Zamislite da smo umočili žičani prsten u vodu sa sapunom. Kao rezultat toga, rezultirajući film sapuna pokušat će imati najmanju moguću zakrivljenost, dodirujući istu granicu - naš žičani prsten. Upravo to smo dobili tako što smo popravili ivicu i tražili glatku površinu unutra. Čestitamo, upravo smo riješili Laplaceovu jednačinu sa Dirichletovim graničnim uvjetima. Zvuči cool? Ali u stvari, samo jedan sistem linearnih jednačina za rješavanje.

Poissonova jednadžba

Hajde da imamo još jedno kul ime.

Recimo da imam ovakvu sliku:

Svi su dobri, ali meni se ne sviđa stolica.

Preseći ću sliku na pola:



I ja ću svojim rukama odabrati stolicu:

Zatim ću sve što je bijelo na maski prevući na lijevu stranu slike, a istovremeno ću kroz cijelu sliku reći da razlika između dva susjedna piksela treba biti jednaka razlici između dva susjedna piksela desna slika:

Za (int i=0; i

Evo rezultata:

Primjer iz stvarnog života

Namjerno nisam radila lizane rezultate, jer. Samo sam htio pokazati kako tačno možete primijeniti metode najmanjih kvadrata, ovo je kod za obuku. Dozvolite mi sada da dam primjer iz stvarnog života:

Imam nekoliko fotografija uzoraka tkanine poput ove:

Moj zadatak je da napravim bešavne teksture od fotografija ovog kvaliteta. Prvo, (automatski) tražim obrazac koji se ponavlja:

Ako izrežem ovaj četverokut upravo ovdje, onda zbog izobličenja, rubovi se neće konvergirati, evo primjera uzorka koji se ponavlja četiri puta:

Skriveni tekst

Evo fragmenta gdje je šav jasno vidljiv:

Stoga, neću seći duž prave linije, evo linije reza:

Skriveni tekst

A evo šeme koja se ponavlja četiri puta:

Skriveni tekst

I njegov fragment da bude jasnije:

Već bolje, rez nije išao ravnom linijom, zaobilazeći sve vrste kovrča, ali ipak je šav vidljiv zbog neravnomjernog osvjetljenja na originalnoj fotografiji. Ovdje u pomoć dolazi metoda najmanjih kvadrata za Poissonovu jednačinu. Evo konačnog rezultata nakon poravnanja rasvjete:

Tekstura je ispala savršeno besprijekorna, a sve to automatski sa fotografije vrlo osrednjeg kvaliteta. Ne plašite se matematike, tražite jednostavna objašnjenja i imaćete sreće u inženjerstvu.

Problem je pronaći koeficijente linearne zavisnosti za koje je funkcija dvije varijable A I b uzima najmanju vrijednost. Odnosno, s obzirom na podatke A I b zbir kvadrata odstupanja eksperimentalnih podataka od pronađene prave će biti najmanji. Ovo je cijela poenta metode najmanjih kvadrata.

Dakle, rješenje primjera se svodi na pronalaženje ekstrema funkcije dvije varijable.

Izvođenje formula za pronalaženje koeficijenata. Sastavlja se i rješava sistem dvije jednačine sa dvije nepoznate. Pronalaženje parcijalnih izvoda funkcija po varijablama A I b, izjednačavamo ove izvode sa nulom.

Rezultirajući sistem jednadžbi rješavamo bilo kojom metodom (na primjer, metodom zamjene ili Cramerovom metodom) i dobijamo formule za pronalaženje koeficijenata metodom najmanjih kvadrata (LSM).

Sa podacima A I b funkcija uzima najmanju vrijednost.

To je cijela metoda najmanjih kvadrata. Formula za pronalaženje parametra a sadrži sume , , , i parametar n- količina eksperimentalnih podataka. Vrijednosti ovih suma se preporučuje da se izračunaju zasebno. Koeficijent b pronađeno nakon izračuna a.

Glavno područje primjene takvih polinoma je obrada eksperimentalnih podataka (izgradnja empirijskih formula). Činjenica je da će na interpolacijski polinom konstruiran iz vrijednosti funkcije dobivene uz pomoć eksperimenta snažno utjecati "eksperimentalni šum", štoviše, tokom interpolacije se interpolacijski čvorovi ne mogu ponoviti, tj. ne možete koristiti rezultate ponovljenih eksperimenata pod istim uslovima. Srednji kvadratni polinom izglađuje šum i omogućava korištenje rezultata više eksperimenata.

Numerička integracija i diferencijacija. Primjer.

Numerička integracija- izračunavanje vrijednosti određenog integrala (po pravilu aproksimativno). Pod numeričkom integracijom se podrazumijeva skup numeričkih metoda za pronalaženje vrijednosti određenog integrala.

Numerička diferencijacija– skup metoda za izračunavanje vrijednosti izvoda diskretno zadane funkcije.

Integracija

Formulacija problema. Matematička formulacija problema: potrebno je pronaći vrijednost određenog integrala

gdje su a, b konačni, f(x) je kontinuiran na [a, b].

Prilikom rješavanja praktičnih problema često se dešava da je integral nezgodno ili nemoguće analitički uzeti: možda se ne može izraziti u elementarnim funkcijama, integrand se može dati u obliku tabele itd. U takvim slučajevima se koriste metode numeričke integracije. korišteno. Metode numeričke integracije koriste zamjenu površine krivolinijskog trapeza konačnim zbirom površina jednostavnijih geometrijskih oblika koji se mogu točno izračunati. U tom smislu se govori o upotrebi kvadraturnih formula.

Većina metoda koristi predstavljanje integrala kao konačan zbir (kvadraturna formula):

Kvadraturne formule zasnovane su na ideji zamjene grafa integranda na integracijskom intervalu funkcijama jednostavnijeg oblika, koje se lako analitički integriraju i stoga lako izračunavaju. Najjednostavniji zadatak konstruisanja kvadraturnih formula realizuje se za polinomske matematičke modele.

Mogu se razlikovati tri grupe metoda:

1. Metoda sa podjelom segmenta integracije na jednake intervale. Podjela na intervale se vrši unaprijed, obično se intervali biraju jednaki (da bi se lakše izračunala funkcija na krajevima intervala). Izračunajte površine i sabijte ih (metode pravougaonika, trapeza, Simpsona).

2. Metode sa particioniranjem segmenta integracije pomoću posebnih tačaka (Gaussova metoda).

3. Izračunavanje integrala korištenjem slučajnih brojeva (Monte Carlo metoda).

Metoda pravougaonika. Neka je funkcija (crtež) numerički integrirana na segmentu . Segment dijelimo na N jednakih intervala. Površina svakog od N krivolinijskih trapeza može se zamijeniti površinom pravokutnika.

Širina svih pravougaonika je ista i jednaka je:

Kao izbor visine pravokutnika, možete odabrati vrijednost funkcije na lijevoj ivici. U ovom slučaju, visina prvog pravougaonika će biti f(a), drugog će biti f(x 1),…, N-f(N-1).

Ako kao izbor visine pravougaonika uzmemo vrijednost funkcije na desnom rubu, tada će u ovom slučaju visina prvog pravokutnika biti f (x 1), drugog - f (x 2), . .., N - f (x N).

Kao što se može vidjeti, u ovom slučaju jedna od formula daje aproksimaciju integralu sa viškom, a druga s nedostatkom. Postoji još jedan način - koristiti vrijednost funkcije u sredini segmenta integracije za aproksimaciju:

Procjena apsolutne greške metode pravokutnika (sredina)

Procjena apsolutne greške metoda lijevog i desnog pravokutnika.

Primjer. Izračunajte za cijeli interval i podijelite interval na četiri dijela

Rješenje. Analitički proračun ovog integrala daje I=arctg(1)–arctg(0)=0,7853981634. u našem slučaju:

1) h = 1; xo = 0; x1 = 1;

2) h = 0,25 (1/4); x0 = 0; x1 = 0,25; x2 = 0,5; x3 = 0,75; x4 = 1;

Računamo metodom lijevog pravougaonika:

Računamo metodom pravougaonika:

Izračunajte metodom prosječnih pravokutnika:

Trapezoidna metoda. Korišćenjem polinoma prvog stepena za interpolaciju (prava linija povučena kroz dve tačke) dolazi se do formule trapeza. Krajevi segmenta integracije uzimaju se kao interpolacijski čvorovi. Dakle, krivolinijski trapez je zamijenjen običnim trapezom, čija se površina može naći kao proizvod polovine zbira baza i visine

U slučaju N segmenata integracije za sve čvorove, osim za krajnje tačke segmenta, vrijednost funkcije će biti uključena u ukupni zbir dva puta (pošto susjedni trapezi imaju jednu zajedničku stranu)

Formula trapeza se može dobiti uzimanjem polovine zbroja formula pravokutnika duž desne i lijeve ivice segmenta:

Provjera stabilnosti otopine. Po pravilu, što je kraća dužina svakog intervala, tj. što je veći broj ovih intervala, manja je razlika između približnih i tačnih vrijednosti integrala. To vrijedi za većinu funkcija. U trapezoidnoj metodi greška u izračunavanju integrala ϭ je približno proporcionalna kvadratu koraka integracije (ϭ ~ h 2), pa je za izračunavanje integrala određene funkcije u granicama a, b potrebno podijeliti segment na N 0 intervala i pronaći zbir površina trapeza. Zatim morate povećati broj intervala N 1, ponovo izračunati zbroj trapeza i usporediti rezultirajuću vrijednost s prethodnim rezultatom. Ovo treba ponavljati sve dok (N i) dok se ne postigne specificirana tačnost rezultata (kriterijum konvergencije).

Za metode pravokutnika i trapeza, obično u svakom koraku iteracije, broj intervala se povećava za faktor 2 (N i +1 =2N i).

Kriterijum konvergencije:

Glavna prednost trapeznog pravila je njegova jednostavnost. Međutim, ako integracija zahtijeva visoku preciznost, ova metoda može zahtijevati previše iteracija.

Apsolutna greška trapezoidne metode ocijenjeno kao
.

Primjer. Izračunajte približno određeni integral koristeći formulu trapeza.

a) Podjela segmenta integracije na 3 dijela.
b) Podjela segmenta integracije na 5 dijelova.

Rješenje:
a) Po uslovu, segment integracije se mora podijeliti na 3 dijela, tj.
Izračunajte dužinu svakog segmenta particije: .

Dakle, opća formula trapeza svedena je na ugodnu veličinu:

konačno:

Podsjećam vas da je dobivena vrijednost približna vrijednost površine.

b) Integracijski segment dijelimo na 5 jednakih dijelova, tj. povećanjem broja segmenata povećavamo tačnost proračuna.

Ako je , tada formula trapeza ima sljedeći oblik:

Pronađimo korak particioniranja:
, odnosno dužina svakog međusegmenta je 0,6.

Kada završite zadatak, zgodno je sastaviti sve izračune s tablicom proračuna:

U prvom redu pišemo "counter"

Kao rezultat:

Pa, zaista postoji pojašnjenje, i to ozbiljno!
Ako za 3 segmenta particije, onda za 5 segmenata. Ako uzmete još više segmenta => biće još preciznije.

Simpsonova formula. Formula trapeza daje rezultat koji jako zavisi od veličine koraka h, što utiče na tačnost izračunavanja određenog integrala, posebno u slučajevima kada je funkcija nemonotona. Može se pretpostaviti povećanje tačnosti proračuna ako, umjesto segmenata pravih linija koji zamjenjuju krivolinijske fragmente grafa funkcije f(x), koristimo, na primjer, fragmente parabola date kroz tri susjedne točke grafa . Slična geometrijska interpretacija leži u osnovi Simpsonove metode za izračunavanje određenog integrala. Cijeli interval integracije a,b podijeljen je na N segmenata, dužina segmenta će također biti jednaka h=(b-a)/N.

Simpsonova formula je:

ostatak mandata

S povećanjem dužine segmenata, točnost formule se smanjuje, stoga se za povećanje točnosti koristi kompozitna Simpsonova formula. Cijeli interval integracije je podijeljen na paran broj identičnih segmenata N, dužina segmenta će također biti jednaka h=(b-a)/N. Kompozitna Simpsonova formula je:

U formuli, izrazi u zagradama su zbroji vrijednosti integrala, odnosno na krajevima neparnih i parnih unutrašnjih segmenata.

Preostali član Simpsonove formule već je proporcionalan četvrtom stepenu koraka:

primjer: Izračunajte integral koristeći Simpsonovo pravilo. (Tačno rješenje - 0,2)

Gaussova metoda

Gausova kvadraturna formula. Osnovni princip kvadraturnih formula druge varijante vidljiv je sa slike 1.12: potrebno je postaviti tačke na takav način X 0 i X 1 unutar segmenta [ a;b] tako da su površine "trouglova" ukupno jednake površinama "segmenta". Kada se koristi Gaussova formula, početni segment [ a;b] se svodi na interval [-1;1] promjenom varijable X on

0.5∙(ba)∙t+ 0.5∙(b + a).

Onda , Gdje .

Ova zamjena je moguća ako a I b su konačne, a funkcija f(x) je kontinuiran na [ a;b]. Gaussova formula za n bodova x i, i=0,1,..,n-1 unutar segmenta [ a;b]:

, (1.27)

Gdje t i I A i za razne n date su u priručniku. Na primjer, kada n=2 A 0 =A 1=1; at n=3: t 0 =t 2" 0,775, t 1 =0, A 0 =A 2" 0,555, A 1" 0,889.

Gausova kvadraturna formula

dobijeno sa težinskom funkcijom jednakom jedan p(x)= 1 i čvorovi x i, koji su korijeni Legendreovih polinoma

Odds A i lako izračunati po formulama

i=0,1,2,...n.

Vrijednosti čvorova i koeficijenata za n=2,3,4,5 date su u tabeli

Red Čvorovi Odds
n=2 x 1=0 x 0 =-x2=0.7745966692 A 1=8/9 A 0 = A 2=5/9
n=3 x 2 =-x 1=0.3399810436 x 3 =-x0=0.8611363116 A 1 = A 2=0.6521451549 A 0 = A 3=0.6521451549
n=4 x 2 = 0 x 3 = -x 1 = 0.5384693101 x 4 =-x 0 =0.9061798459 A 0 =0.568888899 A 3 =A 1 =0.4786286705 A 0 =A 4 =0.2869268851
n=5 x 5 = -x 0 =0.9324695142 x 4 = -x 1 =0.6612093865 x 3 = -x 2 =0.2386191861 A 5 =A 0 =0.1713244924 A 4 =A 1 =0.3607615730 A 3 =A 2 =0.4679139346

Primjer. Izračunajte vrijednost koristeći Gaussovu formulu za n=2:

Tačna vrijednost: .

Algoritam za izračunavanje integrala prema Gaussovoj formuli ne predviđa udvostručenje broja mikrosegmenata, već povećanje broja ordinata za 1 i poređenje dobivenih vrijednosti integrala. Prednost Gaussove formule je visoka preciznost sa relativno malim brojem ordinata. Nedostaci: nezgodno za ručne proračune; moraju biti pohranjeni u memoriji računara t i, A i za razne n.

Greška Gaussove kvadraturne formule na segmentu će biti istovremeno. Za formulu ostatka člana će biti koeficijent α N brzo opada s rastom N. Evo

Gaussove formule daju visoku tačnost već sa malim brojem čvorova (od 4 do 10).U ovom slučaju, u praktičnim proračunima, broj čvorova se kreće od nekoliko stotina do nekoliko hiljada. Također napominjemo da su težine Gaussovih kvadratura uvijek pozitivne, što osigurava stabilnost algoritma za izračunavanje suma

Gore