Mažiausių kvadratų metodas „Excel“. Regresinė analizė

KURSINIS DARBAS

disciplina: informatika

Tema: Funkcijų aproksimacija naudojant mažiausių kvadratų metodą

Įvadas

1. Problemos pareiškimas

2. Skaičiavimo formulės

Skaičiavimas naudojant lenteles, padarytas naudojant Microsoft Excel

Algoritmo schema

Skaičiavimas MathCad

Rezultatai, gauti naudojant linijinę funkciją

Rezultatų pateikimas grafikų pavidalu

Įvadas

Kursinio darbo tikslas – pagilinti informatikos žinias, ugdyti ir įtvirtinti įgūdžius dirbant su Microsoft Excel skaičiuoklių procesoriumi bei MathCAD programiniu produktu ir juos panaudoti sprendžiant problemas naudojant kompiuterį iš dalykinės srities, susijusios su moksliniais tyrimais.

Aproksimacija (iš lotynų kalbos "approximare" - "priartėti") yra apytikslė bet kokių matematinių objektų (pavyzdžiui, skaičių ar funkcijų) išraiška per kitus, kurie yra paprastesni, patogesni naudoti ar tiesiog geriau žinomi. Moksliniuose tyrimuose aproksimacija naudojama aprašyti, analizuoti, apibendrinti ir toliau naudoti empirinius rezultatus.

Kaip žinoma, gali būti tikslus (funkcinis) ryšys tarp dydžių, kai viena konkreti reikšmė atitinka vieną argumento reikšmę, ir ne toks tikslus (koreliacinis) ryšys, kai viena konkreti argumento reikšmė atitinka apytikslę reikšmę arba tam tikras funkcijų reikšmių rinkinys, vienaip ar kitaip artimas viena kitai. Atliekant mokslinius tyrimus, apdorojant stebėjimo ar eksperimento rezultatus, dažniausiai tenka susidurti su antruoju variantu.

Tiriant įvairių rodiklių, kurių reikšmės nustatomos empiriškai, kiekybines priklausomybes, paprastai pastebimas tam tikras kintamumas. Ją iš dalies lemia tiriamų negyvosios ir ypač gyvosios gamtos objektų nevienalytiškumas, iš dalies – stebėjimo ir kiekybinio medžiagų apdorojimo paklaida. Paskutinis komponentas ne visada gali būti visiškai pašalintas, jį galima sumažinti tik kruopščiai parinkus tinkamą tyrimo metodą ir kruopščiai dirbant. Todėl atliekant bet kokį tiriamąjį darbą iškyla problema nustatyti tikrąjį tiriamų rodiklių priklausomybės pobūdį, vienokį ar kitokį laipsnį, užmaskuotą kintamumo: reikšmių neatsižvelgimu. Tam naudojamas aproksimavimas - apytikslis kintamųjų priklausomybės nuo koreliacijos aprašymas pagal tinkamą funkcinės priklausomybės lygtį, kuri perteikia pagrindinę priklausomybės tendenciją (arba jos „tendenciją“).

Renkantis aproksimaciją, reikia vadovautis konkrečia tyrimo problema. Paprastai kuo paprastesnė lygtis naudojama aproksimavimui, tuo apytikslis gaunamas ryšio aprašymas. Todėl svarbu perskaityti, kiek reikšmingų ir kas lemia konkrečių verčių nukrypimus nuo gautos tendencijos. Aprašant empiriškai nustatytų verčių priklausomybę, daug didesnį tikslumą galima pasiekti naudojant kokią nors sudėtingesnę, daugiaparametrinę lygtį. Tačiau nėra prasmės stengtis maksimaliai tiksliai perteikti atsitiktinius verčių nuokrypius konkrečiose empirinių duomenų serijose. Daug svarbiau yra suvokti bendrą modelį, kuris šiuo atveju logiškiausiai ir priimtinu tikslumu išreiškiamas tiksliai dviejų parametrų galios funkcijos lygtimi. Taigi, rinkdamasis aproksimacijos metodą, tyrėjas visada daro kompromisą: nusprendžia, kiek šiuo atveju patartina ir tikslinga „aukoti“ detales ir atitinkamai kaip bendrai turi būti išreikšta lyginamų kintamųjų priklausomybė. Kartu su modelių, užmaskuotų atsitiktiniais empirinių duomenų nuokrypiais nuo bendrojo modelio, identifikavimo aproksimacija leidžia išspręsti ir daugelį kitų svarbių problemų: formalizuoti rastą priklausomybę; raskite nežinomas priklausomo kintamojo reikšmes interpoliuodami arba, jei reikia, ekstrapoliuodami.

Kiekvienoje užduotyje suformuluojamos uždavinio sąlygos, pradiniai duomenys, rezultatų išdavimo forma, nurodomos pagrindinės matematinės priklausomybės uždaviniui spręsti. Pagal problemos sprendimo metodą sudaromas sprendimo algoritmas, kuris pateikiamas grafine forma.

1. Problemos pareiškimas

1. Naudodami mažiausių kvadratų metodą, apytiksliai apskaičiuokite lentelėje pateiktą funkciją:

a) pirmojo laipsnio daugianario ;

b) antrojo laipsnio daugianario;

c) eksponentinė priklausomybė.

Kiekvienai priklausomybei apskaičiuokite determinizmo koeficientą.

Apskaičiuokite koreliacijos koeficientą (tik a atveju).

Kiekvienai priklausomybei nubrėžkite tendencijos liniją.

Naudodamiesi funkcija LINEST, apskaičiuokite priklausomybės nuo skaitines charakteristikas.

Palyginkite savo skaičiavimus su rezultatais, gautais naudojant funkciją LINEST.

Padarykite išvadą, kuri iš gautų formulių geriausiai atitinka funkciją.

Parašykite programą viena iš programavimo kalbų ir palyginkite skaičiavimo rezultatus su gautais aukščiau.

3 variantas. Funkcija pateikta lentelėje. 1.

1 lentelė.


2. Skaičiavimo formulės

Dažnai, analizuojant empirinius duomenis, reikia rasti funkcinį ryšį tarp dydžių x ir y, kurie gaunami patirties ar matavimų rezultatu.

Xi (nepriklausoma reikšmė) nustato eksperimentuotojas, o yi, vadinama empirinėmis arba eksperimentinėmis reikšmėmis, gaunama eksperimento metu.

Tarp dydžių x ir y egzistuojančio funkcinio ryšio analitinė forma dažniausiai nežinoma, todėl iškyla praktiškai svarbi užduotis – rasti empirinę formulę.

, (1)

(kur yra parametrai), kurių reikšmės mažai skirtųsi nuo eksperimentinių verčių.

Pagal mažiausiųjų kvadratų metodą geriausi yra tie koeficientai, kuriems nustatytos empirinės funkcijos kvadratinių nuokrypių suma nuo nurodytų funkcijos reikšmių bus minimali.

Naudodami būtiną kelių kintamųjų funkcijos ekstremumo sąlygą - dalinių išvestinių lygybę nuliui, randame koeficientų rinkinį, kuris pateikia (2) formule apibrėžtos funkcijos minimumą ir gauname normalią koeficientų nustatymo sistemą. :

(3)

Taigi koeficientų radimas sumažinamas iki sistemos (3) sprendimo.

Sistemos tipas (3) priklauso nuo empirinių formulių klasės, nuo kurios ieškome priklausomybės (1). Tiesinės priklausomybės atveju sistema (3) bus tokia:

(4)

Kvadratinės priklausomybės atveju sistema (3) bus tokia:

(5)

Kai kuriais atvejais funkcija, kurioje neapibrėžtieji koeficientai įvedami netiesiškai, imama kaip empirinė formulė. Tokiu atveju kartais problema gali būti tiesinė, t.y. sumažinti iki linijinio. Tokios priklausomybės apima ir eksponentinę priklausomybę

kur a1 ir a2 yra neapibrėžti koeficientai.

Linearizacija pasiekiama imant lygybės (6) logaritmą, po kurio gauname ryšį

(7)

Pažymėkime ir atitinkamai pagal ir , tada priklausomybę (6) galima parašyti forma , kuri leidžia taikyti formules (4) pakeičiant a1 ir .

Rekonstruotos funkcinės priklausomybės y(x) grafikas pagal matavimo rezultatus (xi, yi), i=1,2,…,n vadinamas regresijos kreive. Norint patikrinti sudarytos regresijos kreivės sutapimą su eksperimentiniais rezultatais, dažniausiai įvedamos šios skaitinės charakteristikos: koreliacijos koeficientas (tiesinė priklausomybė), koreliacijos koeficientas ir determinacijos koeficientas.

Koreliacijos koeficientas yra tiesinio ryšio tarp priklausomų atsitiktinių dydžių matas: jis parodo, kaip vidutiniškai vienas iš kintamųjų gali būti pavaizduotas kaip kito tiesinė funkcija.

Koreliacijos koeficientas apskaičiuojamas pagal formulę:

(8)

(9)

kur yra atitinkamai x, y aritmetinis vidurkis.

Koreliacijos koeficientas tarp atsitiktinių dydžių absoliučia verte neviršija 1. Kuo arčiau 1, tuo tiesinis ryšys tarp x ir y yra artimesnis.

Netiesinės koreliacijos atveju sąlyginės vidutinės vertės yra šalia lenktos linijos. Šiuo atveju kaip ryšio stiprumo charakteristiką rekomenduojama naudoti koreliacijos santykį, kurio interpretacija nepriklauso nuo tiriamos priklausomybės tipo.

Koreliacijos santykis apskaičiuojamas pagal formulę:

(10)

Kur o skaitiklis apibūdina sąlyginių vidurkių sklaidą aplink besąlyginį vidurkį.

Visada. Lygybė = atitinka atsitiktines nekoreliuotas reikšmes; = tada ir tik tada, kai tarp x ir y yra tikslus funkcinis ryšys. Esant tiesinei y priklausomybei nuo x, koreliacijos santykis sutampa su koreliacijos koeficiento kvadratu. Vertė naudojama kaip regresijos nuokrypio nuo tiesinės rodiklis.

Koreliacijos koeficientas yra koreliacijos tarp y ir x bet kokia forma matas, tačiau jis negali duoti supratimo apie empirinių duomenų priartinimo prie specialios formos laipsnį. Norint išsiaiškinti, kaip tiksliai sudaryta kreivė atspindi empirinius duomenis, įvedama dar viena charakteristika – determinacijos koeficientas.

Determinizmo koeficientas nustatomas pagal formulę:

kur Sres = - likutinė kvadratų suma, apibūdinanti eksperimentinių duomenų nuokrypį nuo teorinių. total - bendra kvadratų suma, kur vidutinė reikšmė yra yi.

- duomenų sklaidą apibūdinančių kvadratų regresinė suma.

