Prednosti in slabosti metode najmanjših kvadratov. Matematika na prste: metode najmanjših kvadratov

Ki najde najširšo uporabo na različnih področjih znanosti in praktične dejavnosti. To je lahko fizika, kemija, biologija, ekonomija, sociologija, psihologija itd. Po volji usode se moram pogosto ukvarjati z gospodarstvom, zato bom danes za vas organiziral potovanje v čudovito državo, imenovano Ekonometrija=) ...Kako si ne želiš?! Tam je zelo dobro – le odločiti se morate! ...Toda kar si verjetno zagotovo želite, je naučiti se reševati probleme metoda najmanjših kvadratov. In še posebej pridni bralci se jih bodo naučili reševati ne samo natančno, ampak tudi ZELO HITRO ;-) Ampak najprej splošna navedba problema+ spremljajoči primer:

Recimo, da se na določenem predmetnem področju preučujejo kazalniki, ki imajo kvantitativni izraz. Hkrati obstajajo vsi razlogi za domnevo, da je kazalnik odvisen od kazalnika. Ta predpostavka je lahko bodisi znanstvena hipoteza bodisi temelji na osnovni zdravi pameti. Pustimo znanost ob strani in raziščimo bolj okusna področja – namreč trgovine z živili. Označimo z:

– maloprodajna površina trgovine z živili, m2,
– letni promet trgovine z živili, milijonov rubljev.

Popolnoma jasno je, da večja kot je trgovina, večji bo v večini primerov njen promet.

Recimo, da imamo po izvedbi opazovanj/eksperimentov/izračunov/plesov s tamburino na voljo numerične podatke:

Z živilskimi trgovinami mislim, da je vse jasno: - to je površina 1. trgovine, - njen letni promet, - površina 2. trgovine, - njen letni promet itd. Mimogrede, dostop do tajnih gradiv sploh ni potreben - dokaj natančno oceno trgovinskega prometa je mogoče dobiti s pomočjo matematična statistika. Pa naj vas ne zamoti, tečaj komercialnega vohunjenja je že plačan =)

Tabelarne podatke lahko zapišemo tudi v obliki točk in jih upodobimo v znani obliki kartezični sistem .

Odgovorimo na pomembno vprašanje: Koliko točk je potrebnih za kakovosten študij?

Več, tem bolje. Najmanjši sprejemljivi niz je sestavljen iz 5-6 točk. Poleg tega, ko je količina podatkov majhna, "anomalnih" rezultatov ni mogoče vključiti v vzorec. Tako lahko na primer majhna elitna trgovina zasluži veliko več kot »njeni kolegi« in s tem izkrivlja splošni vzorec, ki ga morate najti!

Zelo preprosto povedano, izbrati moramo funkcijo, urnik ki poteka čim bližje točkam . Ta funkcija se imenuje približevanje (približek - približek) oz teoretična funkcija . Na splošno se tukaj takoj pojavi očiten "tekmovalec" - polinom visoke stopnje, katerega graf poteka skozi VSE točke. Toda ta možnost je zapletena in pogosto preprosto napačna. (ker se bo graf ves čas vrtel in slabo odražal glavni trend).

Tako mora biti iskana funkcija precej preprosta in hkrati ustrezno odražati odvisnost. Kot morda ugibate, se imenuje ena od metod za iskanje takšnih funkcij metoda najmanjših kvadratov. Najprej poglejmo njegovo bistvo na splošno. Naj neka funkcija približa eksperimentalne podatke:


Kako oceniti točnost tega približka? Izračunajmo še razlike (odklone) med eksperimentalnimi in funkcijskimi vrednostmi (preučujemo risbo). Prva misel, ki pride na misel, je oceniti, kako velika je vsota, vendar je težava v tem, da so lahko razlike negativne (Na primer, ) in odstopanja kot posledica takega seštevanja se bodo med seboj izničila. Zato kot oceno točnosti približka prosimo, da vzamemo vsoto moduli odstopanja:

ali strnjeno: (če kdo ne ve: – to je ikona vsote in – pomožna spremenljivka »števec«, ki zavzema vrednosti od 1 do ).

Z aproksimacijo eksperimentalnih točk z različnimi funkcijami bomo dobili različne vrednosti in očitno je tam, kjer je ta vsota manjša, tista funkcija natančnejša.

Takšna metoda obstaja in se imenuje metoda najmanjšega modula. Vendar je v praksi postalo veliko bolj razširjeno metoda najmanjših kvadratov, v katerem se morebitne negativne vrednosti izločijo ne z modulom, temveč s kvadratiranjem odstopanj:

, nato pa so prizadevanja usmerjena v izbiro takšne funkcije, da je vsota kvadratov odklonov je bil čim manjši. Pravzaprav od tod izvira ime metode.

In zdaj se vrnemo k drugi pomembni točki: kot je navedeno zgoraj, mora biti izbrana funkcija precej preprosta - vendar obstaja tudi veliko takih funkcij: linearni , hiperbolično, eksponentno, logaritemsko, kvadratni itd. In seveda, tukaj bi rad takoj "zmanjšal področje dejavnosti." Kateri razred funkcij naj izberem za raziskavo? Primitivna, a učinkovita tehnika:

– Najlažje je prikazati točke na risbo in analizirati njihovo lokacijo. Če tečejo v ravni črti, potem morate iskati enačba premice z optimalnimi vrednostmi in. Z drugimi besedami, naloga je najti TAKŠNE koeficiente, da bo vsota kvadratov odstopanj najmanjša.

Če se točke nahajajo na primer vzdolž hiperbola, potem je očitno jasno, da bo linearna funkcija dala slab približek. V tem primeru iščemo najugodnejše koeficiente za enačbo hiperbole – tiste, ki dajejo najmanjšo vsoto kvadratov .

Zdaj upoštevajte, da v obeh primerih govorimo o funkcije dveh spremenljivk, čigar argumenti so iskani parametri odvisnosti:

In v bistvu moramo rešiti standardni problem - najti minimalna funkcija dveh spremenljivk.

