Paraan ng least squares mga halimbawa ng paglutas ng problema. Approximation ng pang-eksperimentong data

  • Programming
    • pagtuturo

    Panimula

    Ako ay isang computer programmer. Ginawa ko ang pinakamalaking hakbang sa aking karera noong natutunan kong sabihin: "Wala akong maintindihan!" Ngayon hindi ako nahihiyang sabihin sa luminary ng agham na binibigyan niya ako ng lecture, na hindi ko maintindihan kung ano ang pinag-uusapan sa akin nito, ang luminary. At napakahirap. Oo, mahirap at nakakahiyang aminin na hindi mo alam. Sino ang gustong umamin na hindi niya alam ang mga pangunahing kaalaman ng isang bagay-doon. Dahil sa aking propesyon, kailangan kong dumalo sa malaking bilang mga pagtatanghal at lektura, kung saan, inaamin ko, sa karamihan ng mga kaso gusto kong matulog, dahil wala akong naiintindihan. At hindi ko maintindihan dahil ang malaking problema ng kasalukuyang sitwasyon sa agham ay nasa matematika. Ipinapalagay nito na ang lahat ng mga mag-aaral ay pamilyar sa ganap na lahat ng mga lugar ng matematika (na walang katotohanan). Ang aminin na hindi mo alam kung ano ang isang derivative (na ito ay isang maliit na mamaya) ay isang kahihiyan.

    Pero natutunan kong sabihin na hindi ko alam kung ano ang multiplication. Oo, hindi ko alam kung ano ang subalgebra sa isang Lie algebra. Oo, hindi ko alam kung bakit kailangan mo sa buhay quadratic equation. Oo nga pala, kung sigurado ka na alam mo, may pag-uusapan tayo! Ang matematika ay isang serye ng mga trick. Sinisikap ng mga mathematician na lituhin at takutin ang publiko; kung saan walang kalituhan, walang reputasyon, walang awtoridad. Oo, ito ay prestihiyoso na magsalita sa pinaka-abstract na wika na posible, na kung saan ay ganap na walang kapararakan sa sarili nito.

    Alam mo ba kung ano ang derivative? Malamang na sasabihin mo sa akin ang tungkol sa limitasyon ng ugnayan ng pagkakaiba. Sa unang taon ng matematika sa St. Petersburg State University, Viktor Petrovich Khavin ako tinukoy derivative bilang koepisyent ng unang termino ng Taylor series ng function sa punto (ito ay isang hiwalay na himnastiko upang matukoy ang Taylor series na walang derivatives). Matagal akong natawa sa depinisyon na ito, hanggang sa huli kong naintindihan kung tungkol saan ito. Ang derivative ay hindi hihigit sa isang sukatan lamang kung gaano kapareho ang function na ating pinagkaiba sa function na y=x, y=x^2, y=x^3.

    Ako ngayon ay may karangalan ng pagtuturo sa mga mag-aaral na takot matematika. Kung natatakot ka sa matematika - papunta na kami. Sa sandaling sinubukan mong magbasa ng ilang teksto at sa tingin mo ito ay sobrang kumplikado, pagkatapos ay alamin na ito ay hindi maganda ang pagkakasulat. Pinagtatalunan ko na walang isang solong lugar ng matematika na hindi masasabi tungkol sa "sa mga daliri" nang hindi nawawala ang katumpakan.

    Ang hamon para sa malapit na hinaharap: Inutusan ko ang aking mga estudyante na maunawaan kung ano ang linear-quadratic controller. Huwag kang mahiya, sayangin ang tatlong minuto ng iyong buhay, sundan ang link. Kung hindi mo maintindihan ang anumang bagay, pagkatapos ay nasa daan na kami. Ako (isang propesyonal na mathematician-programmer) ay wala ring naintindihan. At tinitiyak ko sa iyo, maaari itong ayusin "sa mga daliri." Sa ngayon ay hindi ko alam kung ano ito, ngunit tinitiyak ko sa iyo na malalaman natin ito.

    Kaya, ang unang lecture na ibibigay ko sa aking mga mag-aaral pagkatapos nilang tumakbo sa akin na may takot na may mga salitang ang linear-quadratic controller ay isang kakila-kilabot na bug na hinding-hindi mo madadaanan sa iyong buhay ay paraan hindi bababa sa mga parisukat . Maaari kang magpasya linear na equation? Kung binabasa mo ang tekstong ito, malamang na hindi.

    Kaya, dahil sa dalawang puntos (x0, y0), (x1, y1), halimbawa, (1,1) at (3,2), ang gawain ay hanapin ang equation ng isang tuwid na linya na dumadaan sa dalawang puntong ito:

    paglalarawan

    Ang tuwid na linyang ito ay dapat magkaroon ng equation tulad ng sumusunod:

    Dito hindi alam sa amin ang alpha at beta, ngunit alam ang dalawang punto ng linyang ito:

    Maaari mong isulat ang equation na ito sa matrix form:

    Dito dapat tayong gumawa ng lyrical digression: ano ang matrix? Ang matrix ay walang iba kundi isang two-dimensional array. Ito ay isang paraan ng pag-iimbak ng data, wala nang mga halaga ang dapat ibigay dito. Nasa sa atin kung paano eksaktong i-interpret ang isang tiyak na matrix. Paminsan-minsan, bibigyang-kahulugan ko ito bilang isang linear na pagmamapa, pana-panahon bilang isang parisukat na anyo, at kung minsan bilang isang set lamang ng mga vector. Ang lahat ng ito ay lilinawin sa konteksto.

    Palitan natin ang mga partikular na matrice ng kanilang simbolikong representasyon:

    Pagkatapos (alpha, beta) ay madaling mahanap:

    Mas partikular para sa aming nakaraang data:

    Na humahantong sa sumusunod na equation ng isang tuwid na linya na dumadaan sa mga puntos (1,1) at (3,2):

    Okay, malinaw na ang lahat dito. At hanapin natin ang equation ng isang tuwid na linya na dumadaan tatlo puntos: (x0,y0), (x1,y1) at (x2,y2):

    Oh-oh-oh, ngunit mayroon kaming tatlong equation para sa dalawang hindi alam! Sasabihin ng karaniwang mathematician na walang solusyon. Ano ang sasabihin ng programmer? At muli niyang isusulat ang nakaraang sistema ng mga equation sa sumusunod na anyo:

    Sa kaso natin mga vector i,j,b tatlong-dimensional, samakatuwid, (sa pangkalahatang kaso) walang solusyon sa sistemang ito. Ang anumang vector (alpha\*i + beta\*j) ay nasa eroplanong pinalawak ng mga vectors (i, j). Kung ang b ay hindi kabilang sa eroplanong ito, kung gayon walang solusyon (ang pagkakapantay-pantay sa equation ay hindi makakamit). Anong gagawin? Maghanap tayo ng kompromiso. Tukuyin natin ng e(alpha, beta) kung paano eksaktong hindi namin nakamit ang pagkakapantay-pantay:

    At susubukan naming bawasan ang error na ito:

    Bakit parisukat?

    Kami ay naghahanap hindi lamang para sa minimum ng pamantayan, ngunit para sa pinakamababang parisukat ng pamantayan. Bakit? Ang pinakamababang punto mismo ay nag-tutugma, at ang parisukat ay nagbibigay ng isang maayos na pag-andar (isang parisukat na pag-andar ng mga argumento (alpha,beta)), habang ang haba lamang ay nagbibigay ng isang function sa anyo ng isang kono, na hindi nakikilala sa pinakamababang punto. Brr. Ang parisukat ay mas maginhawa.

    Malinaw, ang error ay minimize kapag ang vector e orthogonal sa eroplanong pinalawak ng mga vectors i At j.

    Ilustrasyon

    Sa madaling salita: naghahanap kami ng isang linya na ang kabuuan ng mga parisukat na haba ng mga distansya mula sa lahat ng mga punto hanggang sa linyang ito ay minimal:

    I-UPDATE: dito mayroon akong hamba, ang distansya sa linya ay dapat na sukatin nang patayo, hindi orthographic projection. tama ang nagkomento.

    Ilustrasyon

    Sa ganap na magkakaibang mga salita (maingat, hindi gaanong pormal, ngunit dapat itong malinaw sa mga daliri): kinukuha namin ang lahat ng posibleng linya sa pagitan ng lahat ng mga pares ng mga punto at hinahanap ang average na linya sa pagitan ng lahat:

    Ilustrasyon

    Ang isa pang paliwanag sa mga daliri: nag-attach kami ng isang spring sa pagitan ng lahat ng mga punto ng data (narito mayroon kaming tatlo) at ang linya na hinahanap namin, at ang linya ng estado ng balanse ay eksakto kung ano ang hinahanap namin.

    Quadratic na anyo minimum

    Kaya, ibinigay ang vector b at ang eroplanong pinalawak ng mga column-vector ng matrix A(sa kasong ito (x0,x1,x2) at (1,1,1)), naghahanap kami ng isang vector e na may pinakamababang parisukat na haba. Malinaw, ang minimum ay makakamit lamang para sa vector e, orthogonal sa eroplano na pinalawak ng mga column-vector ng matrix A:

    Sa madaling salita, naghahanap kami ng isang vector x=(alpha, beta) tulad ng:

    Ipinaaalala ko sa iyo na ang vector na ito x=(alpha, beta) ay ang pinakamababa quadratic function||e(alpha, beta)||^2:

    Dito magiging kapaki-pakinabang na tandaan na ang matrix ay maaaring bigyang-kahulugan pati na rin ang parisukat na anyo, halimbawa, matrix ng pagkakakilanlan((1,0),(0,1)) ay maaaring bigyang-kahulugan bilang isang function ng x^2 + y^2:

    parisukat na anyo

    Ang lahat ng himnastiko na ito ay kilala bilang linear regression.

    Laplace equation na may Dirichlet boundary condition

    Ngayon ang pinakasimpleng tunay na problema: mayroong isang tiyak na triangulated na ibabaw, kinakailangan upang pakinisin ito. Halimbawa, i-load natin ang modelo ng aking mukha:

    Available ang orihinal na commit. Upang mabawasan ang mga panlabas na dependency, kinuha ko ang code ng aking software renderer, na nasa Habré na. Para sa mga solusyon linear na sistema Gumagamit ako ng OpenNL , ito ay isang mahusay na solver, ngunit ito ay talagang mahirap i-install: kailangan mong kopyahin ang dalawang file (.h+.c) sa iyong folder ng proyekto. Ang lahat ng smoothing ay ginagawa sa pamamagitan ng sumusunod na code:

    Para sa (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 = mukha[i]; para sa (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); } }

    Ang mga coordinate ng X, Y at Z ay mapaghihiwalay, hinihiwalay ko ang mga ito. Iyon ay, nilulutas ko ang tatlong sistema ng mga linear na equation, bawat isa ay may parehong bilang ng mga variable bilang ang bilang ng mga vertex sa aking modelo. Ang unang n row ng matrix A ay may isa lamang 1 bawat row, at ang unang n row ng vector b ay may orihinal na mga coordinate ng modelo. Iyon ay, spring-tie ko sa pagitan ng bagong posisyon ng vertex at ng lumang posisyon ng vertex - ang mga bago ay hindi dapat masyadong malayo sa mga luma.

    Ang lahat ng kasunod na row ng matrix A (faces.size()*3 = ang bilang ng mga gilid ng lahat ng triangles sa grid) ay may isang paglitaw ng 1 at isang paglitaw ng -1, habang ang vector b ay may zero na bahagi sa tapat. Nangangahulugan ito na naglalagay ako ng spring sa bawat gilid ng aming triangular mesh: sinusubukan ng lahat ng mga gilid na makuha ang parehong vertex bilang kanilang mga panimulang punto at pagtatapos.

    Muli: ang lahat ng mga vertex ay mga variable, at hindi sila maaaring lumihis nang malayo sa kanilang orihinal na posisyon, ngunit sa parehong oras sinusubukan nilang maging katulad sa bawat isa.

    Narito ang resulta:

    Magiging maayos ang lahat, ang modelo ay talagang pinakinis, ngunit lumayo ito sa orihinal na gilid nito. Baguhin natin ng kaunti ang code:

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

    Sa aming matrix A, para sa mga vertices na nasa gilid, hindi ako nagdaragdag ng isang row mula sa kategoryang v_i = verts[i][d], ngunit 1000*v_i = 1000*verts[i][d]. Ano ang binabago nito? At binago nito ang aming quadratic form ng error. Ngayon ang isang solong paglihis mula sa tuktok sa gilid ay nagkakahalaga ng hindi isang yunit, tulad ng dati, ngunit 1000 * 1000 na mga yunit. Iyon ay, nag-hang kami ng isang mas malakas na spring sa matinding vertices, mas pinipili ng solusyon na iunat ang iba nang mas malakas. Narito ang resulta:

    Doblehin natin ang lakas ng mga bukal sa pagitan ng mga vertex:
    nlCoefficient(mukha[j], 2); nlCoefficient(mukha[(j+1)%3], -2);

    Ito ay lohikal na ang ibabaw ay naging mas makinis:

    At ngayon kahit isang daang beses na mas malakas:

    Ano ito? Isipin na nagsawsaw tayo ng wire ring sa tubig na may sabon. Bilang resulta, ang resultang soap film ay susubukan na magkaroon ng pinakamaliit na curvature hangga't maaari, na humahawak sa parehong hangganan - ang aming wire ring. Ito ay eksakto kung ano ang nakuha namin sa pamamagitan ng pag-aayos ng hangganan at paghingi ng isang makinis na ibabaw sa loob. Binabati kita, nalutas na natin ang Laplace equation na may mga kundisyon sa hangganan ng Dirichlet. Mukhang cool? Ngunit sa katunayan, isang sistema lamang ng mga linear na equation upang malutas.

    Poisson equation

    Magkaroon tayo ng isa pang cool na pangalan.

    Sabihin nating mayroon akong larawang tulad nito:

    Lahat ay mabuti, ngunit hindi ko gusto ang upuan.

    Pinutol ko ang larawan sa kalahati:



    At pipili ako ng upuan gamit ang aking mga kamay:

    Pagkatapos ay i-drag ko ang lahat ng puti sa maskara sa kaliwang bahagi ng larawan, at sa parehong oras sasabihin ko sa buong larawan na ang pagkakaiba sa pagitan ng dalawang magkalapit na mga pixel ay dapat na katumbas ng pagkakaiba sa pagitan ng dalawang magkalapit na mga pixel ng kanang larawan:

    Para sa (int i=0; i

    Narito ang resulta:

    Available ang code at mga larawan

    Na nakakahanap ng pinakamalawak na aplikasyon sa iba't ibang larangan ng agham at kasanayan. Ito ay maaaring pisika, kimika, biology, ekonomiya, sosyolohiya, sikolohiya at iba pa at iba pa. Sa pamamagitan ng kalooban ng kapalaran, madalas kong kailangang harapin ang ekonomiya, at samakatuwid ngayon ay mag-aayos ako para sa iyo ng isang tiket sa isang kamangha-manghang bansa na tinatawag na Econometrics=) … Paanong ayaw mo niyan?! Napakaganda doon - kailangan mo lang magdesisyon! …Ngunit ang malamang na gusto mo ay matutunan kung paano lutasin ang mga problema hindi bababa sa mga parisukat. At lalo na ang masigasig na mga mambabasa ay matututo na lutasin ang mga ito hindi lamang nang tumpak, kundi pati na rin napakabilis ;-) Ngunit una pangkalahatang pahayag ng problema+ kaugnay na halimbawa:

    Hayaang pag-aralan ang mga indicator sa ilang subject area na may quantitative expression. Kasabay nito, mayroong bawat dahilan upang maniwala na ang tagapagpahiwatig ay nakasalalay sa tagapagpahiwatig. Ang pagpapalagay na ito ay maaaring parehong siyentipikong hypothesis at batay sa elementarya na sentido komun. Iwanan natin ang agham, gayunpaman, at tuklasin ang higit pang mga lugar na kasiya-siya - ibig sabihin, mga grocery store. Ipahiwatig sa pamamagitan ng:

    – retail space ng isang grocery store, sq.m.,
    - taunang turnover ng isang grocery store, milyong rubles.

    Malinaw na mas malaki ang lugar ng tindahan, mas malaki ang turnover nito sa karamihan ng mga kaso.

    Ipagpalagay na pagkatapos magsagawa ng mga obserbasyon / mga eksperimento / mga kalkulasyon / pagsasayaw gamit ang isang tamburin, mayroon kaming disposal numerical data:

    Sa mga grocery store, sa palagay ko ang lahat ay malinaw: - ito ang lugar ng 1st store, - ang taunang turnover nito, - ang lugar ng 2nd store, - ang taunang turnover nito, atbp. Sa pamamagitan ng paraan, hindi kinakailangan na magkaroon ng access sa mga classified na materyales - ang isang medyo tumpak na pagtatasa ng turnover ay maaaring makuha gamit ang mga istatistika ng matematika. Gayunpaman, huwag magambala, ang kurso ng komersyal na espiya ay binabayaran na =)

    Ang data ng tabular ay maaari ding isulat sa anyo ng mga puntos at ilarawan sa karaniwang paraan para sa atin. Sistema ng Cartesian .

    Sagutin natin ang isang mahalagang tanong: ilang puntos ang kailangan para sa isang qualitative study?

    Ang mas malaki, mas mabuti. Ang minimum na tinatanggap na set ay binubuo ng 5-6 puntos. Bilang karagdagan, sa maliit na halaga ng data, hindi dapat isama sa sample ang mga "abnormal" na resulta. Kaya, halimbawa, ang isang maliit na elite na tindahan ay maaaring makatulong sa mga order ng magnitude higit pa sa "kanilang mga kasamahan", at sa gayon ay distorting ang pangkalahatang pattern na kailangang matagpuan!

    Kung ito ay medyo simple, kailangan nating pumili ng isang function, iskedyul na pumasa nang mas malapit hangga't maaari sa mga puntos . Ang ganitong function ay tinatawag tinatantiya (approximation - approximation) o teoretikal na pag-andar . Sa pangkalahatan, dito agad lumilitaw ang isang halatang "nagpapanggap" - isang polynomial ng mataas na antas, ang graph kung saan dumadaan sa LAHAT ng mga puntos. Ngunit ang pagpipiliang ito ay kumplikado, at kadalasan ay hindi tama. (dahil ang tsart ay "hangin" sa lahat ng oras at hindi maganda ang sumasalamin sa pangunahing trend).

    Kaya, ang nais na pag-andar ay dapat na sapat na simple at sa parehong oras ay sumasalamin sa pag-asa nang sapat. Tulad ng maaari mong hulaan, ang isa sa mga pamamaraan para sa paghahanap ng mga naturang function ay tinatawag hindi bababa sa mga parisukat. Una, suriin natin ang kakanyahan nito sa pangkalahatang paraan. Hayaan ang ilang function na humigit-kumulang sa pang-eksperimentong data:


    Paano suriin ang katumpakan ng pagtatantya na ito? Kalkulahin din natin ang mga pagkakaiba (mga deviation) sa pagitan ng mga pang-eksperimentong at functional na halaga (pinag-aaralan namin ang pagguhit). Ang unang naiisip na nasa isip ay ang tantiyahin kung gaano kalaki ang kabuuan, ngunit ang problema ay ang mga pagkakaiba ay maaaring negatibo. (Halimbawa, ) at ang mga paglihis bilang resulta ng naturang pagsusuma ay magkakansela sa isa't isa. Samakatuwid, bilang pagtatantya ng katumpakan ng pagtatantya, iminumungkahi nito ang sarili nitong kunin ang kabuuan mga module mga paglihis:

    o sa nakatiklop na anyo: (bigla, sino ang hindi nakakaalam: ay ang sum icon, at isang auxiliary variable-"counter", na kumukuha ng mga halaga mula 1 hanggang ).

    Sa pamamagitan ng pagtatantya sa mga pang-eksperimentong punto na may iba't ibang mga pag-andar, makakakuha tayo ng iba't ibang mga halaga ng , at malinaw na kung saan ang kabuuan na ito ay mas maliit, ang pagpapaandar na iyon ay mas tumpak.

    Ang ganitong paraan ay umiiral at tinatawag hindi bababa sa modulus na pamamaraan. Gayunpaman, sa pagsasagawa ito ay naging mas laganap. hindi bababa sa parisukat na paraan, kung saan ang mga posibleng negatibong halaga ay inalis hindi ng modulus, ngunit sa pamamagitan ng pag-squaring ng mga deviations:

    , pagkatapos kung saan ang mga pagsisikap ay nakadirekta sa pagpili ng naturang function na ang kabuuan ng mga squared deviations ay kasing liit hangga't maaari. Sa totoo lang, kaya ang pangalan ng pamamaraan.

    At ngayon bumalik tayo sa isa pang mahalagang punto: tulad ng nabanggit sa itaas, ang napiling function ay dapat na medyo simple - ngunit mayroon ding maraming mga naturang function: linear , hyperbolic, exponential, logarithmic, parisukat atbp. At, siyempre, dito gusto kong agad na "bawasan ang larangan ng aktibidad." Anong klase ng mga function ang pipiliin para sa pananaliksik? Primitive ngunit epektibong pamamaraan:

    - Ang pinakamadaling paraan upang gumuhit ng mga puntos sa pagguhit at pag-aralan ang kanilang lokasyon. Kung sila ay nasa isang tuwid na linya, dapat mong hanapin straight line equation na may pinakamainam na halaga at . Sa madaling salita, ang gawain ay upang mahanap ang GANITONG mga coefficient - upang ang kabuuan ng mga squared deviations ay ang pinakamaliit.

    Kung ang mga punto ay matatagpuan, halimbawa, kasama hyperbole, pagkatapos ay malinaw na ang linear function ay magbibigay ng hindi magandang approximation. Sa kasong ito, hinahanap namin ang pinaka "kanais-nais" na mga coefficient para sa hyperbola equation - ang mga nagbibigay ng pinakamababang kabuuan ng mga parisukat .

    Ngayon pansinin na sa parehong mga kaso na pinag-uusapan natin function ng dalawang variable, na ang mga argumento ay naghanap ng mga opsyon sa dependency:

    At sa esensya, kailangan nating lutasin ang isang karaniwang problema - upang mahanap minimum ng isang function ng dalawang variable.

    Alalahanin ang aming halimbawa: ipagpalagay na ang mga punto ng "shop" ay malamang na matatagpuan sa isang tuwid na linya at mayroong lahat ng dahilan upang maniwala sa presensya linear dependence turnover mula sa lugar ng kalakalan. Hanapin natin ang GANOONG coefficient na "a" at "be" upang ang kabuuan ng mga squared deviations ay ang pinakamaliit. Lahat gaya ng dati - una mga partial derivatives ng 1st order. Ayon kay tuntunin ng linearity maaari kang mag-iba sa ilalim mismo ng icon ng kabuuan:

    Kung nais mong gamitin ang impormasyong ito para sa isang sanaysay o isang term paper, ako ay lubos na nagpapasalamat para sa link sa listahan ng mga mapagkukunan, hindi ka makakahanap ng ganoong detalyadong mga kalkulasyon kahit saan:

    Gumawa tayo ng isang karaniwang sistema:

    Binabawasan namin ang bawat equation ng "dalawa" at, bilang karagdagan, "paghiwa-hiwalayin" ang mga kabuuan:

    Tandaan : nakapag-iisa na pag-aralan kung bakit maaaring alisin ang "a" at "be" sa icon ng kabuuan. Sa pamamagitan ng paraan, pormal na ito ay maaaring gawin sa kabuuan

    Isulat muli natin ang system sa isang "inilapat" na form:

    pagkatapos kung saan ang algorithm para sa paglutas ng aming problema ay nagsisimulang iguguhit:

    Alam ba natin ang mga coordinate ng mga puntos? Alam namin. Sums mahahanap natin? Madali. Binubuo namin ang pinakasimpleng sistema ng dalawang linear equation na may dalawang hindi alam("a" at "beh"). Nilulutas namin ang sistema, halimbawa, Pamamaraan ni Cramer, na nagreresulta sa isang nakatigil na punto. Sinusuri sapat na kondisyon para sa isang extremum, maaari naming i-verify na sa puntong ito ang function tumpak na umabot pinakamababa. Ang pag-verify ay nauugnay sa mga karagdagang kalkulasyon at samakatuwid ay iiwan namin ito sa likod ng mga eksena. (kung kinakailangan, ang nawawalang frame ay maaaring tingnan). Ginagawa namin ang pangwakas na konklusyon:

    Function ang pinakamahusay na paraan (hindi bababa sa kumpara sa anumang iba pang linear function) pinalalapit ang mga pang-eksperimentong punto . Sa halos pagsasalita, ang graph nito ay pumasa nang mas malapit hangga't maaari sa mga puntong ito. Sa tradisyon econometrics ang resultang approximating function ay tinatawag din equation ng pares linear regression .

    Ang problemang isinasaalang-alang ay may malaking praktikal na kahalagahan. Sa sitwasyon sa ating halimbawa, ang equation nagbibigay-daan sa iyo upang mahulaan kung anong uri ng turnover ("yig") ay nasa tindahan na may isa o ibang halaga ng lugar ng pagbebenta (isa o ibang kahulugan ng "x"). Oo, ang magreresultang hula ay magiging isang hula lamang, ngunit sa maraming mga kaso ito ay magiging tumpak.

    Susuriin ko lamang ang isang problema sa "tunay" na mga numero, dahil walang mga kahirapan dito - lahat ng mga kalkulasyon ay nasa antas ng kurikulum ng paaralan sa mga baitang 7-8. Sa 95 porsiyento ng mga kaso, hihilingin sa iyo na maghanap lamang ng isang linear na function, ngunit sa pinakadulo ng artikulo ay ipapakita ko na hindi na mahirap hanapin ang mga equation para sa pinakamainam na hyperbola, exponent, at ilang iba pang mga function.

    Sa katunayan, nananatili itong ipamahagi ang mga ipinangakong goodies - upang malaman mo kung paano lutasin ang mga naturang halimbawa hindi lamang tumpak, ngunit mabilis din. Maingat naming pinag-aaralan ang pamantayan:

    Gawain

    Bilang resulta ng pag-aaral ng ugnayan sa pagitan ng dalawang tagapagpahiwatig, ang mga sumusunod na pares ng mga numero ay nakuha:

    Gamit ang paraan ng least squares, hanapin ang linear function na pinakamahusay na tinatantya ang empirical (nakaranas) datos. Gumawa ng drawing kung saan, sa isang Cartesian rectangular coordinate system, mag-plot ng mga pang-eksperimentong punto at isang graph ng approximating function. . Hanapin ang kabuuan ng mga squared deviations sa pagitan ng empirical at theoretical values. Alamin kung mas maganda ang function (sa mga tuntunin ng pamamaraan ng least squares) tinatayang mga pang-eksperimentong punto.

    Tandaan na ang mga halaga ng "x" ay mga likas na halaga, at ito ay may katangian na makabuluhang kahulugan, na tatalakayin ko sa ibang pagkakataon; ngunit sila, siyempre, ay maaaring maging fractional. Bilang karagdagan, depende sa nilalaman ng isang partikular na gawain, ang parehong "X" at "G" na mga halaga ay maaaring ganap o bahagyang negatibo. Buweno, binigyan kami ng isang "walang mukha" na gawain, at sinimulan namin ito solusyon:

    Nahanap namin ang mga coefficient ng pinakamainam na function bilang isang solusyon sa system:

    Para sa mga layunin ng isang mas compact na notation, ang "counter" na variable ay maaaring tanggalin, dahil ito ay malinaw na na ang pagsusuma ay isinasagawa mula 1 hanggang .

    Ito ay mas maginhawa upang kalkulahin ang mga kinakailangang halaga sa isang tabular form:


    Maaaring isagawa ang mga kalkulasyon sa isang microcalculator, ngunit mas mahusay na gumamit ng Excel - parehong mas mabilis at walang mga error; manood ng maikling video:

    Kaya, nakukuha namin ang sumusunod sistema:

    Dito maaari mong i-multiply ang pangalawang equation sa 3 at ibawas ang 2nd mula sa 1st equation term sa pamamagitan ng term. Ngunit ito ay swerte - sa pagsasagawa, ang mga sistema ay madalas na hindi likas na matalino, at sa mga ganitong kaso nakakatipid ito Pamamaraan ni Cramer:
    , kaya ang system ay may natatanging solusyon.

    Suriin natin. Naiintindihan ko na ayaw ko, ngunit bakit laktawan ang mga pagkakamali kung saan talagang hindi mo makaligtaan ang mga ito? Palitan ang nahanap na solusyon sa kaliwang bahagi ng bawat equation ng system:

    Ang mga tamang bahagi ng kaukulang mga equation ay nakuha, na nangangahulugan na ang sistema ay nalutas nang tama.

    Kaya, ang gustong approximating function: – mula sa lahat ng linear function Ang pang-eksperimentong data ay pinakamahusay na tinatantya nito.

    Unlike tuwid dependence ng turnover ng tindahan sa lugar nito, ang nahanap na dependence ay reverse (prinsipyo "mas marami - mas kaunti"), at ang katotohanang ito ay agad na inihayag ng negatibo angular coefficient. Function nagpapaalam sa amin na sa pagtaas ng isang tiyak na tagapagpahiwatig ng 1 yunit, ang halaga ng umaasa na tagapagpahiwatig ay bumababa karaniwan ng 0.65 units. Tulad ng sinasabi nila, mas mataas ang presyo ng bakwit, mas mababa ang naibenta.

    Upang i-plot ang approximating function, makikita namin ang dalawa sa mga value nito:

    at isagawa ang pagguhit:


    Ang itinayong linya ay tinatawag linya ng trend (ibig sabihin, isang linear trend line, ibig sabihin, sa pangkalahatang kaso, ang trend ay hindi nangangahulugang isang tuwid na linya). Ang bawat tao'y pamilyar sa pananalitang "maging nasa trend", at sa palagay ko ang terminong ito ay hindi nangangailangan ng karagdagang mga komento.

    Kalkulahin ang kabuuan ng mga squared deviations sa pagitan ng empirical at theoretical values. Sa geometriko, ito ang kabuuan ng mga parisukat ng mga haba ng mga segment na "pulang-pula". (dalawa sa mga ito ay napakaliit na hindi mo makita ang mga ito).

    Ibuod natin ang mga kalkulasyon sa isang talahanayan:


    Maaari silang muling maisagawa nang manu-mano, kung sakaling magbibigay ako ng isang halimbawa para sa unang punto:

    ngunit mas mahusay na gawin ang alam nang paraan:

    Ulitin natin: ano ang kahulugan ng resulta? Mula sa lahat ng linear function function ang exponent ay ang pinakamaliit, iyon ay, ito ang pinakamahusay na approximation sa pamilya nito. At dito, sa pamamagitan ng paraan, ang huling tanong ng problema ay hindi sinasadya: paano kung ang iminungkahing exponential function mas mabuti bang tantiyahin ang mga pang-eksperimentong punto?

    Hanapin natin ang katumbas na kabuuan ng mga squared deviations - upang makilala ang mga ito, itatalaga ko ang mga ito sa titik na "epsilon". Ang pamamaraan ay eksaktong pareho:


    At muli para sa bawat pagkalkula ng sunog para sa 1st point:

    Sa Excel, ginagamit namin ang karaniwang function EXP (Matatagpuan ang syntax sa Excel Help).

    Konklusyon: , kaya tinatantya ng exponential function ang mga pang-eksperimentong puntos na mas malala kaysa sa tuwid na linya .

    Ngunit dapat tandaan dito na "mas malala" ay hindi pa ibig sabihin, anong mali. Ngayon ay gumawa ako ng graph ng exponential function na ito - at pumasa din ito malapit sa mga puntos - kaya't kung walang analytical na pag-aaral ay mahirap sabihin kung aling function ang mas tumpak.

    Nakumpleto nito ang solusyon, at bumalik ako sa tanong ng mga natural na halaga ng argumento. Sa iba't ibang mga pag-aaral, bilang panuntunan, pang-ekonomiya o sosyolohikal, mga buwan, taon o iba pang pantay na agwat ng oras ay binibilang ng natural na "X". Isaalang-alang, halimbawa, ang gayong problema.

    Ang hindi bababa sa mga parisukat ay isang matematikal na pamamaraan para sa pagbuo ng isang linear na equation na pinakaangkop sa isang hanay ng mga nakaayos na pares sa pamamagitan ng paghahanap ng mga halaga para sa a at b, ang mga coefficient sa straight line equation. Ang layunin ng paraan ng least squares ay upang mabawasan ang kabuuang squared error sa pagitan ng y at ŷ value. Kung para sa bawat punto ay natukoy namin ang error ŷ, ang pinakamaliit na paraan ng mga parisukat ay nagpapaliit:

    kung saan n = bilang ng mga nakaayos na pares sa paligid ng linya. pinaka-kaugnay sa data.

    Ang konseptong ito ay inilalarawan sa Figure

    Sa paghusga sa figure, ang linya na pinakaangkop sa data, ang regression line, ay nagpapaliit sa kabuuang squared error ng apat na puntos sa graph. Ipapakita ko sa iyo kung paano matukoy ito gamit ang paraan ng least squares sa sumusunod na halimbawa.

    Isipin ang isang kabataang mag-asawa na kamakailan ay naninirahan at magkasama sa isang vanity table sa banyo. Ang binata ay nagsimulang mapansin na ang kalahati ng kanyang mesa ay lumiliit nang hindi maiiwasan, nawawala ang lupa sa mga mousses ng buhok at mga soy complex. Sa nakalipas na ilang buwan, mahigpit na sinusubaybayan ng lalaki ang rate kung saan tumataas ang bilang ng mga item sa kanyang bahagi ng mesa. Ipinapakita ng talahanayan sa ibaba ang bilang ng mga item na mayroon ang babae sa mesa ng banyo na naipon sa nakalipas na ilang buwan.

    Dahil ang layunin namin ay malaman kung tumataas ang bilang ng mga item sa paglipas ng panahon, ang "Buwan" ang magiging independent variable, at ang "Bilang ng Mga Item" ang magiging dependent variable.

    Gamit ang paraan ng least squares, tinutukoy namin ang equation na pinakaangkop sa data sa pamamagitan ng pagkalkula ng mga halaga ng a, ang segment sa y-axis, at b, ang slope ng linya:

    a = y cf - bx cf

    kung saan ang x cf ay ang mean value ng x, ang independent variable, ang y cf ay ang mean value ng y, ang independent variable.

    Ang talahanayan sa ibaba ay nagbubuod ng mga kalkulasyon na kinakailangan para sa mga equation na ito.

    Ang curve ng epekto para sa aming halimbawa ng bathtub ay ibibigay ng sumusunod na equation:

    Dahil ang aming equation ay may positibong slope na 0.976, ang lalaki ay may patunay na ang bilang ng mga item sa talahanayan ay tumataas sa paglipas ng panahon sa isang average na rate ng 1 item bawat buwan. Ipinapakita ng graph ang curve ng epekto na may mga nakaayos na pares.

    Ang inaasahang bilang ng mga item para sa susunod na kalahating taon (buwan 16) ay kakalkulahin tulad ng sumusunod:

    ŷ = 5.13 + 0.976x = 5.13 + 0.976(16) ~ 20.7 = 21 item

    Kaya panahon na para kumilos ang ating bida.

    TREND function sa Excel

    Tulad ng maaaring nahulaan mo, ang Excel ay may function upang kalkulahin ang isang halaga mula sa paraan ng least squares. Ang tampok na ito ay tinatawag na TREND. Ang syntax nito ay ang sumusunod:

    TREND (kilalang Y value; alam X value; bagong X value; const)

    kilalang mga halaga ng Y - isang hanay ng mga umaasa na variable, sa aming kaso, ang bilang ng mga item sa talahanayan

    kilalang mga halaga ng X - isang hanay ng mga independiyenteng variable, sa aming kaso ito ay isang buwan

    bagong X values ​​– bagong X (buwan) values ​​kung saan TREND function ibinabalik ang inaasahang halaga ng mga dependent variable (bilang ng mga item)

    const - opsyonal. Isang Boolean na halaga na tumutukoy kung ang constant b ay kailangang maging 0.

    Halimbawa, ipinapakita ng figure ang TREND function na ginamit upang matukoy ang inaasahang bilang ng mga item sa mesa ng banyo para sa ika-16 na buwan.

    Ang pamamaraan ng hindi bababa sa mga parisukat (LSM) ay nagbibigay-daan sa iyo upang tantyahin ang iba't ibang dami gamit ang mga resulta ng maraming mga sukat na naglalaman ng mga random na error.

    Katangian ng MNC

    Ang pangunahing ideya ng pamamaraang ito ay ang kabuuan ng mga parisukat na error ay itinuturing na isang pamantayan para sa katumpakan ng solusyon ng problema, na hinahangad na mabawasan. Kapag ginagamit ang pamamaraang ito, maaaring ilapat ang parehong mga numerical at analytical na diskarte.

    Sa partikular, bilang isang numerical na pagpapatupad, ang least squares method ay nagpapahiwatig ng paggawa ng maraming sukat ng isang hindi kilalang random variable hangga't maaari. Bukod dito, mas maraming mga kalkulasyon, mas tumpak ang magiging solusyon. Sa hanay ng mga kalkulasyon na ito (paunang data), isa pang hanay ng mga iminungkahing solusyon ang nakuha, kung saan pipiliin ang pinakamahusay. Kung ang hanay ng mga solusyon ay parametrized, kung gayon ang pinakamababang paraan ng mga parisukat ay mababawasan upang mahanap ang pinakamainam na halaga ng mga parameter.

    Bilang isang analytical na diskarte sa pagpapatupad ng LSM sa hanay ng mga paunang data (mga sukat) at ang iminungkahing hanay ng mga solusyon, ang ilan (functional) ay tinukoy, na maaaring ipahayag ng isang formula na nakuha bilang isang tiyak na hypothesis na kailangang kumpirmahin. Sa kasong ito, ang paraan ng least squares ay binabawasan sa paghahanap ng minimum ng functional na ito sa set ng mga squared error ng paunang data.

    Tandaan na hindi ang mga pagkakamali mismo, ngunit ang mga parisukat ng mga pagkakamali. Bakit? Ang katotohanan ay madalas na ang mga paglihis ng mga sukat mula sa eksaktong halaga ay parehong positibo at negatibo. Kapag tinutukoy ang average, ang simpleng pagbubuod ay maaaring humantong sa isang hindi tamang konklusyon tungkol sa kalidad ng pagtatantya, dahil ang magkaparehong pagkansela ng positibo at negatibong mga halaga ay magbabawas sa sampling na kapangyarihan ng hanay ng mga sukat. At, dahil dito, ang katumpakan ng pagtatasa.

    Upang maiwasang mangyari ito, ang mga squared deviations ay summed up. Higit pa riyan, upang mapantayan ang dimensyon ng sinusukat na halaga at ang panghuling pagtatantya, ang kabuuan ng mga squared error ay ginagamit upang kunin

    Ang ilang mga aplikasyon ng MNCs

    Ang MNC ay malawakang ginagamit sa iba't ibang larangan. Halimbawa, sa probability theory at mathematical statistics, ang pamamaraan ay ginagamit upang matukoy ang naturang katangian ng isang random variable bilang standard deviation, na tumutukoy sa lapad ng hanay ng mga value ng isang random variable.

    Pinakamababang parisukat na pamamaraan ay ginagamit upang tantyahin ang mga parameter ng equation ng regression.
    Bilang ng mga linya (paunang data)

    Ang isa sa mga pamamaraan para sa pag-aaral ng mga stochastic na relasyon sa pagitan ng mga tampok ay ang pagsusuri ng regression.
    Ang pagsusuri ng regression ay ang derivation ng isang regression equation, na ginagamit upang mahanap ang average na halaga ng isang random na variable (feature-result), kung ang halaga ng isa pa (o iba pang) variable (feature-factor) ay kilala. Kabilang dito ang mga sumusunod na hakbang:

    1. pagpili ng anyo ng koneksyon (uri ng analytical regression equation);
    2. pagtatantya ng mga parameter ng equation;
    3. pagsusuri ng kalidad ng analytical regression equation.
    Kadalasan, ang isang linear na anyo ay ginagamit upang ilarawan ang istatistikal na kaugnayan ng mga tampok. Ang pansin sa isang linear na relasyon ay ipinaliwanag sa pamamagitan ng isang malinaw na pang-ekonomiyang interpretasyon ng mga parameter nito, na limitado sa pamamagitan ng pagkakaiba-iba ng mga variable, at sa pamamagitan ng katotohanan na sa karamihan ng mga kaso, ang mga non-linear na anyo ng isang relasyon ay na-convert (sa pamamagitan ng pagkuha ng logarithm o pagbabago ng mga variable) sa isang linear na anyo upang magsagawa ng mga kalkulasyon.
    Sa kaso ng isang linear na pares na relasyon, ang regression equation ay kukuha ng anyo: y i =a+b·x i +u i . Ang mga parameter ng equation na ito a at b ay tinatantya mula sa data ng statistical observation x at y . Ang resulta ng naturang pagtatasa ay ang equation: , kung saan , - mga pagtatantya ng mga parameter a at b , - ang halaga ng epektibong tampok (variable) na nakuha ng equation ng regression (kinakalkulang halaga).

    Ang pinakakaraniwang ginagamit para sa pagtatantya ng parameter ay least squares method (LSM).
    Ang paraan ng least squares ay nagbibigay ng pinakamahusay (pare-pareho, mahusay at walang pinapanigan) na mga pagtatantya ng mga parameter ng equation ng regression. Ngunit lamang kung ang ilang mga pagpapalagay tungkol sa random na termino (u) at ang independiyenteng variable (x) ay natutugunan (tingnan ang mga pagpapalagay ng OLS).

    Ang problema sa pagtatantya ng mga parameter ng isang linear pair equation sa pamamagitan ng least squares method ay binubuo ng mga sumusunod: upang makakuha ng mga naturang pagtatantya ng mga parameter , , kung saan ang kabuuan ng mga squared deviations ng aktwal na mga halaga ng epektibong tampok - y i mula sa mga kinakalkula na halaga - ay minimal.
    Pormal OLS criterion maaaring isulat ng ganito: .

    Pag-uuri ng mga pamamaraan ng least squares

    1. Pinakamababang parisukat na pamamaraan.
    2. Maximum na paraan ng posibilidad (para sa isang normal na klasikal na linear regression na modelo, ang normalidad ng mga natitirang regression ay postulated).
    3. Ang pangkalahatang paraan ng least squares ng GLSM ay ginagamit sa kaso ng error autocorrelation at sa kaso ng heteroscedasticity.
    4. Weighted least squares method (isang espesyal na kaso ng GLSM na may heteroscedastic residuals).

    Ilarawan ang kakanyahan ang klasikal na paraan ng hindi bababa sa mga parisukat sa graphic. Upang gawin ito, bubuo tayo ng dot plot ayon sa data ng pagmamasid (x i , y i , i=1;n) sa isang rectangular coordinate system (ang naturang dot plot ay tinatawag na correlation field). Subukan nating maghanap ng isang tuwid na linya na pinakamalapit sa mga punto ng field ng ugnayan. Ayon sa paraan ng least squares, ang linya ay pinili upang ang kabuuan ng squared vertical na mga distansya sa pagitan ng mga punto ng correlation field at ang linyang ito ay magiging minimal.

    Mathematic na notasyon ng problemang ito: .
    Ang mga halaga ng y i at x i =1...n ay kilala sa amin, ito ay data ng pagmamasid. Sa function na S sila ay mga pare-pareho. Ang mga variable sa function na ito ay ang mga kinakailangang pagtatantya ng mga parameter - , . Upang mahanap ang minimum ng isang function ng 2 variable, kinakailangan upang kalkulahin ang mga partial derivatives ng function na ito na may paggalang sa bawat isa sa mga parameter at equate ang mga ito sa zero, i.e. .
    Bilang resulta, nakakakuha tayo ng isang sistema ng 2 normal na linear equation:
    Sa paglutas ng system na ito, makikita namin ang mga kinakailangang pagtatantya ng parameter:

    Ang kawastuhan ng pagkalkula ng mga parameter ng equation ng regression ay maaaring suriin sa pamamagitan ng paghahambing ng mga kabuuan (ang ilang mga pagkakaiba ay posible dahil sa pag-ikot ng mga kalkulasyon).
    Upang kalkulahin ang mga pagtatantya ng parameter, maaari kang bumuo ng Talahanayan 1.
    Ang sign ng regression coefficient b ay nagpapahiwatig ng direksyon ng relasyon (kung b > 0, ang relasyon ay direkta, kung b<0, то связь обратная). Величина b показывает на сколько единиц изменится в среднем признак-результат -y при изменении признака-фактора - х на 1 единицу своего измерения.
    Sa pormal, ang halaga ng parameter a ay ang average na halaga ng y para sa x na katumbas ng zero. Kung ang sign-factor ay wala at hindi maaaring magkaroon ng isang zero na halaga, kung gayon ang interpretasyon sa itaas ng parameter na a ay walang saysay.

    Pagtatasa ng higpit ng ugnayan sa pagitan ng mga tampok ay isinasagawa gamit ang coefficient ng linear pair correlation - r x,y . Maaari itong kalkulahin gamit ang formula: . Bilang karagdagan, ang coefficient ng linear pair correlation ay maaaring matukoy sa mga tuntunin ng regression coefficient b: .
    Ang hanay ng mga tinatanggap na halaga ng linear coefficient ng ugnayan ng pares ay mula -1 hanggang +1. Ang tanda ng koepisyent ng ugnayan ay nagpapahiwatig ng direksyon ng relasyon. Kung r x, y >0, kung gayon ang koneksyon ay direkta; kung r x, y<0, то связь обратная.
    Kung ang koepisyent na ito ay malapit sa pagkakaisa sa modulus, kung gayon ang ugnayan sa pagitan ng mga tampok ay maaaring bigyang-kahulugan bilang isang medyo malapit na linear. Kung ang modulus nito ay katumbas ng isang ê r x , y ê =1, kung gayon ang ugnayan sa pagitan ng mga tampok ay functional linear. Kung ang mga feature na x at y ay linearly independent, ang r x,y ay malapit sa 0.
    Ang talahanayan 1 ay maaari ding gamitin sa pagkalkula ng r x,y.

    Talahanayan 1

    N obserbasyonx iy ix i ∙ y i
    1 x 1y 1x 1 y 1
    2 x2y2x 2 y 2
    ...
    nx ny nx n y n
    Column Sum∑x∑y∑x y
    Average na halaga
    Upang masuri ang kalidad ng nakuha na equation ng regression, ang teoretikal na koepisyent ng pagpapasiya ay kinakalkula - R 2 yx:

    ,
    kung saan ang d 2 ay ang variance y na ipinaliwanag ng regression equation;
    e 2 - nalalabi (hindi maipaliwanag ng equation ng regression) variance y ;
    s 2 y - kabuuang (kabuuang) pagkakaiba y .
    Ang koepisyent ng determinasyon ay nagpapakilala sa bahagi ng variation (dispersion) ng resultang feature na y, na ipinaliwanag ng regression (at, dahil dito, ang factor x), sa kabuuang variation (dispersion) y. Ang koepisyent ng pagpapasiya R 2 yx ay tumatagal ng mga halaga mula 0 hanggang 1. Alinsunod dito, ang halaga 1-R 2 yx ay nagpapakilala sa proporsyon ng variance y na sanhi ng impluwensya ng iba pang mga kadahilanan na hindi isinasaalang-alang sa mga error sa modelo at pagtutukoy.
    Sa ipinares na linear regression R 2 yx =r 2 yx .

    Mga kaugnay na publikasyon