Kuo mažesnė likutinė kvadratų suma, palyginti su visa kvadratų suma, tuo didesnis determinacijos koeficientas r2, kuris parodo, kaip regresijos lygtis paaiškina ryšius tarp kintamųjų. Jei jis lygus 1, tai yra visiška koreliacija su modeliu, t.y. nėra skirtumo tarp tikrosios ir numatomos y verčių. Priešingu atveju, jei determinacijos koeficientas yra 0, regresijos lygtis nepavyksta nuspėti y reikšmių.

Determinizmo koeficientas visada neviršija koreliacijos santykio. Tuo atveju, kai lygybė tenkinama, galime manyti, kad sukonstruota empirinė formulė tiksliausiai atspindi empirinius duomenis.

3. Skaičiavimas naudojant lenteles, padarytas naudojant Microsoft Excel

Skaičiavimams atlikti patartina duomenis išdėstyti 2 lentelės forma, naudojant Microsoft Excel skaičiuoklių procesorių.

2 lentelė












Paaiškinkime, kaip sudaroma 2 lentelė.

1 veiksmas. Langeliuose A1:A25 įvedame reikšmes xi.

2 veiksmas. Langeliuose B1:B25 įvedame yi reikšmes.

3 veiksmas. C1 langelyje įveskite formulę = A1^2.

4 veiksmas. Ši formulė nukopijuojama į langelius C1:C25.

5 veiksmas. D1 langelyje įveskite formulę = A1 * B1.

6 veiksmas. Ši formulė nukopijuojama į langelius D1:D25.

7 veiksmas. F1 langelyje įveskite formulę = A1^4.

8 veiksmas. Ši formulė nukopijuojama į langelius F1:F25.

9 veiksmas. G1 langelyje įveskite formulę = A1^2*B1.

10 veiksmas. Ši formulė nukopijuojama į langelius G1:G25.

11 veiksmas. Langelyje H1 įveskite formulę = LN(B1).

12 veiksmas. Ši formulė nukopijuojama į langelius H1:H25.

13 veiksmas. I1 langelyje įveskite formulę = A1*LN(B1).

14 veiksmas. Ši formulė nukopijuojama į langelius I1:I25.

Tolesnius veiksmus atliekame naudodami automatinį sumavimą S.

15 veiksmas. A26 langelyje įveskite formulę = SUM(A1:A25).

16 veiksmas. Langelyje B26 įveskite formulę = SUM(B1:B25).

17 veiksmas. C26 langelyje įveskite formulę = SUM(C1:C25).

18 veiksmas. D26 langelyje įveskite formulę = SUM(D1:D25).

19 veiksmas. E26 langelyje įveskite formulę = SUM(E1:E25).

20 veiksmas. Langelyje F26 įveskite formulę = SUM(F1:F25).

21 veiksmas. G26 langelyje įveskite formulę = SUM(G1:G25).

22 veiksmas. Langelyje H26 įveskite formulę = SUM(H1:H25).

23 veiksmas. I26 langelyje įveskite formulę = SUM(I1:I25).

Apytiksliai nustatykime funkciją tiesine funkcija. Koeficientams nustatyti naudosime sistemą (4). Naudodami 2 lentelės sumas, esančias langeliuose A26, B26, C26 ir D26, rašome sistemą (4) formoje

(11)

kurią išspręsdami gauname Ir .

Sistema buvo išspręsta Cramerio metodu. Kurio esmė tokia. Apsvarstykite n algebrinių tiesinių lygčių sistemą su n nežinomųjų:

(12)

Sistemos determinantas yra sistemos matricos determinantas:

(13)

Pažymėkime - determinantą, kuris gaunamas iš sistemos determinanto Δ pakeitus j-tą stulpelį stulpeliu

Taigi, tiesinė aproksimacija turi formą

Sistemą (11) sprendžiame Microsoft Excel pagalba. Rezultatai pateikti 3 lentelėje.

3 lentelė











atvirkštinė matrica






3 lentelėje langeliuose A32:B33 rašoma formulė (=MOBR(A28:B29)).

Langeliuose E32:E33 rašoma formulė (=MULTIPLE(A32:B33),(C28:C29)).

Toliau funkciją aproksimuojame kvadratine funkcija . Koeficientams a1, a2 ir a3 nustatyti naudojame sistemą (5). Naudodami 2 lentelės sumas, esančias langeliuose A26, B26, C26, D26, E26, F26, G26, rašome sistemą (5) formoje

(16)

išsprendę, gauname a1 = 10.663624, Ir

Taigi kvadratinė aproksimacija turi formą

Sistemą (16) sprendžiame Microsoft Excel pagalba. Rezultatai pateikti 4 lentelėje.

4 lentelė














atvirkštinė matrica







4 lentelėje langeliuose A41:C43 rašoma formulė (=MOBR(A36:C38)).

Langeliuose F41:F43 rašoma formulė (=MULTIPLE(A41:C43),(D36:D38)).

Dabar apytiksliai įvertinkime funkciją eksponentine funkcija. Norėdami nustatyti koeficientus ir, imame reikšmių logaritmą ir, naudodami 2 lentelės sumas, esančias langeliuose A26, C26, H26 ir I26, gauname sistemą

(18)

Išsprendę sistemą (18), gauname ir .

Po stiprinimo gauname .

Taigi eksponentinė aproksimacija turi formą

Sistemą (18) sprendžiame Microsoft Excel pagalba. Rezultatai pateikti 5 lentelėje.

5 lentelė











atvirkštinė matrica




Langeliuose A50:B51 rašoma formulė (=MOBR(A46:B47)).

Langeliuose E49:E50 rašoma formulė (=MULTIPLE(A50:B51),(C46:C47)).

E51 langelyje įrašoma formulė =EXP(E49).

Apskaičiuokime aritmetinį vidurkį naudodami formules:

Skaičiavimo rezultatai naudojant Microsoft Excel pateikti 6 lentelėje.

6 lentelė



Langelyje B54 įrašoma formulė = A26/25.

Langelyje B55 formulė parašyta = B26/25

7 lentelė


1 veiksmas. J1 langelyje įveskite formulę = (A1-$B$54)*(B1-$B$55).

2 veiksmas. Ši formulė nukopijuojama į langelius J2:J25.

3 veiksmas. K1 langelyje įveskite formulę = (A1-$B$54)^2.

4 veiksmas. Ši formulė nukopijuojama į langelius k2:K25.

5 veiksmas. L1 langelyje įveskite formulę = (B1-$B$55)^2.

6 veiksmas. Ši formulė nukopijuojama į langelius L2:L25.

7 veiksmas. M1 langelyje įveskite formulę = ($E$32+$E$33*A1-B1)^2.

8 veiksmas. Ši formulė nukopijuojama į langelius M2:M25.

9 veiksmas. N1 langelyje įveskite formulę = ($F$41+$F$42*A1+$F$43*A1^2-B1)^2.

10 veiksmas. Ši formulė nukopijuojama į langelius N2:N25.

11 veiksmas. O1 langelyje įveskite formulę = ($E$51*EXP($E$50*A1)-B1)^2.

12 veiksmas. Ši formulė nukopijuojama į langelius O2:O25.

Tolesnius veiksmus atliekame naudodami automatinį sumavimą S.

13 veiksmas. J26 langelyje įveskite formulę = SUM(J1:J25).

14 veiksmas. K26 langelyje įveskite formulę = SUM(K1:K25).

15 veiksmas. L26 langelyje įveskite formulę = CUM(L1:L25).

16 veiksmas. M26 langelyje įveskite formulę = SUM(M1:M25).

17 veiksmas. Ląstelėje N26 įveskite formulę = SUM(N1:N25).

18 veiksmas. Langelyje O26 įveskite formulę = SUM(O1:O25).

Dabar apskaičiuokime koreliacijos koeficientą naudodami (8) formulę (tik tiesiniam aproksimavimui), o determinacijos koeficientą naudodami (10) formulę. Skaičiavimų naudojant Microsoft Excel rezultatus pateikti 8 lentelėje.

8 lentelė


Koreliacijos koeficientas

Determinizmo koeficientas (tiesinis aproksimacija)



Determinizmo koeficientas (kvadratinė aproksimacija)



Determinizmo koeficientas (eksponentinis aproksimacija)



E57 langelyje formulė parašyta =J26/(K26*L26)^(1/2).

E59 langelyje parašyta formulė = 1-M26/L26.

E61 langelyje parašyta formulė = 1-N26/L26.

E63 langelyje parašyta formulė = 1-O26/L26.

Skaičiavimo rezultatų analizė rodo, kad kvadratinė aproksimacija geriausiai apibūdina eksperimentinius duomenis.

Algoritmo schema

Ryžiai. 1. Skaičiavimo programos algoritmo schema.

5. Skaičiavimas MathCad

Tiesinė regresija

· tiesė (x, y) - dviejų elementų vektorius (b, a) tiesinės regresijos koeficientai b+ax;

· x - realių argumentų duomenų vektorius;

· y yra to paties dydžio realių duomenų reikšmių vektorius.

2 pav.

Polinominė regresija reiškia duomenų (x1, y1) aproksimavimą k-ojo laipsnio polinomu.K=i polinomas yra tiesė, k=2 - parabolė, k=3 - kubinė parabolė ir kt. Kaip taisyklė, praktikoje k<5.

· regresas (x,y,k) - koeficientų vektorius daugianario duomenų regresijai konstruoti;

· interp (s,x,y,t) - daugianario regresijos rezultatas;

· s=regress(x,y,k);

· x – realių argumentų duomenų vektorius, kurio elementai išdėstyti didėjančia tvarka;

· y yra to paties dydžio realių duomenų reikšmių vektorius;

· k - regresijos polinomo laipsnis (teigiamas sveikasis skaičius);

· t – regresijos daugianario argumento reikšmė.

3 pav

Be aptartų, į Mathcad yra integruota dar keletas trijų parametrų regresijos tipų, kurių įgyvendinimas šiek tiek skiriasi nuo aukščiau pateiktų regresijos parinkčių tuo, kad jiems, be duomenų masyvo, būtina nurodyti kai kurias pradines reikšmes ​koeficientų a, b, c. Naudokite atitinkamą regresijos tipą, jei gerai žinote, kokia priklausomybė apibūdina jūsų duomenų rinkinį. Kai regresijos tipas netinkamai atspindi duomenų seką, rezultatas dažnai būna nepatenkinamas ir netgi labai skiriasi priklausomai nuo pradinių reikšmių pasirinkimo. Kiekviena funkcija sukuria patobulintų parametrų a, b, c vektorių.

Rezultatai gauti naudojant LINEST funkciją

Pažvelkime į funkcijos LINEST paskirtį.

Ši funkcija naudoja mažiausius kvadratus, kad apskaičiuotų tiesę, kuri geriausiai atitinka pateiktus duomenis.

Funkcija grąžina masyvą, aprašantį gautą eilutę. Tiesios linijos lygtis yra tokia:

M1x1 + m2x2 + ... + b arba y = mx + b,

lentelės algoritmas „Microsoft“ programinė įranga