Spomnimo se našega primera: predpostavimo, da so točke »shranjevanja« ponavadi nameščene v ravni črti in obstaja vsak razlog za domnevo, da linearna odvisnost promet iz maloprodajnega prostora. Poiščimo TAKA koeficienta "a" in "be", tako da je vsota kvadratov odstopanj je bil najmanjši. Vse je kot običajno – najprej Parcialni odvodi 1. reda. Glede na pravilo linearnosti Razlikujete lahko tik pod ikono vsote:

Če želite te podatke uporabiti za esej ali seminarsko nalogo, vam bom zelo hvaležen za povezavo na seznamu virov, tako podrobne izračune boste našli na nekaj mestih:

Ustvarimo standardni sistem:

Vsako enačbo zmanjšamo za "dve" in poleg tega "razbijemo" vsote:

Opomba : samostojno analizirajte, zakaj lahko "a" in "be" izvlečete izven ikone vsote. Mimogrede, formalno je to mogoče storiti z vsoto

Prepišimo sistem v "uporabni" obliki:

po katerem se začne pojavljati algoritem za rešitev našega problema:

Ali poznamo koordinate točk? Vemo. Zneski ga lahko najdemo? Enostavno. Naredimo najpreprostejše sistem dveh linearnih enačb z dvema neznankama("a" in "biti"). Sistem rešimo npr. Cramerjeva metoda, zaradi česar dobimo stacionarno točko. Preverjanje zadosten pogoj za ekstrem, lahko preverimo, da je na tej točki funkcija doseže točno najmanj. Preverjanje vključuje dodatne izračune, zato ga bomo pustili v zakulisju (po potrebi si lahko ogledate manjkajoči okvir). Naredimo končni zaključek:

funkcija na najboljši možen način (vsaj v primerjavi s katero koli drugo linearno funkcijo) približuje eksperimentalne točke . Grobo rečeno, njegov graf poteka čim bližje tem točkam. V tradiciji ekonometrija nastalo aproksimirajočo funkcijo imenujemo tudi enačba parne linearne regresije .

Obravnavani problem je velikega praktičnega pomena. V našem primeru situacije je enač. vam omogoča, da napoveste, kakšen trgovinski promet ("Igrek") trgovina bo imela na eno ali drugo vrednost prodajnega prostora (en ali drug pomen "x"). Da, nastala napoved bo le napoved, vendar se bo v mnogih primerih izkazala za precej natančno.

Analiziral bom samo eno težavo s "pravimi" številkami, saj v njej ni težav - vsi izračuni so na ravni šolskega učnega načrta 7.-8. V 95 odstotkih primerov boste morali poiskati samo linearno funkcijo, čisto na koncu članka pa bom pokazal, da ni nič težje najti enačb optimalne hiperbole, eksponentne in nekaterih drugih funkcij.

Pravzaprav ostane le še razdelitev obljubljenih dobrot - da se boste naučili reševati takšne primere ne le natančno, ampak tudi hitro. Pazljivo preučujemo standard:

Naloga

Kot rezultat preučevanja razmerja med dvema indikatorjema so bili pridobljeni naslednji pari številk:

Z uporabo metode najmanjših kvadratov poiščite linearno funkcijo, ki se najbolje približa empirični (izkušen) podatke. Narišite risbo, na kateri boste zgradili eksperimentalne točke in graf aproksimacijske funkcije v kartezičnem pravokotnem koordinatnem sistemu . Poiščite vsoto kvadratov odstopanj med empiričnimi in teoretičnimi vrednostmi. Ugotovite, ali bi bila funkcija boljša (z vidika metode najmanjših kvadratov) približati eksperimentalne točke.

Upoštevajte, da so pomeni "x" naravni in to ima značilen smiselni pomen, o katerem bom govoril malo kasneje; seveda pa so lahko tudi delni. Poleg tega sta lahko vrednosti "X" in "igra" v celoti ali delno negativni, odvisno od vsebine določene naloge. No, dobili smo "brezobrazno" nalogo in jo začnemo rešitev:

Najdemo koeficiente optimalne funkcije kot rešitev sistema:

Zaradi bolj kompaktnega zapisa lahko spremenljivko »števec« izpustimo, saj je že jasno, da se seštevanje izvaja od 1 do .

Primerneje je izračunati potrebne količine v obliki tabele:


Izračune je mogoče izvesti na mikrokalkulatorju, vendar je veliko bolje uporabiti Excel - tako hitreje kot brez napak; poglej kratek video:

Tako dobimo naslednje sistem:

Tukaj lahko drugo enačbo pomnožite s 3 in odštej 2. od 1. enačbe člen za členom. A to je sreča - v praksi sistemi pogosto niso darilo in v takih primerih prihrani Cramerjeva metoda:
, kar pomeni, da ima sistem edinstveno rešitev.

Preverimo. Razumem, da nočete, ampak zakaj bi preskočili napake, kjer jih nikakor ne morete zgrešiti? Najdeno rešitev nadomestimo v levo stran vsake enačbe sistema:

Dobljene so desne strani pripadajočih enačb, kar pomeni, da je sistem pravilno rešen.

Tako je želena aproksimativna funkcija: – od vse linearne funkcije Ona je tista, ki najbolje približa eksperimentalne podatke.

Za razliko od neposredno odvisnost prometa trgovine od njene površine, ugotovljena odvisnost je vzvratno (načelo več, manj), in to dejstvo takoj razkrije negativno pobočje. funkcija nam pove, da se s povečanjem določenega kazalnika za 1 enoto vrednost odvisnega kazalnika zmanjša v povprečju za 0,65 enote. Kot pravijo, višja kot je cena ajde, manj se je proda.

Za naris aproksimacijske funkcije poiščimo njeni dve vrednosti:

in izvedite risbo:


Konstruirano premico imenujemo linija trenda (in sicer linearna trendna črta, tj. v splošnem primeru trend ni nujno ravna črta). Vsi poznajo izraz »biti v trendu« in menim, da ta izraz ne potrebuje dodatnih komentarjev.

Izračunajmo vsoto kvadratov odstopanj med empiričnimi in teoretičnimi vrednostmi. Geometrično je to vsota kvadratov dolžin segmentov "malin". (dva sta tako majhna, da se niti ne vidita).

