Príklad.

Experimentálne údaje o hodnotách premenných X A pri sú uvedené v tabuľke.

V dôsledku ich zarovnania sa získa funkcia

Použitím metóda najmenších štvorcov , aproximovať tieto údaje lineárnou závislosťou y=ax+b(nájdite parametre A A b). Zistite, ktorá z dvoch čiar lepšie (v zmysle metódy najmenších štvorcov) zarovnáva experimentálne údaje. Urobte si kresbu.

Podstata metódy najmenších štvorcov (LSM).

Úlohou je nájsť koeficienty lineárna závislosť, pre ktoré je funkcia dvoch premenných A A b prijíma najmenšia hodnota. Teda daný A A b súčet štvorcových odchýlok experimentálnych údajov od nájdenej priamky bude najmenší. Toto je celý zmysel metódy najmenších štvorcov.

Riešenie príkladu teda vedie k nájdeniu extrému funkcie dvoch premenných.

Odvodzovacie vzorce na hľadanie koeficientov.

Zostaví sa a vyrieši systém dvoch rovníc s dvoma neznámymi. Hľadanie parciálnych derivácií funkcie vzhľadom na premenné A A b, prirovnávame tieto deriváty k nule.

Výslednú sústavu rovníc riešime ľubovoľnou metódou (napr substitučnou metódou alebo ) a získajte vzorce na hľadanie koeficientov pomocou metódy najmenších štvorcov (LSM).

Dané A A b funkciu má najmenšiu hodnotu. Dôkaz o tejto skutočnosti je uvedený.

To je celá metóda najmenších štvorcov. Vzorec na nájdenie parametra a obsahuje súčty , , a parameter n- množstvo experimentálnych údajov. Hodnoty týchto súm odporúčame vypočítať samostatne. Koeficient b zistené po výpočte a.

Je čas pripomenúť si pôvodný príklad.

Riešenie.

V našom príklade n=5. Tabuľku vypĺňame pre pohodlie výpočtu súm, ktoré sú zahrnuté vo vzorcoch požadovaných koeficientov.

Hodnoty vo štvrtom riadku tabuľky sa získajú vynásobením hodnôt v 2. riadku hodnotami v 3. riadku pre každé číslo i.

Hodnoty v piatom riadku tabuľky sa získajú umocnením hodnôt v 2. riadku pre každé číslo i.

Hodnoty v poslednom stĺpci tabuľky sú súčty hodnôt v riadkoch.

Na zistenie koeficientov používame vzorce metódy najmenších štvorcov A A b. Do nich nahradíme zodpovedajúce hodnoty z posledného stĺpca tabuľky:

teda y = 0,165 x + 2,184- požadovaná približná priamka.

Zostáva zistiť, ktorý z riadkov y = 0,165 x + 2,184 alebo lepšie aproximuje pôvodné údaje, to znamená robí odhad pomocou metódy najmenších štvorcov.

Odhad chyby metódy najmenších štvorcov.

Aby ste to dosiahli, musíte vypočítať súčet štvorcových odchýlok pôvodných údajov z týchto riadkov A , menšia hodnota zodpovedá riadku, ktorý sa lepšie približuje pôvodným údajom v zmysle metódy najmenších štvorcov.

Od , potom rovno y = 0,165 x + 2,184 lepšie sa približuje pôvodným údajom.

Grafické znázornenie metódy najmenších štvorcov (LS).

Všetko je jasne viditeľné na grafoch. Červená čiara je nájdená priamka y = 0,165 x + 2,184, modrá čiara je , ružové bodky sú pôvodné údaje.

Prečo je to potrebné, prečo všetky tieto aproximácie?

Osobne ho používam na riešenie problémov vyhladzovania údajov, interpolácie a extrapolácie (v pôvodnom príklade môžu byť požiadaní, aby našli hodnotu pozorovanej hodnoty r pri x=3 alebo kedy x=6 pomocou metódy najmenších štvorcov). Ale o tom si povieme viac neskôr v inej časti webu.

Dôkaz.

Takže keď sa nájde A A b funkcia nadobúda najmenšiu hodnotu, je potrebné, aby v tomto bode bola matica kvadratického tvaru diferenciálu druhého rádu pre funkciu bol pozitívny jednoznačný. Ukážme to.

Aproximácia experimentálnych údajov je metóda založená na nahradení experimentálne získaných údajov analytickou funkciou, ktorá sa v uzlových bodoch najviac zhoduje s pôvodnými hodnotami (údaje získané počas experimentu alebo experimentu). V súčasnosti existujú dva spôsoby, ako definovať analytickú funkciu:

Zostrojením n-stupňového interpolačného polynómu, ktorý prejde priamo cez všetky body dané dátové pole. V tomto prípade je aproximačná funkcia prezentovaná vo forme: interpolačného polynómu v Lagrangeovom tvare alebo interpolačného polynómu v Newtonovom tvare.

Zostrojením n-stupňového aproximačného polynómu, ktorý prejde v bezprostrednej blízkosti bodov z daného dátového poľa. Aproximačná funkcia teda vyhladzuje všetok náhodný šum (alebo chyby), ktoré môžu vzniknúť počas experimentu: namerané hodnoty počas experimentu závisia od náhodných faktorov, ktoré kolíšu podľa vlastných náhodných zákonov (chyby merania alebo prístroja, nepresnosť alebo experimentálne chyby). V tomto prípade je aproximačná funkcia určená metódou najmenších štvorcov.