kur priklausomoji reikšmė y yra nepriklausomos reikšmės x funkcija. M reikšmės yra koeficientai, atitinkantys kiekvieną nepriklausomą kintamąjį x, o b yra konstanta. Atkreipkite dėmesį, kad y, x ir m gali būti vektoriai.

Norėdami gauti rezultatus, turite sukurti lentelės formulę, kuri užims 5 eilutes ir 2 stulpelius. Šis intervalas gali būti bet kurioje darbalapio vietoje. Per šį intervalą turite įvesti funkciją LINEST.

Dėl to visi intervalo A65:B69 langeliai turi būti užpildyti (kaip parodyta 9 lentelėje).

9 lentelė.



Paaiškinkime kai kurių 9 lentelėje pateiktų kiekių paskirtį.

A65 ir B65 langeliuose esančios reikšmės apibūdina atitinkamai nuolydį ir poslinkį. - determinacijos koeficientas. - F-stebėta vertė. - laisvės laipsnių skaičius. - kvadratų regresinė suma. - likutinė kvadratų suma.

Rezultatų pateikimas grafikų pavidalu

Ryžiai. 4. Tiesinės aproksimacijos grafikas

Ryžiai. 5. Kvadratinės aproksimacijos grafikas

Ryžiai. 6. Eksponentinio derinimo grafikas

išvadas

Remdamiesi gautų duomenų rezultatais, padarykime išvadas.

Skaičiavimo rezultatų analizė rodo, kad kvadratinė aproksimacija geriausiai apibūdina eksperimentinius duomenis, nes jos tendencijos linija tiksliausiai atspindi funkcijos elgesį šioje srityje.

Palyginus rezultatus, gautus naudojant funkciją LINEST, matome, kad jie visiškai sutampa su aukščiau atliktais skaičiavimais. Tai rodo, kad skaičiavimai yra teisingi.

Rezultatai, gauti naudojant MathCad programą, visiškai sutampa su aukščiau pateiktomis reikšmėmis. Tai rodo skaičiavimų tikslumą.

Bibliografija

1 B.P. Demidovičius, I.A. Maroon. Skaičiavimo matematikos pagrindai. M: Valstybinė fizinės ir matematinės literatūros leidykla.

2 Informatika: vadovėlis, leid. prof. N.V. Makarova. M: Finansai ir statistika, 2007 m.

3 Informatika: kompiuterinių technologijų seminaras, red. prof. N.V. Makarova. M: Finansai ir statistika, 2010 m.

4 V.B. Komyaginas. Programavimas Excel naudojant Visual Basic. M: Radijas ir ryšys, 2007 m.

5 N. Nicole, R. Albrecht. Excel. Skaičiuoklės. M: Red. „ECOM“, 2008 m.

6 Informatikos kursinių darbų atlikimo gairės (visų specialybių neakivaizdiniams studentams), red. Žurova G. N., Sankt Peterburgo valstybinis hidrologijos institutas (TU), 2011 m.

Kuris randa plačiausią pritaikymą įvairiose mokslo ir praktinės veiklos srityse. Tai gali būti fizika, chemija, biologija, ekonomika, sociologija, psichologija ir t. t. ir taip toliau. Likimo valia man dažnai tenka susidurti su ekonomika, todėl šiandien surengsiu jums kelionę į nuostabią šalį, vadinamą Ekonometrija=) ...Kaip to nenorėti?! Ten labai gerai – tereikia apsispręsti! ...Bet ko jūs tikriausiai tikrai norite, tai išmokti spręsti problemas mažiausių kvadratų metodas. O ypač stropūs skaitytojai išmoks juos išspręsti ne tik tiksliai, bet ir LABAI GREITAI ;-) Bet pirmiausia bendras problemos išdėstymas+ pridedamas pavyzdys:

Panagrinėkime tam tikros dalykinės srities rodiklius, kurie turi kiekybinę išraišką. Tuo pačiu yra pagrindo manyti, kad rodiklis priklauso nuo rodiklio. Ši prielaida gali būti mokslinė hipotezė arba pagrįsta sveiku protu. Tačiau palikime mokslą nuošalyje ir tyrinėkime patrauklesnes sritis – būtent bakalėjos parduotuves. Pažymėkime taip:

– maisto prekių parduotuvės mažmeninės prekybos plotas, kv.m.
– maisto prekių parduotuvės metinė apyvarta, milijonai rublių.

Visiškai aišku, kad kuo didesnis parduotuvės plotas, tuo dažniausiai jos apyvarta bus didesnė.

Tarkime, kad po stebėjimų/eksperimentų/skaičiavimų/šokimų su tamburinu turime skaitinius duomenis:

Su bakalėjos parduotuvėmis, manau, viskas aišku: - tai 1-os parduotuvės plotas, - jos metinė apyvarta, - 2-osios parduotuvės plotas, - jos metinė apyvarta ir t.t. Beje, prieiti prie įslaptintos medžiagos visai nebūtina – gana tikslų prekybos apyvartos įvertinimą galima gauti naudojant matematinė statistika. Tačiau nesiblaškykime, komercinio šnipinėjimo kursai jau mokami =)

Lentelės duomenys taip pat gali būti parašyti taškų forma ir pavaizduoti pažįstama forma Dekarto sistema .

Atsakykime į svarbų klausimą: Kiek balų reikia kokybiniam tyrimui?

Kuo didesnis, tuo geriau. Minimalus priimtinas rinkinys susideda iš 5-6 taškų. Be to, kai duomenų kiekis mažas, „anomalių“ rezultatų negalima įtraukti į imtį. Taigi, pavyzdžiui, nedidelė elito parduotuvė gali uždirbti daug daugiau nei „jos kolegos“, taip iškraipydami bendrą modelį, kurį turite rasti!

Kalbant labai paprastai, turime pasirinkti funkciją, tvarkaraštį kuri eina kuo arčiau taškų . Ši funkcija vadinama apytikslis (apytikslis - apytikslis) arba teorinė funkcija . Paprastai tariant, čia iš karto atsiranda akivaizdus „pretendentas“ - aukšto laipsnio daugianario, kurio grafikas eina per VISUS taškus. Tačiau ši parinktis yra sudėtinga ir dažnai tiesiog neteisinga. (kadangi grafikas visą laiką bus „kilpas“ ir prastai atspindės pagrindinę tendenciją).

Taigi, ieškoma funkcija turi būti gana paprasta ir tuo pačiu adekvačiai atspindėti priklausomybę. Kaip jau galima spėti, vienas iš būdų rasti tokias funkcijas vadinamas mažiausių kvadratų metodas. Pirmiausia pažvelkime į jo esmę bendrai. Tegul kuri nors funkcija apytiksliai atitinka eksperimentinius duomenis:


Kaip įvertinti šio aproksimavimo tikslumą? Taip pat apskaičiuokime skirtumus (nukrypimus) tarp eksperimentinių ir funkcinių verčių (mes studijuojame piešinį). Pirma mintis, kuri ateina į galvą, yra įvertinti, kokia yra suma, bet problema ta, kad skirtumai gali būti neigiami (Pavyzdžiui, ) ir nukrypimai dėl tokio sumavimo panaikins vienas kitą. Todėl, norint įvertinti aproksimacijos tikslumą, reikia paimti sumą moduliai nukrypimai:

arba sugriuvo: (jei kas nors nežino: – tai sumos piktograma ir – pagalbinis „skaitiklio“ kintamasis, kurio reikšmės yra nuo 1 iki ).

Aproksimuodami eksperimentinius taškus su skirtingomis funkcijomis gausime skirtingas reikšmes, ir akivaizdu, kad ten, kur ši suma mažesnė, ta funkcija yra tikslesnė.

Toks metodas egzistuoja ir jis vadinamas mažiausio modulio metodas. Tačiau praktikoje jis tapo daug plačiau paplitęs mažiausių kvadratų metodas, kuriame galimas neigiamas reikšmes pašalina ne modulis, o nukrypimus kvadratu:

, po to stengiamasi parinkti tokią funkciją, kuri atitiktų kvadratinių nuokrypių sumą buvo kuo mažesnis. Tiesą sakant, iš čia ir kilęs metodo pavadinimas.

Ir dabar grįžtame prie kito svarbaus dalyko: kaip minėta aukščiau, pasirinkta funkcija turėtų būti gana paprasta, tačiau tokių funkcijų taip pat yra daug: linijinis , hiperbolinis, eksponentinis, logaritminis, kvadratinis ir tt Ir, žinoma, čia aš iš karto norėčiau „sumažinti veiklos sritį“. Kurią funkcijų klasę turėčiau pasirinkti tyrimui? Primityvi, bet efektyvi technika:

– Lengviausias būdas – vaizduoti taškus brėžinyje ir išanalizuokite jų vietą. Jei jie linkę važiuoti tiesia linija, tuomet turėtumėte ieškoti tiesės lygtis su optimaliomis reikšmėmis ir . Kitaip tariant, užduotis yra rasti TOKIUS koeficientus, kad kvadratinių nuokrypių suma būtų mažiausia.

Jei taškai yra, pavyzdžiui, išilgai hiperbolė, tada akivaizdu, kad tiesinė funkcija duos prastą aproksimaciją. Šiuo atveju mes ieškome „palankiausių“ hiperbolės lygties koeficientų – tie, kurie duoda mažiausią kvadratų sumą .

Dabar atkreipkite dėmesį, kad abiem atvejais mes kalbame apie dviejų kintamųjų funkcijos, kurio argumentai yra ieškojo priklausomybės parametrų:

Ir iš esmės turime išspręsti standartinę problemą – rasti minimali dviejų kintamųjų funkcija.

Prisiminkime mūsų pavyzdį: tarkime, kad „parduotuvės“ taškai paprastai yra tiesioje linijoje ir yra pagrindo manyti, kad tiesinė priklausomybė apyvartos iš prekybos ploto. Raskime TOKIUS koeficientus „a“ ir „būti“ tokius, kad nuokrypių kvadratų suma buvo mažiausias. Viskas kaip įprasta – pirma 1 eilės daliniai išvestiniai. Pagal tiesiškumo taisyklė Galite atskirti tiesiai po sumos piktograma:

Jei norite šią informaciją panaudoti rašinyje ar kursiniam darbui, būsiu labai dėkingas už nuorodą šaltinių sąraše, tokių detalių skaičiavimų rasite keliose vietose:

Sukurkime standartinę sistemą:

Kiekvieną lygtį sumažiname „dviem“ ir, be to, „išskaidome“ sumas:

Pastaba : savarankiškai analizuokite, kodėl „a“ ir „be“ galima išimti už sumos piktogramos. Beje, formaliai tai galima padaryti su suma

Perrašykime sistemą „taikoma“ forma:

po kurio pradeda ryškėti mūsų problemos sprendimo algoritmas:

Ar žinome taškų koordinates? Mes žinome. Sumos ar galime rasti? Lengvai. Padarykime paprasčiausią dviejų tiesinių lygčių sistema dviejuose nežinomuosiuose(„a“ ir „būti“). Mes išsprendžiame sistemą, pvz. Cramerio metodas, ko pasekoje gauname stacionarų tašką. Tikrinama pakankama sąlyga ekstremumui, galime patikrinti, ar šiuo metu funkcija pasiekia tiksliai minimumas. Patikrinimas apima papildomus skaičiavimus, todėl paliksime jį užkulisiuose (jei reikia, trūkstamą kadrą galima peržiūrėti). Padarome galutinę išvadą:

Funkcija geriausias būdas (bent jau lyginant su bet kuria kita tiesine funkcija) priartina eksperimentinius taškus . Grubiai tariant, jo grafikas eina kuo arčiau šių taškų. Pagal tradiciją ekonometrija taip pat vadinama gauta aproksimacinė funkcija suporuota tiesinės regresijos lygtis .

Nagrinėjama problema turi didelę praktinę reikšmę. Mūsų pavyzdinėje situacijoje Eq. leidžia numatyti, kokia prekybos apyvarta („Igrek“) parduotuvė turės vienokią ar kitokią prekybos ploto vertę (viena ar kita „x“ reikšmė). Taip, gauta prognozė bus tik prognozė, tačiau daugeliu atvejų ji pasirodys gana tiksli.

Išanalizuosiu tik vieną problemą su „tikraisiais“ skaičiais, nes joje nėra jokių sunkumų - visi skaičiavimai yra 7-8 klasių mokyklos mokymo programos lygyje. 95 procentais atvejų jūsų bus paprašyta rasti tiesiog tiesinę funkciją, tačiau pačioje straipsnio pabaigoje parodysiu, kad optimalios hiperbolės, eksponentinės ir kai kurių kitų funkcijų lygtis rasti nėra sunkiau.

Tiesą sakant, belieka išdalinti žadėtas gėrybes – kad tokius pavyzdžius išmoktumėte spręsti ne tik tiksliai, bet ir greitai. Atidžiai studijuojame standartą:

Užduotis

Ištyrus ryšį tarp dviejų rodiklių, gautos šios skaičių poros:

Naudodami mažiausių kvadratų metodą, raskite tiesinę funkciją, kuri geriausiai atitinka empirinę funkciją (Patyręs) duomenis. Padarykite brėžinį, ant kurio bus sukurti eksperimentiniai taškai, ir aproksimacinės funkcijos grafiką Dekarto stačiakampėje koordinačių sistemoje . Raskite empirinių ir teorinių reikšmių nuokrypių kvadratų sumą. Sužinokite, ar ši funkcija būtų geresnė (mažiausių kvadratų metodo požiūriu) priartinti eksperimentinius taškus.

Atkreipkite dėmesį, kad „x“ reikšmės yra natūralios, ir tai turi būdingą prasmingą reikšmę, apie kurią pakalbėsiu šiek tiek vėliau; bet jie, žinoma, gali būti ir trupmeniniai. Be to, atsižvelgiant į konkrečios užduoties turinį, „X“ ir „žaidimo“ reikšmės gali būti visiškai arba iš dalies neigiamos. Na, mums buvo duota „beveidė“ užduotis, ir mes ją pradedame sprendimas:

Kaip sistemos sprendimą randame optimalios funkcijos koeficientus:

Siekiant kompaktiškesnio įrašymo, „skaitiklio“ kintamąjį galima praleisti, nes jau aišku, kad sumavimas atliekamas nuo 1 iki .

Patogiau reikiamas sumas apskaičiuoti lentelės forma:


Skaičiavimai gali būti atliekami naudojant mikroskaičiuotuvą, tačiau daug geriau naudoti „Excel“ - tiek greičiau, tiek be klaidų; žiūrėkite trumpą vaizdo įrašą:

Taigi gauname štai ką sistema:

Čia galite padauginti antrą lygtį iš 3 ir iš 1-osios lygties atimkite 2-ąjį dėmenį. Bet tai yra sėkmė – praktikoje sistemos dažnai nėra dovana, ir tokiais atvejais tai gelbsti Cramerio metodas:
, o tai reiškia, kad sistema turi unikalų sprendimą.

Patikrinkime. Suprantu, kad nenorite, bet kam praleisti klaidas, kuriose jų visiškai negalima praleisti? Rastą sprendimą pakeisime kiekvienos sistemos lygties kairėje pusėje:

Gaunamos atitinkamų lygčių dešinės pusės, vadinasi, sistema išspręsta teisingai.

Taigi norima aproksimacinė funkcija: – nuo visos tiesinės funkcijos Būtent ji geriausiai atitinka eksperimentinius duomenis.

Skirtingai nei tiesiai parduotuvės apyvartos priklausomybė nuo jos ploto, nustatyta priklausomybė yra atvirkščiai (principas „kuo daugiau, tuo mažiau“), ir šį faktą iš karto atskleidžia neigiamas nuolydis. Funkcija nurodo, kad padidėjus tam tikram rodikliui 1 vienetu, priklausomo rodiklio reikšmė mažėja vidutinis 0,65 vnt. Kaip sakoma, kuo didesnė grikių kaina, tuo jų parduodama mažiau.

Norėdami nubraižyti aproksimacinės funkcijos grafiką, randame dvi jos reikšmes:

ir atlikite piešinį:


Sukonstruota tiesė vadinama tendencijų linija (būtent linijinė tendencijos linija, t. y. bendruoju atveju tendencija nebūtinai yra tiesi linija). Visi žino posakį „būti tendencijoje“ ir manau, kad šiam terminui papildomų komentarų nereikia.

Apskaičiuokime kvadratinių nuokrypių sumą tarp empirinių ir teorinių vertybių. Geometriškai tai yra „avietės“ ​​atkarpų ilgių kvadratų suma (iš kurių du tokie maži, kad net nesimato).

Apibendrinkime skaičiavimus lentelėje:


Vėlgi, juos galima atlikti rankiniu būdu; tik tuo atveju, pateiksiu 1 punkto pavyzdį:

bet daug efektyviau tai padaryti jau žinomu būdu:

Dar kartą kartojame: Kokia gauto rezultato prasmė?visos tiesinės funkcijos y funkcija rodiklis yra mažiausias, tai yra, jo šeimoje jis yra geriausias apytikslis. Ir čia, beje, galutinis problemos klausimas neatsitiktinis: o jeigu siūloma eksponentinė funkcija ar geriau būtų priartinti eksperimentinius taškus?

Raskime atitinkamą kvadratinių nuokrypių sumą - kad atskirtumėte, pažymėsiu juos raide „epsilon“. Technika lygiai tokia pati:


Ir vėl, tik tuo atveju, 1 taško skaičiavimai:

„Excel“ programoje naudojame standartinę funkciją EXP (sintaksę galite rasti „Excel“ žinyne).

Išvada: , o tai reiškia, kad eksponentinė funkcija eksperimentinius taškus aproksimuoja blogiau nei tiesė .

Tačiau čia reikia pažymėti, kad „blogiau“. dar nereiškia, kas blogai. Dabar sukūriau šios eksponentinės funkcijos grafiką – ji taip pat eina arti taškų – tiek, kad be analitinio tyrimo sunku pasakyti, kuri funkcija tikslesnė.

Tai užbaigia sprendimą, ir aš grįžtu prie ginčo gamtinių vertybių klausimo. Įvairiuose tyrimuose, dažniausiai ekonominiuose ar sociologiniuose, natūralūs „X“ naudojami mėnesiams, metams ar kitiems vienodiems laiko intervalams skaičiuoti. Apsvarstykite, pavyzdžiui, šią problemą.

Esu matematikas ir programuotojas. Didžiausias šuolis per savo karjerą buvo tada, kai išmokau sakyti: "Aš nieko nesuprantu!" Dabar aš nesigėdiju pasakyti mokslo šviesuoliui, kad jis man skaito paskaitą, kad aš nesuprantu, ką jis, šviesulys, man sako. Ir tai labai sunku. Taip, pripažinti savo neišmanymą yra sunku ir gėdinga. Kas mėgsta prisipažinti, kad kažko neišmano? Dėl savo profesijos tenka lankyti labai daug prezentacijų ir paskaitų, kuriose, prisipažinsiu, didžiąja dauguma atvejų norisi miego, nes nieko nesuprantu. Bet aš nesuprantu, nes didžiulė dabartinės mokslo situacijos problema slypi matematikoje. Daroma prielaida, kad visi klausytojai yra susipažinę su absoliučiai visomis matematikos sritimis (tai yra absurdiška). Pripažinti, kad nežinai, kas yra darinys (apie tai, kas tai yra kalbėsime šiek tiek vėliau), yra gėdinga.

Bet aš išmokau sakyti, kad nežinau, kas yra daugyba. Taip, aš nežinau, kas yra subalgebra virš melo algebros. Taip, aš nežinau, kodėl gyvenime reikalingos kvadratinės lygtys. Beje, jei esate tikri, kad žinote, turime apie ką pasikalbėti! Matematika yra gudrybių serija. Matematikai bando suklaidinti ir įbauginti visuomenę; kur nėra painiavos, nėra reputacijos, nėra autoriteto. Taip, prestižiška kalbėti kuo abstrakčia kalba, o tai yra visiška nesąmonė.

Ar žinote, kas yra išvestinė priemonė? Greičiausiai jūs man papasakosite apie skirtumo santykio ribą. Pirmaisiais matematikos ir mechanikos metais Sankt Peterburgo valstybiniame universitete Viktoras Petrovičius Chavinas man pasakė Atkaklus išvestinė kaip funkcijos Taylor serijos pirmojo nario koeficientas taške (tai buvo atskira gimnastika Taylor serijai nustatyti be išvestinių). Ilgai juokiausi iš šio apibrėžimo, kol galiausiai supratau, apie ką kalbama. Išvestinė yra ne kas kita, kaip paprastas matas, nurodantis, kiek funkcija, kurią išskiriame, yra panaši į funkciją y=x, y=x^2, y=x^3.

Dabar turiu garbės skaityti paskaitas studentams, kurie išsigandęs matematikos. Jei bijai matematikos, einame tuo pačiu keliu. Kai tik bandote perskaityti kokį nors tekstą ir jums atrodo, kad jis pernelyg sudėtingas, žinokite, kad jis parašytas prastai. Aš tvirtinu, kad nėra nei vienos matematikos srities, kurios nebūtų galima aptarti „ant pirštų“, neprarandant tikslumo.

Užduotis artimiausiai ateičiai: savo mokiniams paskyriau suprasti, kas yra tiesinis kvadratinis reguliatorius. Nesidrovėkite, praleiskite tris savo gyvenimo minutes ir sekite nuorodą. Jei nieko nesupranti, tai mes einame tuo pačiu keliu. Aš (profesionalus matematikas-programuotojas) irgi nieko nesupratau. Ir aš jus patikinu, galite tai išsiaiškinti „ant pirštų“. Šiuo metu nežinau, kas tai yra, bet patikinu, kad galėsime tai išsiaiškinti.