Povzemimo izračune v tabelo:


Ponovno jih je mogoče narediti ročno, za vsak slučaj bom dal primer za 1. točko:

vendar je veliko bolj učinkovito, če to storite na že znani način:

Še enkrat ponavljamo: Kakšen je pomen dobljenega rezultata? Od vse linearne funkcije y funkcijo kazalnik je najmanjši, to je v svoji družini najboljši približek. In tukaj, mimogrede, zadnje vprašanje problema ni naključno: kaj če predlagana eksponentna funkcija bi bilo bolje eksperimentalne točke približati?

Poiščimo ustrezno vsoto kvadratov odstopanj - za razlikovanje jih bom označil s črko "epsilon". Tehnika je popolnoma enaka:


In še enkrat, za vsak slučaj, izračuni za 1. točko:

V Excelu uporabljamo standardno funkcijo EXP (sintakso lahko najdete v pomoči za Excel).

Zaključek: , kar pomeni, da eksponentna funkcija slabše aproksimira eksperimentalne točke kot premica .

Toda tukaj je treba opozoriti, da je "slabše". še ne pomeni, kar je slabo. Zdaj sem zgradil graf te eksponentne funkcije - in prav tako prehaja blizu točk - tako zelo, da je brez analitične raziskave težko reči, katera funkcija je natančnejša.

S tem je rešitev zaključena in vračam se k vprašanju naravnih vrednosti argumenta. V različnih študijah, običajno ekonomskih ali socioloških, se naravni "X" uporabljajo za številčenje mesecev, let ali drugih enakih časovnih intervalov. Razmislite na primer o naslednjem problemu.

Ima veliko aplikacij, saj omogoča približno predstavitev dane funkcije z drugimi preprostejšimi. LSM je lahko izjemno uporaben pri obdelavi opazovanj in se aktivno uporablja za ocenjevanje nekaterih količin na podlagi rezultatov meritev drugih, ki vsebujejo naključne napake. V tem članku se boste naučili, kako izvajati izračune najmanjših kvadratov v Excelu.

Izjava problema na konkretnem primeru

Recimo, da obstajata dva indikatorja X in Y. Poleg tega je Y odvisen od X. Ker nas OLS zanima z vidika regresijske analize (v Excelu so njegove metode implementirane z vgrajenimi funkcijami), bi morali takoj preiti na obravnavo specifičen problem.

Naj bo torej X maloprodajni prostor trgovine z živili, merjen v kvadratnih metrih, Y pa letni promet, merjen v milijonih rubljev.

Narediti je treba napoved, kakšen promet (Y) bo imela trgovina, če bo imela ta ali oni maloprodajni prostor. Očitno je, da funkcija Y = f (X) narašča, saj hipermarket proda več blaga kot stojnica.

Nekaj ​​besed o pravilnosti začetnih podatkov, uporabljenih za napoved

Recimo, da imamo tabelo, sestavljeno s podatki za n trgovin.

Glede na matematično statistiko bodo rezultati bolj ali manj pravilni, če se pregledajo podatki o vsaj 5-6 objektih. Poleg tega ni mogoče uporabiti "nenormalnih" rezultatov. Zlasti elitni mali butik ima lahko promet, ki je nekajkrat večji od prometa velikih maloprodajnih mest razreda "masmarket".

Bistvo metode

Podatke tabele lahko upodobimo na kartezični ravnini v obliki točk M 1 (x 1, y 1), ... M n (x n, y n). Zdaj se bo rešitev problema zmanjšala na izbiro aproksimativne funkcije y = f (x), ki ima graf, ki poteka čim bližje točkam M 1, M 2, .. M n.

Seveda lahko uporabite polinom visoke stopnje, vendar te možnosti ni le težko izvesti, ampak tudi preprosto napačna, saj ne bo odražala glavnega trenda, ki ga je treba zaznati. Najbolj smiselna rešitev je iskanje premice y = ax + b, ki najbolje približa eksperimentalne podatke oziroma natančneje koeficienta a in b.

Ocena točnosti

Pri vsakem približku je še posebej pomembna ocena njegove natančnosti. Označimo z e i razliko (odklon) med funkcionalno in eksperimentalno vrednostjo za točko x i, to je e i = y i - f (x i).

Očitno je, da lahko za oceno točnosti približka uporabite vsoto odstopanj, tj. pri izbiri ravne črte za približno predstavitev odvisnosti X od Y morate dati prednost tistemu z najmanjšo vrednostjo vsota e i na vseh obravnavanih točkah. Vendar ni vse tako preprosto, saj bodo poleg pozitivnih odstopanj tudi negativna.

Zadevo je mogoče rešiti z moduli odstopanj ali njihovimi kvadrati. Zadnja metoda je najpogosteje uporabljena. Uporablja se na številnih področjih, vključno z regresijsko analizo (implementirana v Excelu z uporabo dveh vgrajenih funkcij), in je že dolgo dokazala svojo učinkovitost.

Metoda najmanjših kvadratov

Excel, kot veste, ima vgrajeno funkcijo AutoSum, ki vam omogoča izračun vrednosti vseh vrednosti, ki se nahajajo v izbranem obsegu. Tako nas nič ne ovira pri izračunavanju vrednosti izraza (e 1 2 + e 2 2 + e 3 2 + ... e n 2).

V matematičnem zapisu je to videti takole:

Ker je bila sprva sprejeta odločitev za približek z uporabo ravne črte, imamo:

Tako se naloga iskanja ravne črte, ki najbolje opisuje določeno odvisnost količin X in Y, zmanjša na izračun minimuma funkcije dveh spremenljivk:

Če želite to narediti, morate parcialne odvode glede na novi spremenljivki a in b enačiti na nič in rešiti primitivni sistem, sestavljen iz dveh enačb z 2 neznankama oblike:

Po nekaj preprostih transformacijah, vključno z deljenjem z 2 in manipulacijo vsot, dobimo:

Če jo rešimo, na primer z uporabo Cramerjeve metode, dobimo stacionarno točko z določenimi koeficienti a * in b *. To je minimum, tj. za predvidevanje kolikšen promet bo imela trgovina za določeno območje je primerna ravna črta y = a * x + b *, ki je regresijski model za obravnavani primer. Seveda vam ne bo omogočilo, da bi našli točen rezultat, vendar vam bo pomagalo dobiti idejo o tem, ali se bo nakup določenega območja na kredit v trgovini izplačal.

Kako implementirati metode najmanjših kvadratov v Excel

Excel ima funkcijo za izračun vrednosti z uporabo najmanjših kvadratov. Ima naslednjo obliko: »TREND« (znane vrednosti Y; znane vrednosti X; nove vrednosti X; konstanta). Uporabimo formulo za izračun OLS v Excelu v naši tabeli.

To storite tako, da v celico, v kateri naj se izpiše rezultat izračuna po metodi najmanjših kvadratov v Excelu, vnesete znak “=” in izberete funkcijo “TREND”. V oknu, ki se odpre, izpolnite ustrezna polja in označite:

  • razpon znanih vrednosti za Y (v tem primeru podatki o prometu trgovine);
  • obseg x 1 , …x n , to je velikost prodajnega prostora;
  • znane in neznane vrednosti x, za katere morate ugotoviti velikost prometa (za informacije o njihovi lokaciji na delovnem listu glejte spodaj).

Poleg tega formula vsebuje logično spremenljivko »Const«. Če v ustrezno polje vnesete 1, to pomeni, da morate izvesti izračune ob predpostavki, da je b = 0.

Če morate izvedeti napoved za več kot eno vrednost x, potem po vnosu formule ne smete pritisniti "Enter", ampak morate na tipkovnici vnesti kombinacijo "Shift" + "Control" + "Enter".

Nekatere funkcije

Regresijska analiza je lahko dostopna tudi telebanom. Excelovo formulo za napovedovanje vrednosti niza neznanih spremenljivk – TREND – lahko uporabljajo tudi tisti, ki še nikoli niso slišali za najmanjše kvadrate. Dovolj je le poznati nekatere značilnosti njegovega dela. Zlasti:

  • Če razporedite obseg znanih vrednosti spremenljivke y v eno vrstico ali stolpec, bo program vsako vrstico (stolpec) z znanimi vrednostmi x zaznal kot ločeno spremenljivko.
  • Če obseg z znanim x ni naveden v oknu TREND, ga bo program pri uporabi funkcije v Excelu obravnaval kot matriko, sestavljeno iz celih števil, katerih število ustreza obsegu z danimi vrednostmi spremenljivka y.
  • Za izpis matrike "predvidenih" vrednosti je treba izraz za izračun trenda vnesti kot matrično formulo.
  • Če nove vrednosti x niso določene, jih funkcija TREND šteje za enake znanim. Če niso navedeni, se kot argument vzame niz 1; 2; 3; 4;…, kar je sorazmerno z razponom z že podanimi parametri y.
  • Obseg, ki vsebuje nove vrednosti x, mora imeti enakih ali več vrstic ali stolpcev kot obseg, ki vsebuje podane vrednosti y. Z drugimi besedami, mora biti sorazmeren z neodvisnimi spremenljivkami.
  • Matrika z znanimi vrednostmi x lahko vsebuje več spremenljivk. Če pa govorimo samo o enem, potem je potrebno, da so razponi z danimi vrednostmi x in y sorazmerni. V primeru več spremenljivk je potrebno, da obseg z danimi vrednostmi y ustreza enemu stolpcu ali eni vrstici.

funkcija PREDICTION

Izvedeno z uporabo več funkcij. Eden od njih se imenuje "NAPOVED". Podoben je "TRENDU", tj. daje rezultat izračuna z uporabo metode najmanjših kvadratov. Vendar le za en X, za katerega vrednost Y ni znana.

Zdaj poznate formule v Excelu za lutke, ki vam omogočajo napovedovanje prihodnje vrednosti določenega kazalnika glede na linearni trend.

  • Vadnica

Uvod

Sem matematik in programer. Največji preskok v svoji karieri je bil, ko sem se naučil reči: "Ničesar ne razumem!" Zdaj me ni sram povedati svetilniku znanosti, da mi predava, da ne razumem, kaj mi on, svetilo, govori. In to je zelo težko. Da, priznati svojo nevednost je težko in neprijetno. Kdo rad prizna, da ne pozna osnov nečesa? Zaradi svojega poklica se moram udeležiti velikega števila predstavitev in predavanj, kjer, priznam, v veliki večini primerov želim spati, ker ničesar ne razumem. Ampak ne razumem, ker je velik problem trenutne situacije v znanosti v matematiki. Predpostavlja, da so vsi slušatelji seznanjeni s čisto vsemi področji matematike (kar je absurdno). Priznati, da ne veste, kaj je derivat (o tem, kaj je, bomo govorili malo kasneje), je sramotno.

Vendar sem se naučil reči, da ne vem, kaj je množenje. Da, ne vem, kaj je subalgebra nad Liejevo algebro. Da, ne vem, zakaj so kvadratne enačbe potrebne v življenju. Mimogrede, če ste prepričani, da veste, potem imamo o čem govoriti! Matematika je serija trikov. Matematiki poskušajo zmesti in ustrahovati javnost; kjer ni zmede, ni ugleda, ni avtoritete. Ja, prestižno je govoriti v čim bolj abstraktnem jeziku, kar je popoln nesmisel.

Veste, kaj je izpeljanka? Najverjetneje mi boste povedali o meji razmerja razlike. V prvem letniku matematike in mehanike na državni univerzi v Sankt Peterburgu mi je Viktor Petrovič Khavin povedal, odločen odvod kot koeficient prvega člena Taylorjevega niza funkcije v točki (to je bila ločena gimnastika za določanje Taylorjevega niza brez odvodov). Dolgo sem se smejala tej definiciji, dokler nisem končno razumela, za kaj gre. Izpeljanka ni nič drugega kot preprosto merilo, kako podobna je funkcija, ki jo razlikujemo, funkciji y=x, y=x^2, y=x^3.

Zdaj imam čast predavati študentom, ki strah matematika. Če se bojite matematike, smo na isti poti. Takoj, ko poskušate prebrati neko besedilo in se vam zdi, da je preveč zapleteno, potem vedite, da je slabo napisano. Trdim, da ni niti enega področja matematike, ki ga ni mogoče razpravljati "na prste", ne da bi pri tem izgubili natančnost.