Metóda najmenších štvorcov(v anglickej literatúre Ordinary Least Squares, OLS) je matematická metóda založená na určení aproximačnej funkcie, ktorá je zostrojená v tesnej blízkosti bodov z daného poľa experimentálnych údajov. Blízkosť pôvodnej a aproximačnej funkcie F(x) je určená numerickou mierou, a to: súčet kvadrátov odchýlok experimentálnych dát od aproximačnej krivky F(x) by mal byť najmenší.

Aproximačná krivka vytvorená metódou najmenších štvorcov

Používa sa metóda najmenších štvorcov:

Riešiť preurčené sústavy rovníc, keď počet rovníc presahuje počet neznámych;

Nájsť riešenie v prípade obyčajných (nie preurčených) nelineárnych sústav rovníc;

Na aproximáciu bodových hodnôt pomocou nejakej aproximačnej funkcie.

Aproximačná funkcia pomocou metódy najmenších štvorcov je určená z podmienky minimálneho súčtu štvorcových odchýlok vypočítanej aproximačnej funkcie z daného poľa experimentálnych dát. Toto kritérium metódy najmenších štvorcov je napísané ako nasledujúci výraz:

Hodnoty vypočítanej aproximačnej funkcie v uzlových bodoch,

Dané pole experimentálnych údajov v uzlových bodoch.

Kvadratické kritérium má množstvo „dobrých“ vlastností, ako je diferencovateľnosť, ktorá poskytuje jedinečné riešenie aproximačného problému s polynomiálnymi aproximačnými funkciami.

V závislosti od podmienok úlohy je aproximačná funkcia polynóm stupňa m

Stupeň aproximačnej funkcie nezávisí od počtu uzlových bodov, ale jej rozmer musí byť vždy menší ako rozmer (počet bodov) daného experimentálneho dátového poľa.

∙ Ak je stupeň aproximačnej funkcie m=1, tak tabuľkovú funkciu aproximujeme priamkou (lineárna regresia).

∙ Ak je stupeň aproximačnej funkcie m=2, tak tabuľkovú funkciu aproximujeme kvadratickou parabolou (kvadratická aproximácia).

∙ Ak je stupeň aproximačnej funkcie m=3, tak tabuľkovú funkciu aproximujeme kubickou parabolou (kubickou aproximáciou).

IN všeobecný prípad, keď je potrebné zostrojiť aproximačný polynóm stupňa m pre dané tabuľkové hodnoty, podmienka pre minimum súčtu kvadrátov odchýlok nad všetkými uzlovými bodmi sa prepíše do tohto tvaru:

- neznáme koeficienty aproximačného polynómu stupňa m;

Počet zadaných hodnôt tabuľky.

Nevyhnutnou podmienkou existencie minima funkcie je nulová rovnosť jej parciálnych derivácií vzhľadom na neznáme premenné . V dôsledku toho dostaneme nasledujúci systém rovnice:

Transformujme výsledný lineárny systém rovníc: otvorte zátvorky a presuňte voľné členy na pravú stranu výrazu. Výsledný systém lineárny algebraické výrazy bude napísaný v tejto forme:

Tento systém lineárne algebraické výrazy možno prepísať do maticovej formy:

Výsledkom bola sústava lineárnych rovníc rozmeru m+1, ktorá pozostáva z m+1 neznámych. Tento systém je možné riešiť pomocou ľubovoľnej metódy na riešenie lineárnych algebraických rovníc (napríklad Gaussova metóda). V dôsledku riešenia sa nájdu neznáme parametre aproximačnej funkcie, ktoré poskytujú minimálny súčet kvadrátov odchýlok aproximačnej funkcie od pôvodných údajov, t.j. najlepšia možná kvadratická aproximácia. Malo by sa pamätať na to, že ak sa zmení čo i len jedna hodnota zdrojových údajov, všetky koeficienty zmenia svoje hodnoty, pretože sú úplne určené zdrojovými údajmi.

Aproximácia zdrojových údajov lineárnou závislosťou

(lineárna regresia)

Ako príklad uvažujme techniku ​​na určenie aproximačnej funkcie, ktorá je špecifikovaná vo forme lineárnej závislosti. V súlade s metódou najmenších štvorcov sa podmienka pre minimum súčtu odchýlok štvorcových zapisuje v nasledujúcom tvare:

Súradnice uzlov tabuľky;

Neznáme koeficienty aproximačnej funkcie, ktorá je špecifikovaná ako lineárna závislosť.

Nevyhnutnou podmienkou existencie minima funkcie je nulová rovnosť jej parciálnych derivácií vzhľadom na neznáme premenné. Výsledkom je nasledujúci systém rovníc:

Transformujme výsledný lineárny systém rovníc.

Výslednú sústavu lineárnych rovníc riešime. Koeficienty aproximačnej funkcie v analytickej forme sa určujú takto (Cramerova metóda):

Tieto koeficienty zabezpečujú konštrukciu lineárnej aproximačnej funkcie v súlade s kritériom minimalizácie súčtu štvorcov aproximačnej funkcie z daných tabuľkových hodnôt (experimentálne dáta).

Algoritmus na implementáciu metódy najmenších štvorcov

1. Počiatočné údaje:

Je špecifikované pole experimentálnych údajov s počtom meraní N

Je špecifikovaný stupeň aproximačného polynómu (m).

2. Algoritmus výpočtu:

2.1. Koeficienty sú určené na zostavenie sústavy rovníc s rozmermi

Koeficienty sústavy rovníc (ľavá strana rovnice)

- index čísla stĺpca štvorcovej matice sústavy rovníc

Voľné členy sústavy lineárnych rovníc (pravá strana rovnice)

- index čísla riadku štvorcovej matice sústavy rovníc