Taigi, pirmoji paskaita, kurią skaitysiu savo studentams po to, kai jie pribėgs prie manęs su siaubu ir pasakys, kad tiesinis kvadratinis reguliatorius yra baisus dalykas, kurio niekada gyvenime neįvaldysi. mažiausių kvadratų metodai. Ar galite išspręsti tiesines lygtis? Jei skaitote šį tekstą, greičiausiai ne.

Taigi, atsižvelgiant į du taškus (x0, y0), (x1, y1), pavyzdžiui, (1,1) ir (3,2), užduotis yra rasti tiesės, einančios per šiuos du taškus, lygtį:

iliustracija

Šioje eilutėje turėtų būti tokia lygtis:

Čia alfa ir beta mums nežinomi, tačiau žinomi du šios linijos taškai:

Šią lygtį galime parašyti matricos forma:

Čia turėtume padaryti lyrinį nukrypimą: kas yra matrica? Matrica yra ne kas kita, kaip dvimatis masyvas. Tai yra duomenų saugojimo būdas, prie jo neturėtų būti pridėta jokių papildomų reikšmių. Nuo mūsų priklauso, kaip tiksliai interpretuoti tam tikrą matricą. Periodiškai jį interpretuosiu kaip tiesinį atvaizdavimą, periodiškai kaip kvadratinę formą, o kartais tiesiog kaip vektorių rinkinį. Visa tai bus paaiškinta kontekste.

Pakeiskime konkrečias matricas jų simboliniu vaizdu:

Tada (alfa, beta) galima lengvai rasti:

Tiksliau apie mūsų ankstesnius duomenis:

Tai veda į tokią linijos, einančios per taškus (1,1) ir (3,2), lygtį:

Gerai, čia viskas aišku. Raskime tiesės, einančios pro šalį, lygtį trys taškai: (x0,y0), (x1,y1) ir (x2,y2):

Oi-oi, bet mes turime tris lygtis dviem nežinomiesiems! Standartinis matematikas pasakys, kad sprendimo nėra. Ką pasakys programuotojas? Ir jis pirmiausia perrašys ankstesnę lygčių sistemą tokia forma:

Mūsų atveju vektoriai i, j, b yra trimačiai, todėl (bendruoju atveju) šios sistemos sprendimo nėra. Bet kuris vektorius (alfa\*i + beta\*j) yra plokštumoje, kurią apima vektoriai (i, j). Jei b nepriklauso šiai plokštumai, tada sprendinio nėra (lygybėje negalima pasiekti lygybės). Ką daryti? Ieškokime kompromiso. Pažymėkime pagal e (alfa, beta) kiek tiksliai nepasiekėme lygybės:

Ir mes pasistengsime sumažinti šią klaidą:

Kodėl kvadratas?

Mes ieškome ne tik normos minimumo, bet ir normos kvadrato minimumo. Kodėl? Pats minimalus taškas sutampa, o kvadratas suteikia sklandžią funkciją (argumentų kvadratinė funkcija (alfa, beta)), o tiesiog ilgis suteikia kūgio formos funkciją, nesiskiriančią minimaliame taške. Brr. Kvadratas yra patogesnis.

Akivaizdu, kad klaida yra sumažinta, kai vektorius e statmena plokštumai, kurią apima vektoriai i Ir j.

Iliustracija

Kitaip tariant: mes ieškome tokios tiesės, kad atstumų nuo visų taškų iki šios tiesės kvadratinių ilgių suma būtų minimali:

ATNAUJINIMAS: Turiu problemą, atstumas iki tiesės turi būti matuojamas vertikaliai, o ne statmena projekcija. Šis komentatorius teisus.

Iliustracija

Visiškai skirtingais žodžiais (atsargiai, prastai formalizuota, bet turėtų būti aišku): paimame visas įmanomas linijas tarp visų taškų porų ir ieškome vidutinės linijos tarp visų:

Iliustracija

Kitas paaiškinimas yra paprastas: tarp visų duomenų taškų (čia turime tris) ir tiesios linijos, kurios ieškome, pritvirtiname spyruoklę, o pusiausvyros būsenos tiesė yra būtent tai, ko ieškome.

Minimali kvadratinė forma

Taigi, atsižvelgiant į šį vektorių b o plokštuma, apimanti matricos stulpelių vektorius A(šiuo atveju (x0,x1,x2) ir (1,1,1)), mes ieškome vektoriaus e su minimaliu ilgio kvadratu. Akivaizdu, kad minimumas pasiekiamas tik vektoriui e, statmena plokštumai, kurią apima matricos stulpelių vektoriai A:

Kitaip tariant, mes ieškome vektoriaus x=(alfa, beta), kad:

Leiskite jums priminti, kad šis vektorius x=(alfa, beta) yra kvadratinės funkcijos minimumas ||e(alfa, beta)||^2:

Čia būtų naudinga prisiminti, kad matrica gali būti interpretuojama ir kaip kvadratinė forma, pavyzdžiui, tapatumo matrica ((1,0),(0,1)) gali būti interpretuojama kaip funkcija x^2 + y^ 2:

kvadratine forma

Visa ši gimnastika žinoma linijinės regresijos pavadinimu.

Laplaso lygtis su Dirichlet ribine sąlyga

Dabar pati paprasčiausia reali užduotis: yra tam tikras trikampis paviršius, jį reikia išlyginti. Pavyzdžiui, įkelkime mano veido modelį:

Galimas pradinis įsipareigojimas. Kad sumažinčiau išorines priklausomybes, paėmiau savo programinės įrangos atvaizdavimo kodą, jau esantį Habré. Norėdami išspręsti linijinę sistemą, naudoju OpenNL, tai puikus sprendimas, tačiau jį įdiegti labai sunku: reikia nukopijuoti du failus (.h+.c) į aplanką su savo projektu. Visas išlyginimas atliekamas naudojant šį kodą:

Už (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 = veidai[i]; už (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 ir Z koordinatės yra atskiriamos, aš jas lyginu atskirai. Tai yra, aš išsprendžiu tris tiesinių lygčių sistemas, kurių kiekvienoje yra kintamųjų skaičius, lygus mano modelio viršūnių skaičiui. Pirmosios n matricos A eilučių turi tik vieną 1 eilutėje, o pirmosios n vektoriaus b eilučių turi pradines modelio koordinates. Tai yra, aš pririšu spyruoklę tarp naujos viršūnės padėties ir senosios viršūnės padėties – naujos neturėtų per daug nutolti nuo senųjų.

Visos paskesnės matricos A eilutės (faces.size()*3 = visų tinklelio trikampių briaunų skaičius) turi vieną kartą 1 ir vieną -1, o vektorius b turi priešingus nulius komponentus. Tai reiškia, kad aš įdedu spyruoklę ant kiekvieno mūsų trikampio tinklelio krašto: visi kraštai bando gauti tą pačią viršūnę, kaip ir jų pradžios ir pabaigos taškai.

Dar kartą: visos viršūnės yra kintamieji ir negali nutolti nuo pradinės padėties, bet tuo pačiu stengiasi tapti panašios viena į kitą.

Štai rezultatas:

Viskas būtų gerai, modelis tikrai išlygintas, bet nutolęs nuo pirminio krašto. Šiek tiek pakeisime kodą:

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

Mūsų matricoje A viršūnėms, esančioms kraštinėje, pridedu ne eilutę iš kategorijos v_i = verts[i][d], o 1000*v_i = 1000*verts[i][d]. Ką tai keičia? Ir tai pakeičia mūsų kvadratinę paklaidos formą. Dabar vienas nukrypimas nuo viršaus ties kraštu kainuos ne vienetą, kaip anksčiau, o 1000*1000 vnt. Tai yra, mes pakabinome stipresnę spyruoklę ant kraštutinių viršūnių, sprendimas labiau ištemps kitas. Štai rezultatas:

Padidinkime spyruoklės stiprumą tarp viršūnių dvigubai:
nlKoeficientas(veidelis[ j ], 2); nlKoeficientas(veidelis[(j+1)%3], -2);

Logiška, kad paviršius tapo lygesnis:

O dabar net šimtą kartų stipresnis:

Kas čia? Įsivaizduokite, kad vielos žiedą panardinome į muiluotą vandenį. Dėl to susidariusi muilo plėvelė stengsis turėti kuo mažiau kreivumo, liesdama kraštą – mūsų vielos žiedą. Kaip tik tai ir gavome pritvirtinę kraštą ir paprašę lygaus paviršiaus viduje. Sveikiname, ką tik išsprendėme Laplaso lygtį su Dirichlet ribinėmis sąlygomis. Skamba gerai? Tačiau iš tikrųjų jums tereikia išspręsti vieną tiesinių lygčių sistemą.

Puasono lygtis

Prisiminkime dar vieną šaunų pavadinimą.

Tarkime, turiu tokį vaizdą:

Visiems atrodo gerai, bet man kėdė nepatinka.

Perpjaunu nuotrauką per pusę:



O kėdę išrinksiu rankomis:

Tada aš ištrauksiu viską, kas kaukėje yra balta, į kairę nuotraukos pusę ir tuo pat metu visame paveikslėlyje sakysiu, kad skirtumas tarp dviejų gretimų pikselių turi būti lygus skirtumui tarp dviejų gretimų dešiniųjų pikselių. paveikslėlis:

Už (int i=0; i

Štai rezultatas:

Pavyzdys iš gyvenimo

Sąmoningai nepasiekiau nulaižytų rezultatų, nes... Aš tiesiog norėjau parodyti, kaip tiksliai galite taikyti mažiausiųjų kvadratų metodus, tai yra mokymo kodas. Dabar pateiksiu pavyzdį iš gyvenimo:

Turiu keletą nuotraukų su tokių audinių pavyzdžiais:

Mano užduotis – iš tokios kokybės nuotraukų padaryti vientisas tekstūras. Norėdami pradėti, aš (automatiškai) ieškau pasikartojančio modelio:

Jei iškirpsiu šį keturkampį tiesiai, dėl iškraipymo kraštai nesusitiks, čia yra keturis kartus kartojamo modelio pavyzdys:

Paslėptas tekstas

Čia yra fragmentas, kuriame siūlė aiškiai matoma:

Todėl aš nepjausiu tiesia linija, čia yra pjovimo linija:

Paslėptas tekstas

Ir štai keturis kartus pakartotas modelis:

Paslėptas tekstas

Ir fragmentas, kad būtų aiškiau:

Jau geriau, kirpimas ėjo ne tiesia linija, išvengiant visokių garbanų, bet siūlė vis tiek matosi dėl netolygaus apšvietimo originalioje nuotraukoje. Čia gelbsti Puasono lygties mažiausių kvadratų metodas. Štai galutinis rezultatas išlyginus apšvietimą:

Tekstūra pasirodė visiškai vientisa, ir visa tai automatiškai iš labai vidutiniškos kokybės nuotraukos. Nebijokite matematikos, ieškokite paprastų paaiškinimų, ir būsite laimingi inžinerijoje.

Išlyginus gauname tokios formos funkciją: g (x) = x + 1 3 + 1 .

Šiuos duomenis galime aproksimuoti naudodami tiesinį ryšį y = a x + b, apskaičiuodami atitinkamus parametrus. Norėdami tai padaryti, turėsime taikyti vadinamąjį mažiausių kvadratų metodą. Taip pat turėsite padaryti brėžinį, kad patikrintumėte, kuri linija geriausiai suderins eksperimentinius duomenis.

Kas tiksliai yra OLS (mažiausių kvadratų metodas)

Pagrindinis dalykas, kurį turime padaryti, yra rasti tokius tiesinės priklausomybės koeficientus, kuriems esant dviejų kintamųjų F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2 funkcijos reikšmė būtų mažiausias. Kitaip tariant, esant tam tikroms a ir b reikšmėms, pateiktų duomenų kvadratinių nuokrypių nuo gautos tiesės suma turės mažiausią reikšmę. Tai yra mažiausių kvadratų metodo reikšmė. Viskas, ką turime padaryti, kad išspręstume pavyzdį, tai rasti dviejų kintamųjų funkcijos ekstremumą.

Kaip išvesti koeficientų skaičiavimo formules

Norint išvesti koeficientų skaičiavimo formules, reikia sukurti ir išspręsti lygčių sistemą su dviem kintamaisiais. Norėdami tai padaryti, apskaičiuojame išraiškos F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2 dalines išvestines a ir b atžvilgiu ir prilyginame jas 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

Norėdami išspręsti lygčių sistemą, galite naudoti bet kokius metodus, pavyzdžiui, pakeitimą arba Cramerio metodą. Dėl to turėtume turėti formules, pagal kurias būtų galima apskaičiuoti koeficientus naudojant mažiausių kvadratų metodą.

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

Mes apskaičiavome kintamųjų, kuriuose veikia funkcija, reikšmes
F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 įgis mažiausią reikšmę. Trečioje pastraipoje įrodysime, kodėl taip yra.

Tai mažiausių kvadratų metodo taikymas praktikoje. Jo formulė, kuri naudojama norint rasti parametrą a, apima ∑ i = 1 n x i, ∑ i = 1 n y i, ∑ i = 1 n x i y i, ∑ i = 1 n x i 2, taip pat parametrą
n – žymi eksperimentinių duomenų kiekį. Patariame kiekvieną sumą skaičiuoti atskirai. Koeficiento b reikšmė apskaičiuojama iš karto po a.

Grįžkime prie pradinio pavyzdžio.

1 pavyzdys

Čia mes turime n lygų penkiems. Kad būtų patogiau apskaičiuoti reikiamas sumas, įtrauktas į koeficientų formules, užpildykime lentelę.

i = 1 i=2 i=3 i=4 i=5 ∑ i = 15
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

Sprendimas

Ketvirtoje eilutėje pateikiami duomenys, gauti padauginus antrosios eilutės reikšmes iš trečiosios vertės kiekvienam asmeniui, t. Penktoje eilutėje yra duomenys iš antrosios, kvadratu. Paskutiniame stulpelyje rodomos atskirų eilučių verčių sumos.

Naudokime mažiausių kvadratų metodą, kad apskaičiuotume mums reikalingus koeficientus a ir b. Norėdami tai padaryti, pakeiskite reikiamas vertes iš paskutinio stulpelio ir apskaičiuokite sumas:

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

Pasirodo, kad reikiama apytikslė tiesė atrodys taip, kaip y = 0, 165 x + 2, 184. Dabar turime nustatyti, kuri eilutė geriau apytiksliai atitiks duomenis - g (x) = x + 1 3 + 1 arba 0, 165 x + 2, 184. Įvertinkime mažiausiųjų kvadratų metodą.

Norėdami apskaičiuoti paklaidą, turime rasti duomenų kvadratinių nuokrypių sumą nuo tiesių σ 1 = ∑ i = 1 n (y i - (a x i + b i)) 2 ir σ 2 = ∑ i = 1 n (y i) - g (x i)) 2, mažiausia reikšmė atitiks tinkamesnę eilutę.

σ 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 = ∑ 1 n (y i - g (x i)) 2 = = ∑ i = 1 5 (y i - (x i + 1 3 + 1)) 2 ≈ 0,096

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

Mažiausių kvadratų metodas aiškiai parodytas grafinėje iliustracijoje. Raudona linija žymi tiesę g (x) = x + 1 3 + 1, mėlyna linija žymi y = 0, 165 x + 2, 184. Pradiniai duomenys pažymėti rausvais taškais.

Paaiškinkime, kodėl reikalingi būtent tokio tipo aproksimacijos.

Jie gali būti naudojami atliekant užduotis, kurioms reikalingas duomenų išlyginimas, taip pat tose, kur duomenis reikia interpoliuoti arba ekstrapoliuoti. Pavyzdžiui, aukščiau aptartoje užduotyje galima rasti stebimo dydžio y reikšmę, kai x = 3 arba kai x = 6. Tokiems pavyzdžiams skyrėme atskirą straipsnį.

OLS metodo įrodymas

Kad funkcija įgautų mažiausią reikšmę, kai apskaičiuojami a ir b, būtina, kad tam tikrame taške formos F (a, b) formos diferencialo kvadratinės formos matrica = ∑ i = 1 n (y i - (a x i + b)) 2 yra teigiamas apibrėžtasis. Parodykime, kaip jis turėtų atrodyti.

2 pavyzdys

Turime šios formos antros eilės skirtumą:

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

Sprendimas

δ 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

Kitaip tariant, galime parašyti taip: 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.

Gavome kvadratinės formos M = 2 ∑ i = 1 n (x i) 2 2 ∑ i = 1 n x i 2 ∑ i = 1 n x i 2 n matricą.

Šiuo atveju atskirų elementų reikšmės nesikeis priklausomai nuo a ir b . Ar ši matrica yra teigiama? Norėdami atsakyti į šį klausimą, patikrinkime, ar jo kampiniai nepilnamečiai yra teigiami.

Apskaičiuojame pirmos eilės kampinį minorą: 2 ∑ i = 1 n (x i) 2 > 0 . Kadangi taškai x i nesutampa, nelygybė yra griežta. Tai atsižvelgsime į tolesnius skaičiavimus.

Apskaičiuojame antros eilės kampinį minorą:

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 - 12 n i = i

Po to imame įrodinėti nelygybę n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0, naudojant matematinę indukciją.

  1. Patikrinkime, ar ši nelygybė galioja savavališkai n. Paimkime 2 ir apskaičiuokime:

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

Gavome teisingą lygybę (jei reikšmės x 1 ir x 2 nesutampa).

  1. Darykime prielaidą, kad ši nelygybė bus teisinga n, t.y. n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 – tiesa.
  2. Dabar įrodysime pagrįstumą n + 1, t.y. kad (n + 1) ∑ i = 1 n + 1 (x i) 2 - ∑ i = 1 n + 1 x i 2 > 0, jei n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 .

Skaičiuojame:

(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 + 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 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

Išraiška, esanti riestiniuose skliaustuose, bus didesnė nei 0 (remiantis tuo, ką padarėme 2 veiksme), o likę terminai bus didesni nei 0, nes jie visi yra skaičių kvadratai. Mes įrodėme nelygybę.

Atsakymas: rasti a ir b atitiks mažiausią funkcijos reikšmę F (a, b) = ∑ i = 1 n (y i - (a x i + b)) 2, tai reiškia, kad jie yra būtini mažiausių kvadratų metodo parametrai (LSM).

Jei tekste pastebėjote klaidą, pažymėkite ją ir paspauskite Ctrl+Enter

KURSINIS DARBAS

Funkcijos aproksimacija naudojant mažiausių kvadratų metodą


Įvadas

empirinis mathcad aproksimacija

Kursinio darbo tikslas – pagilinti informatikos žinias, ugdyti ir įtvirtinti įgūdžius dirbant su Microsoft Excel ir MathCAD skaičiuoklių procesoriumi. Jų naudojimas sprendžiant problemas naudojant kompiuterį iš dalykinės srities, susijusios su tyrimais.

Kiekvienoje užduotyje suformuluojamos uždavinio sąlygos, pradiniai duomenys, rezultatų išdavimo forma, nurodomos pagrindinės matematinės priklausomybės uždaviniui spręsti Kontrolinis skaičiavimas leidžia patikrinti teisingą programos veikimą.

Aproksimacijos sąvoka yra apytikslė bet kokių matematinių objektų (pavyzdžiui, skaičių ar funkcijų) išraiška per kitus, kurie yra paprastesni, patogesni naudoti ar tiesiog geriau žinomi. Moksliniuose tyrimuose aproksimacija naudojama aprašyti, analizuoti, apibendrinti ir toliau naudoti empirinius rezultatus.

Kaip žinoma, gali būti tikslus (funkcinis) ryšys tarp dydžių, kai viena konkreti reikšmė atitinka vieną argumento reikšmę, ir ne toks tikslus (koreliacinis) ryšys, kai viena konkreti argumento reikšmė atitinka apytikslę reikšmę arba tam tikras funkcijų reikšmių rinkinys, vienaip ar kitaip artimas viena kitai. Atliekant mokslinius tyrimus, apdorojant stebėjimo ar eksperimento rezultatus, dažniausiai tenka susidurti su antruoju variantu. Tiriant įvairių rodiklių, kurių reikšmės nustatomos empiriškai, kiekybines priklausomybes, paprastai pastebimas tam tikras kintamumas. Ją iš dalies lemia tiriamų negyvosios ir ypač gyvosios gamtos objektų nevienalytiškumas, o iš dalies – stebėjimo ir kiekybinio medžiagų apdorojimo paklaida. Paskutinis komponentas ne visada gali būti visiškai pašalintas, jį galima sumažinti tik kruopščiai parinkus tinkamą tyrimo metodą ir kruopščiai dirbant.

Technologinių procesų ir gamybos automatizavimo srities specialistai užsiima dideliu kiekiu eksperimentinių duomenų, kurių apdorojimui naudojamas kompiuteris. Pirminius duomenis ir gautus skaičiavimo rezultatus galima pateikti lentelės pavidalu naudojant skaičiuoklių procesorius (skaičiuokles) ir ypač Excel. Informatikos kursinis darbas leidžia studentui įtvirtinti ir lavinti įgūdžius naudojant pagrindines kompiuterines technologijas sprendžiant profesinės veiklos srities problemas - kompiuterinė algebrinė sistema iš kompiuterinio projektavimo sistemų klasės, orientuota į interaktyvių dokumentų rengimą su skaičiavimai ir vizualinė pagalba, yra paprasta naudoti ir taikyti komandiniam darbui.


1. Bendra informacija


Labai dažnai, ypač analizuojant empirinius duomenis, reikia aiškiai rasti funkcinį ryšį tarp dydžių. xIr adresu, kurie gaunami atlikus matavimus.

Analitiškai tiriant ryšį tarp dviejų dydžių x ir y, atliekama daugybė stebėjimų, kurių rezultatas yra verčių lentelė:


xx1 x1 xiXnyy1 y1 yiYn

Ši lentelė paprastai gaunama kai kurių eksperimentų, kurių metu x,(nepriklausoma reikšmė) nustato eksperimentuotojas, ir y,gautas kaip patirties rezultatas. Todėl šios vertybės y,vadinsime jas empirinėmis arba eksperimentinėmis vertybėmis.

Tarp dydžių x ir y yra funkcinis ryšys, tačiau jo analitinė forma dažniausiai nežinoma, todėl iškyla praktiškai svarbi užduotis – surasti empirinę formulę


y =f (x; a 1,a 2,…, esu ), (1)


(Kur a1 ,a2 ,…,am- parametrai), kurių reikšmės yra x = x,tikriausiai mažai skirsis nuo eksperimentinių verčių y, (i = 1,2,…, P).

Paprastai nurodykite funkcijų klasę (pavyzdžiui, tiesinių, galios, eksponentinių ir kt. aibę), iš kurios pasirenkama funkcija f(x), tada nustatomos geriausios parametrų reikšmės.

Jei pakeisime originalą x,tada gauname teorines vertes

YTi= f (xi; a 1,a 2……am) , Kur aš = 1,2,…, n.


Skirtumai yiT- yi, vadinami nuokrypiais ir reiškia vertikalius atstumus nuo taškų Miį empirinės funkcijos grafiką.

Pagal mažiausių kvadratų metodą geriausi koeficientai a1 ,a2 ,…,amtos, kurioms atsižvelgiama į rastos empirinės funkcijos nuokrypių kvadratų sumą nuo nurodytų funkcijos reikšmių



bus minimalus.

Paaiškinkime geometrinę mažiausių kvadratų metodo reikšmę.

Kiekviena skaičių pora ( xi, yi) iš šaltinio lentelės nustato tašką Miant paviršiaus XOY.Naudojant formulę (1) skirtingoms koeficientų reikšmėms a1 ,a2 ,…,amgalite sudaryti kreivių, kurios yra funkcijos (1) grafikai, seriją. Užduotis – nustatyti koeficientus a1 ,a2 ,…,amtokiu būdu, kad vertikalių atstumų nuo taškų kvadratų suma Mi (xi, yi), kol funkcijos (1) grafikas buvo mažiausias (1 pav.).



Empirinės formulės kūrimas susideda iš dviejų etapų: šios formulės bendros formos išsiaiškinimo ir geriausių jos parametrų nustatymo.

Jei šių dydžių x ir ryšio pobūdis y, tada empirinės priklausomybės tipas yra savavališkas. Pirmenybė teikiama paprastoms, gero tikslumo formulėms. Sėkmingas empirinės formulės pasirinkimas labai priklauso nuo tyrėjo žinių dalyko srityje, kuriomis jis gali nurodyti funkcijų klasę iš teorinių samprotavimų. Didelę reikšmę turi gautų duomenų atvaizdavimas Dekarto arba specialiose koordinačių sistemose (pusiau logaritminėse, logaritminėse ir kt.). Iš taškų padėties galite apytiksliai atspėti bendrą priklausomybės formą, nustatydami panašumą tarp sudaryto grafiko ir žinomų kreivių pavyzdžių.

Geriausių šansų nustatymas a1 ,a2,…, amįtrauktos į empirinę formulę, gaminamos gerai žinomais analizės metodais.

Norint rasti koeficientų aibę a1 ,a2 ……am, kurios pateikia funkcijos S minimumą, apibrėžtą (2) formule, naudojame būtiną kelių kintamųjų funkcijos ekstremumo sąlygą – dalinių išvestinių lygybę nuliui.

Dėl to gauname normalią koeficientų nustatymo sistemą ai(i = 1,2,…, m):



Taigi, ieškant koeficientų airedukuojasi į sprendimo sistemą (3). Ši sistema yra supaprastinta, jei empirinė formulė (1) yra tiesinė parametrų atžvilgiu ai, tada sistema (3) bus tiesinė.


1.1 Tiesinė priklausomybė


Konkreti sistemos (3) forma priklauso nuo to, iš kurios empirinių formulių klasės ieškome priklausomybės (1). Esant tiesinei priklausomybei y = a1 +a2 xsistema (3) bus tokia:


Šią tiesinę sistemą galima išspręsti bet kokiu žinomu metodu (Gauso metodas, paprastos iteracijos, Cramerio formulės).


1.2 Kvadratinė priklausomybė


Esant kvadratinei priklausomybei y = a1 +a2 x+a3x 2sistema (3) bus tokia:



1.3 Eksponentinė priklausomybė


Kai kuriais atvejais funkcija, kurioje neapibrėžtieji koeficientai įvedami netiesiškai, imama kaip empirinė formulė. Tokiu atveju kartais problema gali būti tiesinė, t.y. sumažinti iki linijinio. Tokios priklausomybės apima ir eksponentinę priklausomybę


y = a1 *ea2x (6)


kur 1Ir a 2, neapibrėžtieji koeficientai.

Linearizacija pasiekiama imant lygybės (6) logaritmą, po kurio gauname ryšį

ln y = ln a 1+a 2x (7)


Pažymėkime ln adresuir ln axatitinkamai per tIr c, tada priklausomybę (6) galima parašyti forma t = a1 +a2 X, kuri leidžia pritaikyti formules (4) su pakeitimu a1 įjungta cIr adresuiįjungta ti


1.4 Koreliacijos teorijos elementai


Atkurtos funkcinės priklausomybės grafikas y(x)pagal matavimo rezultatus (x i, adresui),i = 1,2, K, nvadinama regresijos kreive. Norint patikrinti sudarytos regresijos kreivės sutapimą su eksperimentiniais rezultatais, dažniausiai įvedamos šios skaitinės charakteristikos: koreliacijos koeficientas (tiesinė priklausomybė), koreliacijos koeficientas ir determinacijos koeficientas. Tokiu atveju rezultatai dažniausiai sugrupuojami ir pateikiami koreliacijos lentelės forma. Kiekviename šios lentelės langelyje rodomi skaičiai niJ - tos poros (x, y), kurių komponentai patenka į atitinkamus kiekvieno kintamojo grupavimo intervalus. Darant prielaidą, kad grupavimo intervalų ilgiai (kiekvienam kintamajam) yra lygūs vienas kitam, pasirinkite centrus x i(atitinkamai adresui) šių intervalų ir skaičių niJ- kaip skaičiavimų pagrindas.

Koreliacijos koeficientas yra tiesinio ryšio tarp priklausomų atsitiktinių dydžių matas: jis parodo, kaip vidutiniškai vienas iš kintamųjų gali būti pavaizduotas kaip kito tiesinė funkcija.

Koreliacijos koeficientas apskaičiuojamas pagal formulę:


kur ir yra atitinkamai aritmetinis vidurkis X Ir adresu.

Koreliacijos koeficientas tarp atsitiktinių dydžių absoliučia verte neviršija 1. Kuo artimesnis |p| iki 1, tuo artimesnis tiesinis ryšys tarp x ir u.

Netiesinės koreliacijos atveju sąlyginės vidutinės vertės yra šalia lenktos linijos. Šiuo atveju kaip ryšio stiprumo charakteristiką rekomenduojama naudoti koreliacijos santykį, kurio interpretacija nepriklauso nuo tiriamos priklausomybės tipo.

Koreliacijos santykis apskaičiuojamas pagal formulę:



Kur ni = , nf= , o skaitiklis apibūdina sąlyginių vidurkių sklaidą y, apie absoliutų vidurkį y.

Visada. Lygybė = 0 atitinka nesusijusius atsitiktinius dydžius; = 1 tada ir tik tada, kai yra tikslus funkcinis ryšys tarp y ir x. Esant tiesinei priklausomybei y x, koreliacijos koeficientas sutampa su koreliacijos koeficiento kvadratu. Didumas - ? 2 naudojamas kaip regresinio nuokrypio nuo tiesinio rodiklis.

Koreliacijos koeficientas yra koreliacijos ryšio matas y Su x bet kokia forma, bet negali pateikti supratimo apie empirinių duomenų artumo prie specialios formos laipsnį. Norint išsiaiškinti, kaip tiksliai sudaryta kreivė atspindi empirinius duomenis, įvedama dar viena charakteristika – determinacijos koeficientas.

Norėdami jį apibūdinti, apsvarstykite šiuos kiekius. - bendra kvadratų suma, kur yra vidutinė vertė.

Galime įrodyti tokią lygybę

Pirmasis narys yra lygus Sres = ir vadinamas likutine kvadratų suma. Tai apibūdina eksperimentinio ir teorinio nukrypimą.

Antrasis narys yra lygus Sreg = 2 ir vadinamas regresine kvadratų suma ir apibūdina duomenų sklaidą.

Akivaizdu, kad tokia lygybė yra teisinga: S pilna = S ost + S reg.

Determinizmo koeficientas nustatomas pagal formulę:



Kuo mažesnė kvadratų likutinė suma, palyginti su visa kvadratų suma, tuo didesnė determinizmo koeficiento reikšmė r2 , kuris parodo, kaip gerai regresinės analizės būdu sudaryta lygtis paaiškina ryšius tarp kintamųjų. Jei jis lygus 1, tai yra visiška koreliacija su modeliu, t.y. nėra skirtumo tarp tikrosios ir numatomos y verčių. Priešingu atveju, jei determinizmo koeficientas yra 0, regresijos lygtis nepavyks nuspėti y reikšmių

Determinizmo koeficientas visada neviršija koreliacijos santykio. Tuo atveju, kai tenkinama lygybė r 2 = tada galime manyti, kad sudaryta empirinė formulė tiksliausiai atspindi empirinius duomenis.


2. Problemos pareiškimas


1. Mažiausių kvadratų metodu apytiksliai apskaičiuokite lentelėje pateiktą funkciją

a) pirmojo laipsnio daugianario;

b) antrojo laipsnio daugianario;

c) eksponentinė priklausomybė.