Naloga za bližnjo prihodnost: svojim učencem sem zadala, da razumejo, kaj je linearni kvadratni regulator. Ne bodite sramežljivi, porabite tri minute svojega življenja in sledite povezavi. Če vam ni nič jasno, potem smo na isti poti. Tudi jaz (profesionalni matematik-programer) nisem nič razumel. In zagotavljam vam, da lahko to ugotovite "na prste." Trenutno ne vem, kaj je to, vendar vam zagotavljam, da nam bo uspelo ugotoviti.

Torej, prvo predavanje, ki ga bom imel svojim študentom, potem ko bodo zgroženi pritekli k meni in rekli, da je linearno-kvadratni regulator grozna stvar, ki je ne boste nikoli v življenju obvladali, je metode najmanjših kvadratov. Znate rešiti linearne enačbe? Če berete to besedilo, potem najverjetneje ne.

Torej, glede na dve točki (x0, y0), (x1, y1), na primer (1,1) in (3,2), je naloga najti enačbo premice, ki poteka skozi ti dve točki:

ilustracija

Ta vrstica bi morala imeti enačbo, kot je naslednja:

Tukaj alfa in beta nam nista znani, vendar sta znani dve točki te črte:

To enačbo lahko zapišemo v matrični obliki:

Tukaj bi morali narediti lirično digresijo: kaj je matrica? Matrika ni nič drugega kot dvodimenzionalni niz. To je način shranjevanja podatkov; temu ne bi smeli pripisovati nobenih drugih pomenov. Natančno od nas je odvisno, kako interpretirati določeno matriko. Občasno ga bom interpretiral kot linearno preslikavo, občasno kot kvadratno obliko in včasih preprosto kot niz vektorjev. Vse to bo pojasnjeno v kontekstu.

Zamenjajmo konkretne matrike z njihovo simbolno predstavitvijo:

Potem (alfa, beta) je mogoče zlahka najti:

Natančneje za naše prejšnje podatke:

Kar vodi do naslednje enačbe premice, ki poteka skozi točke (1,1) in (3,2):

V redu, tukaj je vse jasno. Poiščimo enačbo premice, ki poteka skozi tri točke: (x0,y0), (x1,y1) in (x2,y2):

Oh-oh-oh, ampak imamo tri enačbe za dve neznanki! Standardni matematik bo rekel, da rešitve ni. Kaj bo rekel programer? In najprej bo prepisal prejšnji sistem enačb v naslednji obliki:

V našem primeru so vektorji i, j, b tridimenzionalni, zato (v splošnem primeru) za ta sistem ni rešitve. Kateri koli vektor (alfa\*i + beta\*j) leži v ravnini, ki jo raztezajo vektorji (i, j). Če b ne pripada tej ravnini, potem rešitve ni (v enačbi ni mogoče doseči enakosti). Kaj narediti? Iščimo kompromis. Označimo z e(alfa, beta) koliko natančno nismo dosegli enakosti:

In poskušali bomo zmanjšati to napako:

Zakaj kvadrat?

Ne iščemo samo minimuma norme, ampak minimum kvadrata norme. Zakaj? Sama minimalna točka sovpada, kvadrat pa daje gladko funkcijo (kvadratno funkcijo argumentov (alfa, beta)), medtem ko preprosto dolžina daje stožčasto funkcijo, ki je nediferenciabilna v minimalni točki. Brr. Kvadrat je bolj priročen.

Očitno je napaka zmanjšana, ko vektor e pravokoten na ravnino, ki jo raztezajo vektorji i in j.

Ilustracija

Z drugimi besedami: iščemo premico tako, da je vsota kvadratov dolžin razdalj od vseh točk do te premice minimalna:

POSODOBITEV: Tukaj imam problem, razdaljo do ravne črte je treba meriti navpično in ne s pravokotno projekcijo. Ta komentator ima prav.

Ilustracija

S popolnoma drugimi besedami (previdno, slabo formalizirano, vendar mora biti jasno): vzamemo vse možne črte med vsemi pari točk in iščemo povprečno črto med vsemi:

Ilustracija

Druga razlaga je enostavna: med vse podatkovne točke (tu imamo tri) in premico, ki jo iščemo, pritrdimo vzmet in premica ravnotežnega stanja je točno to, kar iščemo.

Najmanjša kvadratna oblika

Torej, glede na ta vektor b in ravnino, ki jo raztezajo vektorji stolpcev matrike A(v tem primeru (x0,x1,x2) in (1,1,1)), iščemo vektor e z najmanjšo kvadratno dolžino. Očitno je minimum dosegljiv samo za vektor e, pravokoten na ravnino, ki jo raztezajo vektorji stolpcev matrike A:

Z drugimi besedami, iščemo vektor x=(alfa, beta), tako da:

Naj vas spomnim, da je ta vektor x=(alfa, beta) minimum kvadratne funkcije ||e(alfa, beta)||^2:

Tukaj bi bilo koristno zapomniti, da je matriko mogoče interpretirati tudi kot kvadratno obliko, na primer identitetno matriko ((1,0),(0,1)) lahko interpretirati kot funkcijo x^2 + y^ 2:

kvadratna oblika

Vsa ta gimnastika je znana pod imenom linearna regresija.

Laplaceova enačba z Dirichletovim robnim pogojem

Zdaj najpreprostejša prava naloga: obstaja določena trikotna površina, potrebno jo je zgladiti. Na primer, naložimo model mojega obraza:

Izvirna potrditev je na voljo. Da bi zmanjšal zunanje odvisnosti, sem vzel kodo svojega programskega upodabljalnika, ki je že na Habréju. Za reševanje linearnega sistema uporabljam OpenNL, to je odličen reševalec, ki pa ga je zelo težko namestiti: v mapo s projektom morate kopirati dve datoteki (.h+.c). Vse glajenje se izvede z naslednjo kodo:

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&obraz = obrazi[i];<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); } }