2.2. Zostavenie sústavy lineárnych rovníc s dimenziou .

2.3. Riešenie sústavy lineárnych rovníc na určenie neznámych koeficientov aproximačného polynómu stupňa m.

2.4. Určenie súčtu štvorcových odchýlok aproximačného polynómu od pôvodných hodnôt vo všetkých uzlových bodoch

Nájdená hodnota súčtu kvadrátov odchýlok je minimálna možná hodnota.

Aproximácia pomocou iných funkcií

Treba poznamenať, že pri aproximácii pôvodných údajov metódou najmenších štvorcov sa niekedy ako aproximačná funkcia používa logaritmická funkcia, exponenciálna funkcia a mocninná funkcia.

Logaritmická aproximácia

Uvažujme prípad, keď je daná aproximačná funkcia logaritmická funkcia typ:

Po zvolení typu regresnej funkcie, t.j. typ uvažovaného modelu závislosti Y na X (alebo X na Y), napríklad lineárny model y x =a+bx, je potrebné určiť konkrétne hodnoty koeficientov modelu.

O rôzne významy a a b, môžete zostrojiť nekonečný počet závislostí tvaru y x =a+bx, t.j. na rovine súradníc je nekonečný počet priamych čiar, ale potrebujeme závislosť, ktorá zodpovedá pozorovaným hodnotám. najlepšia cesta. Úloha teda spočíva na výbere najlepších koeficientov.

Lineárnu funkciu a+bx hľadáme len na základe určitého počtu dostupných pozorovaní. Na nájdenie funkcie, ktorá najlepšie zodpovedá pozorovaným hodnotám, používame metódu najmenších štvorcov.

Označme: Y i - hodnota vypočítaná rovnicou Y i =a+bx i. y i - nameraná hodnota, ε i =y i -Y i - rozdiel medzi nameranými a vypočítanými hodnotami pomocou rovnice, ε i =y i -a-bx i .

Metóda najmenších štvorcov vyžaduje, aby ε i, rozdiel medzi nameraným y i a hodnotami Y i vypočítanými z rovnice, bol minimálny. Preto nájdeme koeficienty a a b tak, aby súčet druhých mocnín odchýlok pozorovaných hodnôt od hodnôt na priamej regresnej čiare bol najmenší:

Skúmaním tejto funkcie argumentov a a pre extrém pomocou derivácií môžeme dokázať, že funkcia nadobúda minimálnu hodnotu, ak sú koeficienty a a b riešením systému:

(2)

Ak obe strany normálnych rovníc vydelíme n, dostaneme:

Zvažujem to (3)

Dostaneme , odtiaľ dosadením hodnoty a do prvej rovnice dostaneme:

V tomto prípade sa b nazýva regresný koeficient; a sa nazýva voľný člen regresnej rovnice a vypočíta sa pomocou vzorca:

Výsledná priamka je odhadom pre teoretickú regresnú priamku. Máme:

takže, je lineárna regresná rovnica.

Regresia môže byť priama (b>0) a reverzná (b Príklad 1. Výsledky merania hodnôt X a Y sú uvedené v tabuľke:

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

Za predpokladu, že medzi X a Y existuje lineárny vzťah y=a+bx, určte koeficienty a a b pomocou metódy najmenších štvorcov.

Riešenie. Tu n=5
x i = -2+0+1+2+4=5;
x i2 = 4+0+1+4+16=25
x i y i =-2 0,5+0 1+1 1,5+2 2+4 3=16,5
yi = 0,5 + 1 + 1,5 + 2 + 3 = 8

a normálny systém (2) má tvar

Vyriešením tejto sústavy dostaneme: b=0,425, a=1,175. Preto y=1,175+0,425x.

Príklad 2. Existuje vzorka 10 pozorovaní ekonomické ukazovatele(X) a (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

Musíte nájsť vzorovú regresnú rovnicu Y na X. Zostrojte vzorovú regresnú priamku Y na X.

Riešenie. 1. Zoraďme údaje podľa hodnôt x i a y i . Dostávame novú tabuľku:

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

Pre zjednodušenie výpočtov zostavíme výpočtovú tabuľku, do ktorej zadáme potrebné číselné hodnoty.

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 i2 = 29910,5 xy=30469,6

Podľa vzorca (4) vypočítame regresný koeficient

a podľa vzorca (5)

Vzorová regresná rovnica je teda y=-59,34+1,3804x.
Vynesme body (x i ; y i) na súradnicovú rovinu a označme regresnú priamku.


Obr

Obrázok 4 ukazuje, ako sú pozorované hodnoty umiestnené vzhľadom na regresnú čiaru. Na numerické posúdenie odchýlok y i od Y i, kde y i sú pozorované a Y i sú hodnoty určené regresiou, vytvoríme tabuľku:

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

Hodnoty Yi sa vypočítajú podľa regresnej rovnice.

Znateľná odchýlka niektorých pozorovaných hodnôt od regresnej priamky sa vysvetľuje malým počtom pozorovaní. Pri štúdiu stupňa lineárnej závislosti Y na X sa berie do úvahy počet pozorovaní. Sila závislosti je určená hodnotou korelačného koeficientu.

Ktorá nachádza najširšie uplatnenie v rôznych oblastiach vedecké a praktické činnosti. Môže to byť fyzika, chémia, biológia, ekonómia, sociológia, psychológia a tak ďalej a tak ďalej. Z vôle osudu sa často musím popasovať s ekonomikou, a preto vám dnes sprostredkujem výlet do úžasnej krajiny tzv. Ekonometria=) ...Ako to nechceš?! Je to tam veľmi dobré – stačí sa rozhodnúť! ...Ale to, čo asi určite chcete, je naučiť sa riešiť problémy metóda najmenších štvorcov. A hlavne pilní čitatelia sa ich naučia riešiť nielen presne, ale aj VEĽMI RÝCHLO ;-) Ale najprv všeobecné vyjadrenie problému+ sprievodný príklad:

Pozrime sa na ukazovatele v určitej tematickej oblasti, ktoré majú kvantitatívne vyjadrenie. Zároveň existujú všetky dôvody domnievať sa, že ukazovateľ závisí od ukazovateľa. Tento predpoklad môže byť buď vedecká hypotéza alebo založená na elementárnom základe zdravý rozum. Nechajme však vedu bokom a preskúmajme chutnejšie oblasti – menovite obchody s potravinami. Označme podľa:

– predajná plocha predajne potravín, m2,
– ročný obrat obchodu s potravinami, milióny rubľov.

Je úplne jasné, že čím väčšia je plocha predajne, tým väčší bude vo väčšine prípadov jej obrat.

Predpokladajme, že po vykonaní pozorovaní/experimentov/výpočtov/tancov s tamburínou máme k dispozícii číselné údaje:

Pri obchodoch s potravinami je myslím všetko jasné: - toto je plocha 1. predajne, - jej ročný obrat, - plocha 2. predajne, - jej ročný obrat atď. Mimochodom, vôbec nie je potrebné mať prístup k utajovaným materiálom - pomerne presné posúdenie obchodného obratu je možné získať pomocou matematickej štatistiky. Nenechajme sa však rozptyľovať, kurz komerčnej špionáže je už zaplatený =)

Tabuľkové údaje môžu byť tiež zapísané vo forme bodov a zobrazené v známej forme karteziánsky systém .

Odpovedzme si na dôležitú otázku: koľko bodov je potrebných kvalitatívny výskum?

Čím väčšie, tým lepšie. Minimálna prijateľná sada pozostáva z 5-6 bodov. Navyše, ak nie veľké množstváúdaje, „anomálne“ výsledky nemožno zahrnúť do vzorky. Takže napríklad malý elitný obchod môže zarobiť rádovo viac ako „jeho kolegovia“, čím skresľuje všeobecný vzor, čo musíte nájsť!

Veľmi zjednodušene povedané, musíme vybrať funkciu, harmonogram ktorý prechádza čo najbližšie k bodom . Táto funkcia sa nazýva aproximácia (aproximácia - aproximácia) alebo teoretická funkcia . Vo všeobecnosti sa tu okamžite objaví zjavný „uchádzač“ - polynóm vysoký stupeň, ktorej graf prechádza VŠETKÝMI bodmi. Táto možnosť je však komplikovaná a často jednoducho nesprávna. (keďže graf sa bude neustále „zacykliť“ a zle odráža hlavný trend).

Hľadaná funkcia teda musí byť celkom jednoduchá a zároveň primerane odrážať závislosť. Ako asi tušíte, jedna z metód na nájdenie takýchto funkcií je tzv metóda najmenších štvorcov. Najprv sa pozrime na jeho podstatu všeobecný pohľad. Nech nejaká funkcia aproximuje experimentálne údaje:


Ako vyhodnotiť presnosť tejto aproximácie? Vypočítajme aj rozdiely (odchýlky) medzi experimentálnymi a funkčnými hodnotami (študujeme kresbu). Prvá myšlienka, ktorá príde na myseľ, je odhadnúť, aká veľká je suma, ale problém je v tom, že rozdiely môžu byť negatívne (Napríklad, ) a odchýlky v dôsledku takéhoto súčtu sa navzájom vyrušia. Preto ako odhad presnosti aproximácie treba brať súčet modulov odchýlky:

alebo zbalené: (pre prípad, že by niekto nevedel: – toto je ikona súčtu a – pomocná premenná „počítadlo“, ktorá nadobúda hodnoty od 1 do ).

Aproximáciou experimentálnych bodov s rôznymi funkciami získame rôzne významy a samozrejme, ak je toto množstvo menšie, je táto funkcia presnejšia.

Takáto metóda existuje a je tzv metóda najmenšieho modulu. V praxi sa však výrazne rozšíril metóda najmenších štvorcov, v ktorom je to možné záporné hodnoty sú eliminované nie modulom, ale kvadratúrou odchýlok:

, po ktorom sú snahy zamerané na výber funkcie takej, že súčet štvorcových odchýlok bol čo najmenší. V skutočnosti odtiaľ pochádza názov metódy.

A teraz sa vrátime k niečomu inému dôležitý bod: ako je uvedené vyššie, zvolená funkcia by mala byť pomerne jednoduchá - existuje však aj veľa takýchto funkcií: lineárne , hyperbolický, exponenciálny, logaritmický, kvadratický atď. A, samozrejme, tu by som chcel okamžite „zmenšiť pole pôsobnosti“. Ktorú triedu funkcií by som si mal vybrať pre výskum? Primitívna, ale účinná technika:

– Najjednoduchší spôsob je znázorniť body na výkrese a analyzovať ich umiestnenie. Ak majú tendenciu bežať v priamej línii, mali by ste hľadať rovnica priamky s optimálnymi hodnotami a . Inými slovami, úlohou je nájsť TAKÉ koeficienty, aby súčet kvadrátov odchýlok bol najmenší.

Ak sú body umiestnené napr hyperbola, potom je samozrejme jasné, že lineárna funkcia poskytne zlú aproximáciu. V tomto prípade hľadáme „najpriaznivejšie“ koeficienty pre rovnicu hyperboly – tie, ktoré dávajú minimálny súčet štvorcov .