Kiekvienai priklausomybei apskaičiuokite determinizmo koeficientą.

Apskaičiuokite koreliacijos koeficientą (tik a atveju).

Kiekvienai priklausomybei nubrėžkite tendencijos liniją.

Naudodamiesi funkcija LINEST, apskaičiuokite priklausomybės nuo skaitines charakteristikas.

Palyginkite savo skaičiavimus su rezultatais, gautais naudojant funkciją LINEST.

Padarykite išvadą, kuri iš gautų formulių geriausiai atitinka funkciją.

Parašykite programą viena iš programavimo kalbų ir palyginkite skaičiavimo rezultatus su gautais aukščiau.


3. Pradiniai duomenys


Funkcija parodyta 1 paveiksle.



4. Aproksimacijų skaičiavimas Excel skaičiuoklių procesoriuje


Skaičiavimams atlikti patartina naudoti Microsoft Excel skaičiuoklių procesorių. Ir sutvarkykite duomenis, kaip parodyta 2 paveiksle.



Norėdami tai padaryti, įvedame:

· langeliuose A6:A30 įvedame reikšmes xi .

· langeliuose B6:B30 įvedame ui reikšmes .

· langelyje C6 įveskite formulę =A6^ 2.

· Ši formulė nukopijuota į langelius C7:C30.