za (int j=0; j

Koordinate X, Y in Z so ločljive, gladim jih ločeno. To pomeni, da rešujem tri sisteme linearnih enačb, vsaka s številom spremenljivk, ki je enako številu vozlišč v mojem modelu. Prvih n vrstic matrike A ima samo eno 1 na vrstico, prvih n vrstic vektorja b pa izvirne koordinate modela. To pomeni, da privežem vzmet med novo pozicijo vrha in starim položajem vrha - novi se ne smejo premakniti predaleč od starih.

Vse naslednje vrstice matrike A (faces.size()*3 = število robov vseh trikotnikov v mreži) imajo eno pojavitev 1 in eno pojavitev -1, pri čemer ima vektor b nič komponent nasproti. To pomeni, da sem na vsak rob naše trikotne mreže postavil vzmet: vsi robovi poskušajo dobiti isto oglišče kot njihova začetna in končna točka.

Še enkrat: vsa oglišča so spremenljivke in se ne morejo premakniti daleč od svojega prvotnega položaja, hkrati pa poskušajo postati podobna druga drugi.

Tukaj je rezultat:

Vse bi bilo v redu, model je res zglajen, vendar se je oddaljil od prvotnega roba. Malo spremenimo kodo:<(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ši matriki A za vozlišča, ki so na robu, ne dodam vrstice iz kategorije v_i = verts[i][d], ampak 1000*v_i = 1000*verts[i][d]. Kakšna je razlika v tem? In to spremeni našo kvadratno obliko napake. Zdaj en sam odmik od vrha na robu ne bo stal eno enoto, kot prej, ampak 1000*1000 enot. Se pravi, na skrajna oglišča smo obesili močnejšo vzmet, druge bo rešitev raje močneje raztegnila. Tukaj je rezultat:

Podvojimo moč vzmeti med oglišči:
nlKoeficient(obraz[j], 2);

nlKoeficient(obraz[(j+1)%3], -2);

Logično je, da je površina postala bolj gladka:

In zdaj še stokrat močneje:

kaj je to Predstavljajte si, da smo žični obroč pomočili v milnico. Posledično bo nastali milni film poskušal imeti čim manj ukrivljenosti in se dotikati meje - našega žičnatega obroča. Točno to smo dobili, ko smo popravili obrobo in zahtevali gladko površino v notranjosti. Čestitamo, pravkar smo rešili Laplaceovo enačbo z Dirichletovimi robnimi pogoji. Se sliši kul? Toda v resnici morate samo rešiti en sistem linearnih enačb.

Poissonova enačba

Spomnimo se še enega kul imena.

Recimo, da imam takšno sliko:

Vsem se zdi dobro, meni pa stol ni všeč.



Sliko bom prerezal na pol:

In izbral bom stol z rokami:

Vse bi bilo v redu, model je res zglajen, vendar se je oddaljil od prvotnega roba. Malo spremenimo kodo:

Še enkrat: vsa oglišča so spremenljivke in se ne morejo premakniti daleč od svojega prvotnega položaja, hkrati pa poskušajo postati podobna druga drugi.

Nato bom vse, kar je belo v maski, potegnil na levo stran slike, hkrati pa bom skozi celotno sliko govoril, da mora biti razlika med dvema sosednjima piksloma enaka razliki med dvema sosednjima piksloma na desni. slika:

Koda in slike na voljo

Primer. Eksperimentalni podatki o vrednostih spremenljivk in X pri

so podani v tabeli.

Kot rezultat njihove poravnave dobimo funkcijo Uporaba metoda najmanjših kvadratov te podatke približamo z linearno odvisnostjo y=ax+b (poiščite parametre in b A

). Ugotovite, katera od obeh črt bolje (v smislu metode najmanjših kvadratov) uskladi eksperimentalne podatke. Narišite risbo.

Bistvo metode najmanjših kvadratov (MSM). (poiščite parametre in b Naloga je najti koeficiente linearne odvisnosti, pri katerih je funkcija dveh spremenljivk (poiščite parametre in b ima najmanjšo vrednost. Se pravi, dano

vsota kvadratov odstopanj eksperimentalnih podatkov od najdene premice bo najmanjša. To je bistvo metode najmanjših kvadratov.

Tako se reševanje primera zmanjša na iskanje ekstrema funkcije dveh spremenljivk.

Izpeljava formul za iskanje koeficientov. (poiščite parametre in b, te izpeljanke enačimo z nič.

Nastali sistem enačb rešimo s poljubno metodo (npr po substitucijski metodi ali ) in pridobite formule za iskanje koeficientov z uporabo metode najmanjših kvadratov (LSM).

dano A in b funkcijo ima najmanjšo vrednost. Dokaz za to dejstvo je podan.

To je celotna metoda najmanjših kvadratov. Formula za iskanje parametra a vsebuje vsote , , , in parameter n- količina eksperimentalnih podatkov. Priporočamo, da vrednosti teh zneskov izračunate ločeno. Koeficient b ugotovljeno po izračunu a.

Čas je, da se spomnimo izvirnega primera.

rešitev.

V našem primeru n=5. Izpolnimo tabelo za lažji izračun zneskov, ki so vključeni v formule zahtevanih koeficientov.

Vrednosti v četrti vrstici tabele dobimo tako, da za vsako številko pomnožimo vrednosti 2. vrstice z vrednostmi 3. vrstice. i.

Vrednosti v peti vrstici tabele dobimo s kvadriranjem vrednosti v 2. vrstici za vsako število i.

Vrednosti v zadnjem stolpcu tabele so vsote vrednosti v vrsticah.

Za iskanje koeficientov uporabljamo formule metode najmanjših kvadratov (poiščite parametre in b. V njih nadomestimo ustrezne vrednosti iz zadnjega stolpca tabele:

torej y = 0,165x+2,184- želena aproksimativna premica.

Še vedno je treba ugotoviti, katera od vrstic y = 0,165x+2,184 oz bolje približa izvirne podatke, to pomeni, naredi oceno z uporabo metode najmanjših kvadratov.

Ocena napake metode najmanjših kvadratov.

Če želite to narediti, morate izračunati vsoto kvadratov odstopanj izvirnih podatkov od teh vrstic in , manjša vrednost ustreza črti, ki bolje približa izvirne podatke v smislu metode najmanjših kvadratov.

Od , potem naravnost y = 0,165x+2,184 bolje približa izvirne podatke.

Grafična ilustracija metode najmanjših kvadratov (LS).

Na grafih je vse jasno razvidno. Rdeča črta je najdena ravna črta y = 0,165x+2,184, modra črta je , roza pike so izvirni podatki.

Zakaj je to potrebno, zakaj vsi ti približki?

Osebno ga uporabljam za reševanje težav z glajenjem podatkov, interpolacijo in ekstrapolacijo (v izvirnem primeru so morda morali najti vrednost opazovane vrednosti l pri x=3 ali kdaj x=6 z uporabo metode najmanjših kvadratov). Toda o tem bomo več govorili kasneje v drugem delu spletnega mesta.

Dokaz.

Torej, ko najdemo (poiščite parametre in b funkcija zavzame najmanjšo vrednost, je nujno, da je na tej točki matrika kvadratne oblike diferenciala drugega reda za funkcijo je bil pozitiven. Pokažimo ga.

Po izravnavi dobimo funkcijo naslednje oblike: g (x) = x + 1 3 + 1 .

Te podatke lahko približamo z uporabo linearne povezave y = a x + b z izračunom ustreznih parametrov. Za to bomo morali uporabiti tako imenovano metodo najmanjših kvadratov. Prav tako boste morali narediti risbo, da preverite, katera črta bo najbolje poravnala eksperimentalne podatke.

Yandex.RTB R-A-339285-1

Kaj točno je OLS (metoda najmanjših kvadratov)

Glavna stvar, ki jo moramo storiti, je najti takšne koeficiente linearne odvisnosti, pri katerih bo vrednost funkcije dveh spremenljivk F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2 enaka najmanjši. Z drugimi besedami, za določene vrednosti a in b bo imela vsota kvadratnih odstopanj predstavljenih podatkov od nastale ravne črte najmanjšo vrednost. To je pomen metode najmanjših kvadratov. Vse, kar moramo narediti za rešitev primera, je najti ekstrem funkcije dveh spremenljivk.

Kako izpeljati formule za izračun koeficientov

Če želite izpeljati formule za izračun koeficientov, morate ustvariti in rešiti sistem enačb z dvema spremenljivkama. Da bi to naredili, izračunamo delne odvode izraza F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2 glede na a in b ter jih enačimo z 0.

δ F (a , b) δ a = 0 δ F (a , b) δ b = 0 ⇔ - 2 ∑ i = 1 n (y i - (a x i + b)) x i = 0 - 2 ∑ i = 1 n ( y i - (a x i + b)) = 0 ⇔ a ∑ i = 1 n x i 2 + b ∑ i = 1 n x i = ∑ i = 1 n x i y i a ∑ i = 1 n x i + ∑ i = 1 n b = ∑ i = 1 n y i ⇔ a ∑ i = 1 n x i 2 + b ∑ i = 1 n x i = ∑ i = 1 n x i y i a ∑ i = 1 n x i + n b = ∑ i = 1 n y i

Za rešitev sistema enačb lahko uporabite katero koli metodo, na primer substitucijo ali Cramerjevo metodo. Posledično bi morali imeti formule, ki jih je mogoče uporabiti za izračun koeficientov z uporabo metode najmanjših kvadratov.

n ∑ i = 1 n x i y i - ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n - ∑ i = 1 n x i 2 b = ∑ i = 1 n y i - a ∑ i = 1 n x i n

Izračunali smo vrednosti spremenljivk, pri katerih funkcija
F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 bo prevzel najmanjšo vrednost. V tretjem odstavku bomo dokazali, zakaj je točno tako.

To je uporaba metode najmanjših kvadratov v praksi. Njegova formula, ki se uporablja za iskanje parametra a, vključuje ∑ i = 1 n x i, ∑ i = 1 n y i, ∑ i = 1 n x i y i, ∑ i = 1 n x i 2, kot tudi parameter
n – označuje količino eksperimentalnih podatkov. Svetujemo vam, da izračunate vsak znesek posebej. Vrednost koeficienta b se izračuna takoj za a.

Vrnimo se k izvirnemu primeru.

Primer 1

Tukaj imamo n enako pet. Da bi bilo lažje izračunati zahtevane količine, vključene v formule koeficientov, izpolnimo tabelo.

i = 1 i=2 i = 3 i=4 i=5 ∑ i = 1 5
x i 0 1 2 4 5 12
y i 2 , 1 2 , 4 2 , 6 2 , 8 3 12 , 9
x i y i 0 2 , 4 5 , 2 11 , 2 15 33 , 8
x i 2 0 1 4 16 25 46

rešitev

Četrta vrstica vključuje podatke, pridobljene z množenjem vrednosti iz druge vrstice z vrednostmi tretje za vsako posamezno i. V peti vrstici so podatki iz druge, na kvadrat. Zadnji stolpec prikazuje vsote vrednosti posameznih vrstic.

Uporabimo metodo najmanjših kvadratov za izračun koeficientov a in b, ki ju potrebujemo. Če želite to narediti, zamenjajte zahtevane vrednosti iz zadnjega stolpca in izračunajte zneske:

n ∑ i = 1 n x i y i - ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n - ∑ i = 1 n x i 2 b = ∑ i = 1 n y i - a ∑ i = 1 n x i n ⇒ a = 5 33, 8 - 12 12, 9 5 46 - 12 2 b = 12, 9 - a 12 5 ⇒ a ≈ 0, 165 b ≈ 2, 184

Izkaže se, da bo zahtevana aproksimativna ravna črta videti kot y = 0, 165 x + 2, 184. Sedaj moramo ugotoviti, katera črta bo bolje približala podatke - g (x) = x + 1 3 + 1 ali 0, 165 x + 2, 184. Ocenimo z metodo najmanjših kvadratov.

Za izračun napake moramo najti vsoto kvadratov odstopanj podatkov od ravnih črt σ 1 = ∑ i = 1 n (y i - (a x i + b i)) 2 in σ 2 = ∑ i = 1 n (y i - g (x i)) 2, bo najmanjša vrednost ustrezala primernejši liniji.

σ 1 = ∑ i = 1 n (y i - (a x i + b i)) 2 = = ∑ i = 1 5 (y i - (0, 165 x i + 2, 184)) 2 ≈ 0, 019 σ 2 = ∑ i = 1 n (y i - g (x i)) 2 = = ∑ i = 1 5 (y i - (x i + 1 3 + 1)) 2 ≈ 0,096

odgovor: od σ 1< σ 2 , то прямой, наилучшим образом аппроксимирующей исходные данные, будет
y = 0,165 x + 2,184.

Metoda najmanjših kvadratov je jasno prikazana na grafični ilustraciji. Rdeča črta označuje premico g (x) = x + 1 3 + 1, modra črta označuje y = 0, 165 x + 2, 184. Izvirni podatki so označeni z rožnatimi pikami.

Naj pojasnimo, zakaj so potrebni točno taki približki.

Uporabljajo se lahko pri nalogah, ki zahtevajo glajenje podatkov, pa tudi pri tistih, kjer je treba podatke interpolirati ali ekstrapolirati. Na primer, v zgoraj obravnavanem problemu bi lahko našli vrednost opazovane količine y pri x = 3 ali pri x = 6. Takim primerom smo posvetili poseben članek.

Dokaz metode OLS

Da funkcija zavzame minimalno vrednost, ko sta izračunana a in b, je potrebno, da je v dani točki matrika kvadratne oblike diferenciala funkcije oblike F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2 je pozitivno določen. Pokažimo vam, kako bi moralo izgledati.

Primer 2

Imamo diferencial drugega reda naslednje oblike:

d 2 F (a ; b) = δ 2 F (a ; b) δ a 2 d 2 a + 2 δ 2 F (a ; b) δ a δ b d a d b + δ 2 F (a ; b) δ b 2 d 2 b

rešitev

δ 2 F (a ; b) δ a 2 = δ δ F (a ; b) δ a δ a = = δ - 2 ∑ i = 1 n (y i - (a x i + b)) x i δ a = 2 ∑ i = 1 n (x i) 2 δ 2 F (a; b) δ a δ b = δ δ F (a; b) δ a δ b = = δ - 2 ∑ i = 1 n (y i - (a x i + b) ) x i δ b = 2 ∑ i = 1 n x i δ 2 F (a ; b) δ b 2 = δ δ F (a ; b) δ b δ b = δ - 2 ∑ i = 1 n (y i - (a x i + b)) δ b = 2 ∑ i = 1 n (1) = 2 n

Z drugimi besedami, to lahko zapišemo takole: d 2 F (a ; b) = 2 ∑ i = 1 n (x i) 2 d 2 a + 2 2 ∑ x i i = 1 n d a d b + (2 n) d 2 b.

Dobili smo matriko kvadratne oblike M = 2 ∑ i = 1 n (x i) 2 2 ∑ i = 1 n x i 2 ∑ i = 1 n x i 2 n .

V tem primeru se vrednosti posameznih elementov ne bodo spreminjale glede na a in b. Ali je ta matrika pozitivno določena? Za odgovor na to vprašanje preverimo, ali so njegovi kotni minori pozitivni.

Izračunamo kotni minor prvega reda: 2 ∑ i = 1 n (x i) 2 > 0 . Ker točke x i ne sovpadajo, je neenakost stroga. To bomo upoštevali pri nadaljnjih izračunih.

Izračunamo kotni minor drugega reda:

d e t (M) = 2 ∑ i = 1 n (x i) 2 2 ∑ i = 1 n x i 2 ∑ i = 1 n x i 2 n = 4 n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2

Po tem nadaljujemo z dokazovanjem neenakosti n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 z uporabo matematične indukcije.

  1. Preverimo, ali ta neenakost velja za poljuben n. Vzemimo 2 in izračunajmo:

2 ∑ i = 1 2 (x i) 2 - ∑ i = 1 2 x i 2 = 2 x 1 2 + x 2 2 - x 1 + x 2 2 = = x 1 2 - 2 x 1 x 2 + x 2 2 = x 1 + x 2 2 > 0

Dobili smo pravilno enakost (če vrednosti x 1 in x 2 ne sovpadata).

  1. Predpostavimo, da bo ta neenakost resnična za n, tj. n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 – drži.
  2. Zdaj bomo dokazali veljavnost za n + 1, tj. da je (n + 1) ∑ i = 1 n + 1 (x i) 2 - ∑ i = 1 n + 1 x i 2 > 0, če je n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 .

Izračunamo:

(n + 1) ∑ i = 1 n + 1 (x i) 2 - ∑ i = 1 n + 1 x i 2 = = (n + 1) ∑ i = 1 n (x i) 2 + x n + 1 2 - ∑ i = 1 n x i + x n + 1 2 = = n ∑ i = 1 n (x i) 2 + n x n + 1 2 + ∑ i = 1 n (x i) 2 + x n + 1 2 - - ∑ i = 1 n x i 2 + 2 x n + 1 ∑ i = 1 n x i + x n + 1 2 = = ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + n x n + 1 2 - x n + 1 ∑ i = 1 n x i + ∑ i = 1 n (x i) 2 = = ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + x n + 1 2 - 2 x n + 1 x 1 + x 1 2 + + x n + 1 2 - 2 x n + 1 x 2 + x 2 2 + . . . + x n + 1 2 - 2 x n + 1 x 1 + x n 2 = = n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + + (x n + 1 - x 1) 2 + (x n + 1) - x 2) 2 + . . . + (x n - 1 - x n) 2 > 0

Izraz v zavitih oklepajih bo večji od 0 (glede na to, kar smo predpostavili v 2. koraku), preostali členi pa bodo večji od 0, saj so vsi kvadrati števil. Neenakost smo dokazali.

odgovor: najdena a in b bosta ustrezala najmanjši vrednosti funkcije F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2, kar pomeni, da sta zahtevana parametra metode najmanjših kvadratov. (LSM).

Če v besedilu opazite napako, jo označite in pritisnite Ctrl+Enter



Vam je bil članek všeč? Delite s prijatelji!