Teraz si všimnite, že v oboch prípadoch hovoríme o funkcie dvoch premenných, ktorých argumenty sú vyhľadávané parametre závislosti:

A v podstate potrebujeme vyriešiť štandardný problém – nájsť minimálna funkcia dvoch premenných.

Spomeňme si na náš príklad: predpokladajme, že „ukladacie“ body majú tendenciu byť umiestnené v priamke a existujú všetky dôvody domnievať sa, že lineárna závislosť obrat z maloobchodných priestorov. Nájdite TAKÉTO koeficienty „a“ ​​a „be“ také, že sú to súčet kvadrátov odchýlok bol najmenší. Všetko je ako obvykle - prvé Parciálne deriváty 1. rádu. Podľa pravidlo linearity Priamo pod ikonou sumy môžete rozlišovať:

Ak chcete tieto informácie použiť na esej alebo semestrálnu prácu, budem veľmi vďačný za odkaz v zozname zdrojov, takéto podrobné výpočty nájdete málokde:

Vytvorme štandardný systém:

Každú rovnicu znížime o „dve“ a navyše „rozdelíme“ súčty:

Poznámka : nezávisle analyzovať, prečo je možné „a“ a „byť“ vyňať za ikonu súčtu. Mimochodom, formálne sa to dá urobiť so sumou

Prepíšme systém do „aplikovanej“ formy:

po ktorom sa začína objavovať algoritmus na riešenie nášho problému:

Poznáme súradnice bodov? Vieme. čiastky môžeme to nájsť? Jednoducho. Urobme to najjednoduchšie sústava dvoch lineárnych rovníc o dvoch neznámych(„a“ a „byť“). Systém riešime napr. Cramerova metóda, v dôsledku čoho získame stacionárny bod. Kontrola postačujúca podmienka pre extrém, môžeme overiť, že v tomto bode je funkcia dosiahne presne minimálne. Kontrola zahŕňa dodatočné výpočty, a preto ju necháme v zákulisí (v prípade potreby je možné zobraziť chýbajúci rám). Vyvodzujeme konečný záver:

Funkcia najlepšia cesta (aspoň v porovnaní s akoukoľvek inou lineárnou funkciou) približuje experimentálne body . Zhruba povedané, jeho graf prechádza čo najbližšie k týmto bodom. V tradícii ekonometrie sa nazýva aj výsledná aproximačná funkcia párová lineárna regresná rovnica .

Uvažovaný problém má veľký praktický význam. V našej príkladnej situácii, Eq. umožňuje predpovedať, aký obchodný obrat ("Igrek") obchod bude mať jednu alebo druhú hodnotu predajnej plochy (jeden alebo iný význam „x“). Áno, výsledná predpoveď bude len predpoveďou, no v mnohých prípadoch sa ukáže ako celkom presná.

Budem analyzovať iba jeden problém so „skutočnými“ číslami, pretože v ňom nie sú žiadne ťažkosti - všetky výpočty sú na úrovni školské osnovy 7-8 ročníkov. V 95 percentách prípadov budete vyzvaní, aby ste našli len lineárnu funkciu, ale na samom konci článku ukážem, že nájsť rovnice optimálnej hyperboly, exponenciálnej a niektorých ďalších funkcií nie je o nič ťažšie.

Vlastne ostáva už len rozdávať sľúbené dobroty – aby ste sa takéto príklady naučili riešiť nielen presne, ale aj rýchlo. Starostlivo študujeme štandard:

Úloha

Ako výsledok štúdia vzťahu medzi dvoma ukazovateľmi sa získali nasledujúce dvojice čísel:

Pomocou metódy najmenších štvorcov nájdite lineárnu funkciu, ktorá najlepšie aproximuje empirickú funkciu (skúsený)údajov. Urobte výkres, v ktorom v karteziánskom jazyku pravouhlý systém súradnice, zostrojte experimentálne body a graf aproximačnej funkcie . Nájdite súčet štvorcových odchýlok medzi empirickými a teoretickými hodnotami. Zistite, či by funkcia bola lepšia (z pohľadu metódy najmenších štvorcov) priblížiť experimentálne body.

Upozorňujeme, že význam „x“ je prirodzený a má charakteristický zmysluplný význam, o ktorom budem hovoriť o niečo neskôr; ale, samozrejme, môžu byť aj zlomkové. Okrem toho v závislosti od obsahu konkrétnej úlohy môžu byť hodnoty „X“ aj „hra“ úplne alebo čiastočne negatívne. Dostali sme „netvárnu“ úlohu a začíname s ňou Riešenie:

Nájdeme koeficienty optimálnej funkcie ako riešenie systému:

Pre účely kompaktnejšieho záznamu možno premennú „counter“ vynechať, pretože už je jasné, že sčítanie sa vykonáva od 1 do .

Je vhodnejšie vypočítať požadované množstvá v tabuľkovej forme:


Výpočty je možné vykonávať na mikrokalkulačke, ale oveľa lepšie je použiť Excel - rýchlejšie a bez chýb; pozrite si krátke video:

Dostávame teda nasledovné systému:

Tu môžete vynásobiť druhú rovnicu 3 a odčítajte 2. od 1. rovnice člen po člene. Ale to je šťastie - v praxi systémy často nie sú darom a v takýchto prípadoch šetrí Cramerova metóda:
, čo znamená, že systém má jedinečné riešenie.

Skontrolujme to. Chápem, že to nechcete, ale prečo preskakovať chyby tam, kde ich absolútne nemožno vynechať? Nájdené riešenie dosadíme na ľavú stranu každej rovnice systému:

Získajú sa pravé strany zodpovedajúcich rovníc, čo znamená, že systém je vyriešený správne.

Požadovaná aproximačná funkcia: – od každý lineárne funkcie Je to ona, ktorá najlepšie aproximuje experimentálne údaje.

Na rozdiel od rovno závislosť obratu predajne od jej plochy, zistená závislosť je obrátene (zásada „čím viac, tým menej“), a túto skutočnosť okamžite odhalí negatív sklon. Funkcia nám hovorí, že so zvýšením určitého ukazovateľa o 1 jednotku sa hodnota závislého ukazovateľa znižuje priemer o 0,65 jednotky. Ako sa hovorí, čím vyššia je cena pohánky, tým menej sa predáva.

Na vykreslenie grafu aproximačnej funkcie nájdeme jej dve hodnoty:

a vykonajte kreslenie:


Zostrojená priamka je tzv trendová čiara (konkrétne lineárna trendová čiara, t. j. vo všeobecnom prípade trend nemusí byť nevyhnutne priamka). Každý pozná výraz „byť v trende“ a myslím si, že tento výraz nepotrebuje ďalšie komentáre.

Vypočítajme súčet štvorcových odchýlok medzi empirickými a teoretickými hodnotami. Geometricky je to súčet druhých mocnín dĺžok „malinových“ segmentov (dve z nich sú také malé, že ich ani nevidno).

Zhrňme si výpočty do tabuľky:


Opäť sa dajú urobiť ručne; pre každý prípad uvediem príklad pre 1. bod:

ale oveľa efektívnejšie je to urobiť už známym spôsobom:

Opakujeme ešte raz: Aký je význam získaného výsledku? Od všetky lineárne funkcie y funkciu ukazovateľ je najmenší, to znamená, že vo svojej rodine je to najlepšia aproximácia. A tu, mimochodom, posledná otázka problému nie je náhodná: čo ak navrhovaná exponenciálna funkcia bolo by lepšie priblížiť experimentálne body?

Nájdite zodpovedajúci súčet štvorcových odchýlok - na rozlíšenie ich označím písmenom „epsilon“. Technika je úplne rovnaká:


A ešte raz, pre každý prípad, výpočty pre 1. bod:

V Exceli používame štandardnú funkciu EXP (syntax nájdete v Pomocníkovi programu Excel).

Záver: , čo znamená, že exponenciálna funkcia aproximuje experimentálne body horšie ako priamka .

Tu však treba poznamenať, že „horšie“ je ešte neznamená, čo je zle. Teraz som vytvoril graf tejto exponenciálnej funkcie - a tiež prechádza blízko k bodom - natoľko, že bez analytického výskumu je ťažké povedať, ktorá funkcia je presnejšia.

Toto uzatvára riešenie a vraciam sa k otázke prirodzených hodnôt argumentu. V rôznych štúdiách, zvyčajne ekonomických alebo sociologických, sa prirodzené „X“ používajú na číslovanie mesiacov, rokov alebo iných rovnakých časových intervalov. Zvážte napríklad nasledujúci problém.

Som matematik a programátor. Väčšina veľký skok vo svojej kariére som dosiahol, keď som sa naučil hovoriť: "Ničomu nerozumiem!" Teraz sa nehanbím povedať svetlu vedy, že mi prednáša, že nerozumiem tomu, čo mi on, svetlica, hovorí. A je to veľmi ťažké. Áno, priznať svoju nevedomosť je ťažké a trápne. Kto sa rád prizná, že o niečom nevie základné veci? Vzhľadom na moje povolanie musím absolvovať veľké množstvo prezentácií a prednášok, kde sa mi, priznám sa, v drvivej väčšine prípadov chce spať, lebo ničomu nerozumiem. Ale nerozumiem, pretože obrovský problém súčasnej situácie vo vede spočíva v matematike. Predpokladá, že všetci poslucháči poznajú absolútne všetky oblasti matematiky (čo je absurdné). Priznanie, že neviete, čo je to derivát (o tom si povieme trochu neskôr), je hanebné.

Ale naučil som sa povedať, že neviem, čo je násobenie. Áno, neviem, čo je subalgebra nad Lieovou algebrou. Áno, neviem, prečo sú v živote potrebné kvadratické rovnice. Mimochodom, ak ste si istí, že viete, potom sa máme o čom rozprávať! Matematika je séria trikov. Matematici sa snažia zmiasť a zastrašiť verejnosť; kde nie je zmätok, nie je povesť, niet autority. Áno, je prestížne hovoriť čo najabstraktnejším jazykom, čo je úplný nezmysel.

Viete, čo je derivát? S najväčšou pravdepodobnosťou mi poviete o hranici rozdielového pomeru. V prvom ročníku matematiky a mechaniky na Petrohradskej štátnej univerzite mi Viktor Petrovič Chavin povedal určený derivácia ako koeficient prvého člena Taylorovho radu funkcie v bode (to bola samostatná gymnastika na určenie Taylorovho radu bez derivácií). Dlho som sa na tejto definícii smial, až som konečne pochopil, o čo ide. Derivácia nie je ničím iným ako jednoduchým meradlom toho, ako podobná je funkcia, ktorú derivujeme, funkcii y=x, y=x^2, y=x^3.

Teraz mám tú česť prednášať študentom, ktorí strach matematiky. Ak sa bojíte matematiky, sme na rovnakej ceste. Akonáhle sa pokúsite prečítať nejaký text a bude sa vám zdať, že je prehnane komplikovaný, tak vedzte, že je napísaný zle. Tvrdím, že neexistuje jediná oblasť matematiky, o ktorej by sa nedalo diskutovať „na prstoch“ bez straty presnosti.