· langelyje D6 įveskite formulę =A6*B6.

· Ši formulė nukopijuota į langelius D7:D30.

· F6 langelyje įvedame formulę =A6^4.

· Ši formulė nukopijuota į langelius F7:F30.

· G6 langelyje įvedame formulę =A6^2*B6.

· Ši formulė nukopijuota į langelius G7:G30.

· Langelyje H6 įveskite formulę =LN(B6).

· Ši formulė nukopijuota į langelius H7:H30.

· langelyje I6 įveskite formulę =A6*LN(B6).

· Ši formulė nukopijuota į langelius I7:I30. Tolesnius veiksmus atliekame naudodami automatinį sumavimą

· langelyje A33 įveskite formulę =SUM (A6:A30).

· langelyje B33 įveskite formulę =SUM (B6:B30).

· langelyje C33 įveskite formulę =SUM (C6:C30).

· langelyje D33 įveskite formulę =SUM (D6:D30).

· langelyje E33 įveskite formulę =SUM (E6:E30).

· langelyje F33 įveskite formulę =SUM (F6:F30).

· G33 langelyje įveskite formulę =SUM (G6:G30).

· Langelyje H33 įveskite formulę =SUM (H6:H30).

· langelyje I33 įveskite formulę =SUM (I6:I30).

Apytiksliai įvertinkime funkciją y = f(x) tiesinė funkcija y = a1 +a2x. Koeficientams nustatyti a 1ir a 2Naudokime sistemą (4). Naudodami 2 lentelės sumas, esančias langeliuose A33, B33, C33 ir D33, rašome sistemą (4) formoje



sprendžiant kurią gauname a 1= -24,7164 ir a2 = 11,63183

Taigi, tiesinė aproksimacija turi formą y = -24,7164 + 11,63183x (12)

Sistema (11) buvo išspręsta naudojant Microsoft Excel. Rezultatai pateikti 3 paveiksle:



Lentelėje langeliuose A38:B39 rašoma formulė (=MOBR (A35:B36)). Ląstelėse E38:E39 yra formulė (= KELI (A38:B39, C35:C36)).


Toliau apytiksliai apskaičiuojame funkciją y = f(x) kvadratine funkcija y = a1 +a2 x+a3 x2. Koeficientams nustatyti a 1,a 2ir a 3Naudokime sistemą (5). Naudodami 2 lentelės sumas, esančias langeliuose A33, B33, C33, D33, E33, F33 ir G33, rašome sistemą (5) tokia forma:



Kurį išsprendę, gauname a 1= 1,580946, a 2= -0,60819 ir a3 = 0,954171 (14)

Taigi kvadratinė aproksimacija yra tokia:

y = 1,580946 -0,60819x +0,954171 x2

Sistema (13) buvo išspręsta naudojant Microsoft Excel. Rezultatai pateikti 4 pav.



Lentelėje langeliuose A46:C48 rašoma formulė (=MOBR (A41:C43)). Ląstelėse F46:F48 yra formulė (= KELI (A41:C43, D46:D48)).

Dabar apytiksliai įvertinkime funkciją y = fx) eksponentinė funkcija y = a1 ea2x. Koeficientams nustatyti a1 Ir a2 logaritmuokime reikšmes yiir naudojant 2 lentelės sumas, esančias langeliuose A26, C26, H26 ir I26, gauname sistemą:



Kur с = ln(a1 ).

Išsprendę sistemą (10) randame c =0,506435, a2 = 0.409819.

Sustiprinus gauname a1 = 1,659365.

Taigi eksponentinė aproksimacija turi formą y = 1,659365*e0,4098194x

Sistema (15) buvo išspręsta naudojant Microsoft Excel. Rezultatai pateikti 5 pav.


Lentelėje langeliuose A55:B56 rašoma formulė (=MOBR (A51:B52)). Langeliuose E54:E56 rašoma formulė (=KELIASIS (A51:B52, C51:C52)). E56 langelyje yra formulė =EXP(E54).

Apskaičiuokime x ir y aritmetinį vidurkį pagal formules:



Skaičiavimo rezultatai x ir ynaudojant „Microsoft Excel“, pateiktos 6 pav.



Langelyje B58 yra formulė =A33/25. Langelyje B59 yra formulė =B33/25.

2 lentelė


Paaiškinkime, kaip sudaryta 7 paveiksle pateikta lentelė.

Langeliai A6:A33 ir B6:B33 jau užpildyti (žr. 2 pav.).

· langelyje J6 įveskite formulę =(A6-$B$58)*(B6-$B$59).

· Ši formulė nukopijuota į langelius J7:J30.

· langelyje K6 įveskite formulę =(A6-$B$58)^ 2.

· Ši formulė nukopijuota į langelius K7:K30.

· L6 langelyje įvedame formulę =(B1-$B$59)^2.

· Ši formulė nukopijuota į langelius L7:L30.

· langelyje M6 įrašome formulę =($E$38+$E$39*A6-B6)^2.

· Ši formulė nukopijuota į langelius M7:M30.

· langelyje N6 įrašome formulę =($F$46 +$F$47*A6 +$F$48*A6 L6-B6)^2.

· Ši formulė nukopijuota į langelius N7:N30.

· langelyje O6 įveskite formulę =($E$56*EXP ($E$55*A6) - B6)^2.

· Ši formulė nukopijuota į langelius O7:O30.

Tolesnius veiksmus atliekame naudodami automatinį sumavimą.

· langelyje J33 įveskite formulę =CYMM (J6:J30).

· K33 langelyje įvedame formulę =SUM (K6:K30).

· langelyje L33 įveskite formulę =CYMM (L6:L30).

· M33 langelyje įvedame formulę =SUM (M6:M30).

· langelyje N33 įveskite formulę =SUM (N6:N30).

· langelyje O33 įveskite formulę =SUM (06:030).

Dabar apskaičiuokime koreliacijos koeficientą naudodami (8) formulę (tik tiesiniam aproksimavimui), o determinacijos koeficientą naudodami (10) formulę. Skaičiavimų naudojant Microsoft Excel rezultatus pateikti 7 pav.



8 lentelėje B61 langelyje formulė rašoma =J33/(K33*L33^(1/2). B62 langelyje formulė rašoma =1 - M33/L33. B63 langelyje formulė rašoma =1 - N33 /L33.Ląstelėje B64 formulė rašoma formulė =1 - O33/L33.

Skaičiavimo rezultatų analizė rodo, kad kvadratinė aproksimacija geriausiai apibūdina eksperimentinius duomenis.


4.1 Grafikų braižymas programoje Excel


Pasirinkite langelius A1:A25, tada eikite į diagramos vedlį. Pasirinkime sklaidos brėžinį. Sukūrę diagramą, dešiniuoju pelės mygtuku spustelėkite grafiko liniją ir pasirinkite pridėti tendencijos liniją (atitinkamai tiesinę, eksponentinę, galią ir antrojo laipsnio polinomą).

Tiesinės aproksimacijos grafikas


Kvadratinės aproksimacijos grafikas


Eksponentinio derinimo grafikas.


5. Funkcijų aproksimacija naudojant MathCAD


Duomenų aproksimavimas, atsižvelgiant į jų statistinius parametrus, priklauso regresijos problemoms. Paprastai jie atsiranda apdorojant eksperimentinius duomenis, gautus iš statistinio pobūdžio procesų ar fizikinių reiškinių matavimų (pvz., radiometrijos ir branduolinės geofizikos matavimų) arba esant dideliam trukdžių (triukšmo) lygiui. Regresinės analizės uždavinys – parinkti matematines formules, geriausiai apibūdinančias eksperimentinius duomenis.


.1 Tiesinė regresija


Tiesinė regresija Mathcad sistemoje atliekama naudojant argumentų vektorius Xir skaitymai Y funkcijos:

pertraukti (x, y)- apskaičiuoja parametrą A1 , vertikalus regresijos linijos poslinkis (žr. pav.)

nuolydis (x, y)- apskaičiuoja parametrą a2 , regresijos linijos nuolydis (žr. pav.)

y(x) = a1+a2*x


Funkcija korr (y, y (x))skaičiuoja Pearsono koreliacijos koeficientas.Kuo jis arčiau 1, tuo tiksliau apdoroti duomenys atitinka tiesinį ryšį (žr. pav.)

.2 Polinominė regresija


Vienmatė daugianario regresija su savavališku polinomo laipsniu n ir savavališkomis imčių koordinatėmis Mathcad sistemoje atliekama funkcijomis:

regresas (x, y, n)- apskaičiuoja vektorių S,kuriame yra koeficientai aidaugianario n laipsnis;

Koeficientų reikšmės aigalima išgauti iš vektoriaus Sfunkcija submatrica(S, 3, ilgis(S) - 1, 0, 0).

Gautas koeficientų reikšmes naudojame regresijos lygtyje


y(x) = a1+a2*x+a3*x2 (žr. paveikslėlį)

.3 Netiesinė regresija


Paprastoms standartinėms aproksimacinėms formulėms pateikiama nemažai netiesinės regresijos funkcijų, kuriose funkcijos parametrai parenkami Mathcad programa.

Tai apima funkciją expfit (x, y, s),kuris grąžina vektorių, kuriame yra koeficientai a1, a2Ir a3eksponentinė funkcija

y(x) = a1 ^exp (a2x) + a3.V vektorius Sįvedamos pradinės koeficientų reikšmės a1, a2Ir a3pirmasis apytikslis.


Išvada


Skaičiavimo rezultatų analizė rodo, kad tiesinė aproksimacija geriausiai apibūdina eksperimentinius duomenis.

Rezultatai, gauti naudojant MathCAD programą, visiškai sutampa su reikšmėmis, gautomis naudojant Excel. Tai rodo skaičiavimų tikslumą.


Bibliografija

  1. Informatika: vadovėlis / Red. prof. N.V. Makarova. M.: Finansai ir statistika 2007 m
  2. Informatika: kompiuterinių technologijų seminaras / Red. Red. prof. N.V. Makarova. M Finansai ir statistika, 2011 m.
  3. N.S. Piskunovas. Diferencialinis ir integralinis skaičiavimas, 2010 m.
  4. Informatika, Mažiausių kvadratų aproksimacija, gairės, Sankt Peterburgas, 2009 m.
Mokymas

Reikia pagalbos studijuojant temą?

Mūsų specialistai patars arba teiks kuravimo paslaugas jus dominančiomis temomis.
Pateikite savo paraišką nurodydami temą dabar, kad sužinotumėte apie galimybę gauti konsultaciją.

Įkeliama...Įkeliama...