Zadanie na blízku budúcnosť: Zadal som svojim študentom, aby pochopili, čo je lineárny kvadratický regulátor. Nehanbite sa, strávte tri minúty svojho života a nasledujte odkaz. Ak niečomu nerozumiete, sme na rovnakej ceste. Ja (profesionálny matematik-programátor) som tiež ničomu nerozumel. A uisťujem vás, že to zistíte „na prstoch“. Zapnuté tento moment Neviem, čím to je, ale uisťujem vás, že na to prídeme.

Takže prvá prednáška, ktorú dám svojim študentom po tom, čo ku mne s hrôzou pribehnú a povedia, že lineárno-kvadratický regulátor je hrozná vec, ktorú nikdy v živote nezvládnete, je metódy najmenších štvorcov. Môžete sa rozhodnúť lineárne rovnice? Ak čítate tento text, tak s najväčšou pravdepodobnosťou nie.

Takže ak sú dané dva body (x0, y0), (x1, y1), napríklad (1,1) a (3,2), úlohou je nájsť rovnicu priamky prechádzajúcej týmito dvoma bodmi:

ilustrácie

Tento riadok by mal mať takúto rovnicu:

Alfa a beta sú nám neznáme, ale známe sú dva body tejto čiary:

Túto rovnicu môžeme zapísať v maticovom tvare:

Tu by sme mali urobiť lyrickú odbočku: čo je matrica? Matica nie je nič iné ako dvojrozmerné pole. Toto je spôsob ukladania údajov, ktorému by sa nemali pripisovať žiadne ďalšie významy. Záleží na nás, ako presne interpretovať určitú maticu. Periodicky to budem interpretovať ako lineárne zobrazenie, periodicky ako kvadratickú formu a niekedy jednoducho ako množinu vektorov. Toto všetko bude objasnené v kontexte.

Nahraďme konkrétne matice ich symbolickou reprezentáciou:

Potom (alfa, beta) možno ľahko nájsť:

Konkrétnejšie pre naše predchádzajúce údaje:

Čo vedie k nasledujúcej rovnici priamky prechádzajúcej bodmi (1,1) a (3,2):

Dobre, tu je všetko jasné. Poďme nájsť rovnicu priamky, ktorá prechádza tri body: (x0,y0), (x1,y1) a (x2,y2):

Oh-och-och, ale máme tri rovnice pre dve neznáme! Štandardný matematik povie, že neexistuje žiadne riešenie. Čo povie programátor? A najprv prepíše predchádzajúci systém rovníc v nasledujúcom tvare:

V našom prípade sú vektory i, j, b trojrozmerné, preto (vo všeobecnom prípade) neexistuje riešenie tohto systému. Akýkoľvek vektor (alpha\*i + beta\*j) leží v rovine preklenutej vektormi (i, j). Ak b do tejto roviny nepatrí, potom neexistuje riešenie (v rovnici sa nedá dosiahnuť rovnosť). Čo robiť? Hľadajme kompromis. Označme podľa e (alfa, beta) presne ako ďaleko sme nedosiahli rovnosť:

A túto chybu sa pokúsime minimalizovať:

Prečo štvorcový?

Hľadáme nielen minimum normy, ale aj minimum druhej mocniny normy. prečo? Samotný minimálny bod sa zhoduje a štvorec dáva hladkú funkciu (kvadratická funkcia argumentov (alfa, beta)), zatiaľ čo jednoducho dĺžka dáva funkciu v tvare kužeľa, nediferencovateľnú v minimálnom bode. Brr. Štvorec je pohodlnejší.

Je zrejmé, že chyba je minimalizovaná, keď vektor e ortogonálne k rovine preklenutej vektormi i A j.

Ilustračné

Inými slovami: hľadáme priamku takú, že súčet štvorcových dĺžok vzdialeností od všetkých bodov k tejto priamke je minimálny:

AKTUALIZÁCIA: Mám tu problém, vzdialenosť k priamke by sa mala merať vertikálne, nie ortogonálna projekcia. Komentátor má pravdu.

Ilustračné

Úplne inými slovami (opatrne, zle formalizované, ale malo by to byť jasné): vezmeme všetky možné čiary medzi všetkými pármi bodov a hľadáme priemernú čiaru medzi všetkými:

Ilustračné

Ďalšie vysvetlenie je jednoduché: medzi všetky dátové body (tu máme tri) a priamku, ktorú hľadáme, pripojíme pružinu a priamka rovnovážneho stavu je presne to, čo hľadáme.

Minimálny kvadratický tvar

Takže vzhľadom na tento vektor b a rovinu preklenutú stĺpcovými vektormi matice A(v tomto prípade (x0,x1,x2) a (1,1,1)), hľadáme vektor e s minimálnou štvorcovou dĺžkou. Je zrejmé, že minimum je dosiahnuteľné len pre vektor e, ortogonálne k rovine preklenutej stĺpcovými vektormi matice A:

Inými slovami, hľadáme vektor x=(alfa, beta) taký, že:

Pripomínam, že tento vektor x=(alfa, beta) je minimum kvadratickej funkcie||e(alfa, beta)||^2:

Tu by bolo užitočné pripomenúť, že maticu možno interpretovať aj ako kvadratickú formu, napríklad maticu identity ((1,0),(0,1)) možno interpretovať ako funkciu x^2 + y^ 2:

kvadratická forma

Celá táto gymnastika je známa pod názvom lineárna regresia.

Laplaceova rovnica s Dirichletovou okrajovou podmienkou

Teraz najjednoduchšia skutočná úloha: existuje určitý trojuholníkový povrch, je potrebné ho vyhladiť. Napríklad načítajme model mojej tváre:

Pôvodný záväzok je k dispozícii. Na minimalizáciu vonkajšie závislosti Vzal som si kód môjho softvérového renderera, už na Habré. Pre riešenia lineárny systém Používam OpenNL, je to výborný riešič, ktorý sa však veľmi ťažko inštaluje: treba skopírovať dva súbory (.h+.c) do priečinka s vaším projektom. Všetko vyhladzovanie sa vykonáva pomocou nasledujúceho kódu:

Pre (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 = tváre[i]; pre (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); } }

Súradnice X, Y a Z sú oddeliteľné, hladkám ich samostatne. To znamená, že riešim tri sústavy lineárnych rovníc, každú s počtom premenných rovným počtu vrcholov v mojom modeli. Prvých n riadkov matice A má iba jednu 1 na riadok a prvých n riadkov vektora b má súradnice pôvodného modelu. To znamená, že medzi novú polohu vrcholu a starú polohu vrcholu uviažem pružinu - nové by sa nemali príliš vzdialiť od starých.

Všetky nasledujúce riadky matice A (faces.size()*3 = počet hrán všetkých trojuholníkov v sieti) majú jeden výskyt 1 a jeden výskyt -1, pričom vektor b má nulu opačných zložiek. To znamená, že som dal pružinu na každý okraj našej trojuholníkovej siete: všetky okraje sa snažia získať rovnaký vrchol ako ich počiatočný a koncový bod.

Ešte raz: všetky vrcholy sú premenné a nemôžu sa vzdialiť od svojej pôvodnej polohy, no zároveň sa snažia byť si navzájom podobné.

Tu je výsledok:

Všetko by bolo v poriadku, model je naozaj vyhladený, no vzdialil sa od pôvodného okraja. Poďme trochu zmeniť kód:

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

V našej matici A pre vrcholy, ktoré sú na okraji, pridávam nie riadok z kategórie v_i = verts[i][d], ale 1000*v_i = 1000*verts[i][d]. Čo sa tým mení? A to mení našu kvadratickú formu chyby. Teraz jedna odchýlka od vrcholu na okraji nebude stáť jednu jednotku, ako predtým, ale 1 000 * 1 000 jednotiek. To znamená, že na krajné vrcholy sme zavesili silnejšiu pružinu, ostatné bude riešenie radšej silnejšie natiahnuť. Tu je výsledok:

Zdvojnásobme silu pružiny medzi vrcholmi:
nlKoeficient(tvár[ j], 2); nlKoeficient(tvár[(j+1)%3], -2);

Je logické, že povrch je hladší:

A teraz ešte stokrát silnejšie:

Čo to je? Predstavte si, že sme drôtený krúžok ponorili do mydlovej vody. Výsledkom je, že výsledný mydlový film sa bude snažiť mať čo najmenšie zakrivenie a dotýkať sa hranice - nášho drôteného krúžku. To je presne to, čo sme získali, keď sme upevnili okraj a požiadali o hladký povrch vo vnútri. Gratulujeme, práve sme vyriešili Laplaceovu rovnicu s Dirichletovými okrajovými podmienkami. To znie dobre? Ale v skutočnosti stačí vyriešiť jeden systém lineárnych rovníc.

Poissonova rovnica

Spomeňme si na ďalšie skvelé meno.

Povedzme, že mám takýto obrázok:

Vyzerá dobre každému, ale mne sa nepáči stolička.

Skrátim obrázok na polovicu:



A vyberiem si stoličku rukami:

Potom vytiahnem všetko, čo je biele v maske na ľavú stranu obrázka a zároveň v celom obrázku poviem, že rozdiel medzi dvoma susednými pixelmi by sa mal rovnať rozdielu medzi dvoma susednými pixelmi vpravo. obrázok:

Pre (int i=0; i

Tu je výsledok:

Príklad zo života

Zámerne som nerobil vylízané výsledky, pretože... Chcel som len ukázať, ako presne môžete použiť metódy najmenších štvorcov, toto je tréningový kód. Teraz uvediem príklad zo života:

Mám niekoľko fotografií vzoriek látok, ako je táto:

Mojou úlohou je vytvárať bezšvové textúry z fotografií tejto kvality. Na začiatok (automaticky) hľadám opakujúci sa vzor:

Ak tento štvoruholník vyrežem rovno, v dôsledku skreslenia sa okraje nestretnú, tu je príklad vzoru, ktorý sa opakuje štyrikrát:

Skrytý text

Tu je fragment, kde je šev jasne viditeľný:

Preto nebudem rezať pozdĺž priamky, tu je čiara rezu:

Skrytý text

A tu je vzor opakujúci sa štyrikrát:

Skrytý text

A kúsok z toho, aby to bolo jasnejšie:

Už je to lepšie, strih nešiel v priamej línii, vyhýbal sa všetkým druhom kučier, ale šev je stále viditeľný kvôli nerovnomernému osvetleniu na pôvodnej fotografii. Tu prichádza na pomoc metóda najmenších štvorcov pre Poissonovu rovnicu. Tu je konečný výsledok po vyrovnaní osvetlenia:

Textúra sa ukázala byť dokonale hladká a to všetko automaticky z fotografie veľmi priemernej kvality. Nebojte sa matematiky, hľadajte jednoduché vysvetlenia a v strojárstve vám bude veselo.