Zbornik gozdarstva in lesarstva, Ljubljana, 28, 1986, str. 5-16 Oxf. 561-015.5 Math. Subj. Class. (1980) 92A90 Izvleček: CEDILNIK, A.: OPTIMALNA APROKSIMACIJA RASTNIH FUNKCIJ V sestavku so izpeljane obstoj, enoličnost in metoda določevanja točkovne rastne funkcije, za katero je vsota kvadratov odklonov od danih podatkov minimalna. Abstract: CEDILNIK, A.: OPTIMAL APPROXIMATION OF GROWTH FUNCTIONS In the article we deduce the existence, the uniqueness and a method of determination of a pointwise growth function, for which the sum of squares of declination to a given data is mini- mal. 5 Dr. Anton CEDILNIK, dipl. mat., docent Biotehniška fakulteta, VTOZD za gozdarstvo 61000 Ljubljana, Večna pot 83, YU 6 KAZALO l. UVOD 8 2. METODA NAJBOLJŠE APROKSIMACIJE 9 3. DODATEK- KVADRATIČNO PROGRAMIRANJE 13 4. POVZETEK 16 5. SUMMARY 16 6. LITERATURA 16 7 l. UVOD Osnovni problem je znan: dani tabeli (Xk, y k) k= 1, ... , N iščemo rastno funkcijo, ki se točkam te tabele najbolj prilega (v tem članku se bomo pri merilu za najboljše pri- lagajanje omejili na princip najmanjših kvadratov). V ta namen navadno izberemo kakšno analitično funkcijo z nekaj spremenljivimi parametri, te pa potem določimo z običajnimi metodami. Ob tem postopku imamo lahko vsaj tri ugovore: l. če izvzamemo nekaj šibkih poskusov določitve biološko utemeljene rastne funk- cije (npr. Backmann, Poletaev), uporabljamo za aproksimiranje rasti pač funkci- je z ugodnimi matematičnimi lastnostmi za tehniko prilagajanja. V kakšni meri pa potem taka funkcija opisuje, recimo, rast drevesa in v kakšni le samo sebe, je vprašanje. 2. Analitična funkcija ima lastnost, da je njen potek v celoti določen že s potekom na kakršnem koli poljubno majhnem intervalu. če torej trdimo, da rast neke ko- ličine podaja analitična funkcija, v resnici trdimo, da ta količina raste popolno- ma neodvisno od zunanjih vplivov, da je torej izključno genetsko določena. Pri drevesih (rast višine, debeline, temeljnice, lesne mase itd.) je taka trditev brez dvoma napačna. 3. Povrhu vsega pa imamo na razpolago numerične metode, ki nam neposredno iz tabelarično podane funkcije čisto zadovoljivo izločijo zahtevane rezultate, če je funkcija le tabelirana dovolj nagosto (pri drevesih recimo za vsako leto). Zaradi tega analitičnost rastne funkcije pri obravnavi rasti ni tako pomembna prednost, kot se na prvi pogled zdi. Zato je smiselno iskati tabelarično funkcijo, ki se čim bolj prilagaja danim podat- kom, torej funkcijo, ki je določena le pri tistih vrednostih neodvisne spremenljivke, kjer so podane tudi empirično dobljene vrednosti odvisne spremenljivke. V nadaljevanju bomo pokazali še na eno pomembno dejstvo, ki tabelarični funkciji daje prednost pred analitično. Dokazali bomo, da za kakršne koli podatke vedno obstaja ena in ena sama tabelarično podana rastna funkcija, ki ima od vseh rastnih funkcij do danih točk najmanjšo vsoto kvadratov odklonov. Drugače povedano - vedno obstaja najboljša, in to ena sama, aproksimacija s tabelarično funkcijo. Da ta izrek v splošnem ne velja za analitične funkcije, lahko zelo preprosto preveri- mo. Recimo, da imamo take podatke: 8 ffi o o 1 Tabela 1 Te točke že določajo rastno funkcijo in njena vsota kvadratov odklonov od podat- kov je seveda O. Če naj bo neka analitična rastna funkcija prav tako ustrezna, mora iti skozi vse tri točke. Ker mora biti naraščajoča, pa je med prvo in drugo točko nuj- no konstantna. Toda potem je konstantna povsod in ne gre skozi tretjo točko. 2. METODA NAJBOLJŠE APROKSIMACIJE Podatke, vmesne rezultate in iskano aproksimacijo tabelirajmo tako kot v tabeli 2. X y s Q y z X1 Y1,1, Y1,2, ,Y1,s1 S1 Q1 .Y1 Z1 X2 Y2,1, Y2,2, , Y2,s2 S2 Q2 Y2 Z2 Tabela 2 Xn Yn,1, Yn,2, ,Yn,sn Sn Qn Yn Zn ----'----- --- ·- -- - ---------------- ----~---- V stolpcu X so abscise podanih točk. Velja naj: X1 < X2 < ... < Xn (n ~ 2) y k,J (j = 1, . . . , s k) so izmerki količine Y pri abscisi x k, Sk ~ l. števila y k,J so lah- ko poljubna realna števila, tudi enaka. 9 (Y,Z) Yk,j o • ~ 0/0 - - - - - - - - - - - - -1!) • o Sk ---------- -__ j/~ ~ o!~ o/8-:: * o Slika 1: Ponazoritev podatkov in rezultata L Yk,j j=I (k=l, ... ,n) V stolpcu Y so povprečne ordinate točk z isto absciso: (k=l, ... ,n) Stolpec Z pa predstavlja iskano aproksimacijo točk (xk,Yk)· · Ker je Z rastna funkcija, mora veljati: (X) (1) (2) (3) Za funkcijo Z zahtevamo: Vsota kvadratov razlik med vrednostmi Z in Ypri istih xk mora biti minimalna. Iščemo torej tak Z, da bo minimalen izraz: n sk n sk D = L L (Zk-Ykj)2 = L [skzf-2qkZk + L Yf.] k=I j=I ' k=I j=I ,J n sk = lf(Z) + k~I i1 YL' (4) kjer je f(Z) = (5) 10 Očitno je D minimalen natanko takrat, ko je minimalen izraz /(Z). Nalogo zato oblikujmo takole - ob pogojih: (6) (7) je treba določiti Z tako, da bo /(Z) minimalen. Gre. torej za primer kvadratičnega programiranja. Opomba: osnovna dejstva o kvadratičnem programiranju in definicije oznak, ki jih tu uporabljamo, so v dodatku. Naj bo: Z [Z1,Z2, .. ,,Znltxn (8) (9) R= (10) Sn nxn B = ()mxl (m n-1) (11) -1 l g -1 1 A = (12) IJ -1 1 mxn Naslednje tri ugotovitve so očitne: R je simetrična pozitivno definitna matrika; rangA n - 1 ( = m); vektor Z = (;) je možna rešitev, ker zadošča pogojema Z> (i1 in AZT ~ B. Od tod pa sledi, da rešitev programa obstaja in je natanko ena. S tem smo dokazali: IZREK 1. Imejmo dane abscise X in ordinate Y točk v koordinatnem sistemu (ta- bela 2). Potem obstaja ena in ena sama nenegativna in· naraščajoča funkcija Z(X), ki po principu najmanjših kvadratov te točke najbolje aproksimira. 11 V določenih primerih lahko funkcijo Z zelo hitro določimo. Recimo, da so podatki taki: X y X1 Y1 X2 Y2 Tabela 3 Xn Yn pri čemer je: Potem je seveda Z = Y, saj je tedaj vsota kvadratov odklonov enaka O. V splošnem pa moramo zadostiti Kuhn-Tuckerjevim pogojem: Z:2:::@; U>(); -Q + ZR-UTA 2:::(/J; AzT:2:::(/J; (-Q + ZR- uTA)ZT = (/J; uTAzT (). (13,14) (15,16) (17,18) Zapišimo te matrične relacije v skalarni obliki in hkrati nadomestimo matriko Lag- rangeovih multiplikatorjev U z novo matriko V = [vil : (i=l, ... ,m) Kuhn-Tuckerjevi pogoji: 0 =:; Z1 =:; Z2 S ... < Zn v, 2::: O (i= l, ... ,m) V1 (Z2 - Z1) == 0 V2 (Z3 Z2) 0 Z2 - Ji2 - S1 V1IS2 + V2 2;: 0 Z3 -Ji3 -S2V2/S3 + V3 2::: 0 Zn -Yn 12 2::: o (19) (20) (21) (22) (23) (24) Zn(Zn Yn Sn-tVn-1lsn) = O V nekaterih primerih je ta sistem enačb in neenačb zelo preprosto rešljiv. če recimo velja O :5 Y1 :5 ji2 :5 ... < Yn, je rešitev kar Zk = Yk (k= l, ... ,n) (ob tem je v; 0 (i=l, ... ,m)). Oglejmo si reševanje pogojev nasplošno! Najprej pozabimo na zahtevo Zk >O.Za- . ' četni približek naj bo Zk = Yk (k= l, ... ,n), vi O (i= I, ... ,m). Če je Zk :s; Zk+l (k= 1, ... , n-1 ), je v tem koraku problem že rešen. Pa recimo, da je Zk > Zk + 1 za nek določen k, da pa je sicer ZJ :5 ZJ+ 1 zaj O. Ker pa je v k(Zk + 1 - Zk) = O po (22), je nujno Zk + 1 ~· Zk· Sklepamo, da lahko v tem primeru kar združimo seriji podatkov (Yk,1,···•Yk,sk) in (Yk+l,l•···•Yk+l,sk+i> v eno samo s povprečjem. Yk (skfk + sk+1Yk+1)/(sk + sk+1) (25) in zk = zk+1 'Jfk. Pri tem je vk = Yk - .Yk in skvklsk+ 1 = Yk- Yk+ 1 • Seveda se pri tem lahko zgodi, da je Zk-1 > zk in je treba postopek tudi tu ponoviti. Podatke torej združujemo toliko časa, da je serija (Z)J= 1, ... ,k v celoti naraščajoča. Na koncu tega postopka pridemo do rezultata Zk = Jik(ali.Jlk) (k I, ... ,n). Sedaj pa še premislimo, kaj storiti, če je za nek k : Zk < O. V tem primeru bomo zahtevali Zk = O, kajti brez težav lahko preverimo, da so Kuhn-Tuckerjevi pogoji v celoti iz- polnjeni, če je zk 0zaJik<0inzk Jikzayk ~0,terjevi=0(i 1, ... ,m). Nakazani algoritem je shematično zapisan na sliki 2. 3. DODATEK: KVADRA TIČNO PROGRAMIRANJE Naj bo R - simetrična matrika: RT = R pozitivno definitna matrika: V Ztxn:(Z =+ ~ => ZRZT > (}) 13 14 INPUT Yk: = qklsk , __ _ (k= I,n) 1--~I z1==Ji1 1 1 1 no 1 1 1 1 1 1 1 -.---------------------, 1 : j ! L Sk+ 1-iYk+ 1-i ', . yes i- 1 1 l 1 1 1 1 1 a:= -'---'--'-----,------ 1 1 ~ t., Sk+ J-i : ~----'---~ L __ ---,--:.i_=....!I ______ -J :, 1 1 1 1 jcoNTINUEI Zk: = Yk ' no i ·=k : yes 1 .------'----------, L-9--1Zk+1-j~ ~z,:~al 1 k = I ----> n 1- no ~-Z-k_:_=_0__, • ! 1 1 1 1 1 L_ ___________ CONTINUE i-----~ Zk (k= I,n) Slika 2: Diagram algoritma določitve najboljše aproksimacije Dane naj bodo še matrike P = lPkhxn, A = [ai,k]mxn, B = [bilmxI • Določimo skalarno funkcijo (ciljno funkcijo) f nad prostorom vektorjev Z = [Zkhxn : n n n f(Z) = pzT + ½ zRzT = I PkZk + ½ I I rj kZjZk k=l j=I k=l ' (26) Naloga kvadratičnega programiranja je poiskati tak Z, da bo imela funkcija f(Z) globalni minimum na območju, ki ga določata pogoja: Z~(/) oziroma Zk ~ O (k= 1, ... ,n) (27} n AzT>s oziroma I aikZk~bi (i=l, ... ,m) k=I ' (28) Po Kuhn-Tuckerjevem izreku je naloga rešljiva natanko tedaj, ko je rešljiv nasled- nji sistem enačb in neenačb (Kuhn-Tuckerjevi pogoji), in rešitev tega sistema je tu- di rešitev naloge: z~(/); u~ (); P + ZR - UTA ~ (/) ; AZ T - B 2:= (/) ; (P + ZR- uTA)zT = (/); uT(AzT -B) = (/). Pri tem je U = [uilmxl neznani vektor Lagrangeovih multiplikatorjev. Kuhn-Truckerjevi pogoji so v skalarni obliki taki: Zk~0 (k=l, ... ,n); u;~0 (i=l, ... ,m) n Pk + L r1· kZk-j=I , (k= 1, ... ,n) n L a · kZk - b · ~ O k=I I, I (i=l, ... ,m) n m Zk(pk + L r· kZk - L uiai,k) = O (k= 1, ... ,n) j=l J, i=l n ui( L ai,kZk - bi) = O k=l (i= 1, ... ,m) (29,30) (31,32) (33,34) (35,36) (37) (38) (39) (40) če je rang A = m in če obstaja vsaj en tak Z 2: ~ , da je AZ T 2:= B (tak Z ime- nujemo možna rešitev), rešitev obstaja in je ena sai;na. 15 4. POVZETEK V sestavku rešujemo naslednjo nalogo: Imamo dane podatke za neko rast in iščemo rastno funkcijo, za katero je vsota kva- dratov odklonov od podatkov minimalna. Vrednosti te funkcije iščemo le pri tistih vrednostih neodvisne spremenljivke, ki v podatkih nastopajo. Zato tudi ni potreb- no, da bi bil tip funkcije že vnaprej podan z nekim analitičnim izrazom. S sredstvi, ki nam jih omogoča kvadratično programiranje, dokažemo, da taka najboljša aproksimacija obstaja in da je celo ena sama. Izpeljemo še algoritem njenega iska- nja; ta je shematično prikazan na sliki 2. 5. SUMMARY The problem which we solved in the article is the following. We have data fara cer- tain growth and we are looking far a growth function, far which the sum of squares of declinations from given points is minimal. We are interested only in the values of this function that belong to the values of independent variable appearing in the data; therefore it is not necessary far the tipe of the function to be given in advance by analytic expression. By the mcthods of quadratic programming we prave that in this sence the best approximation exists and that it is even unique. We also deduce the algorithm of searching the best approximation. The algorithm is shown in the figure 2. 6. LITERATURA l. CHIANG, A.C.: Fundamental Methods of Mathematical Economics. McGraw- -Hill, lnc., Tokyo 1974. 2. INTRILIGATOR, M.D.: Mathematical Optimization and Economic Theory. Prentice-Hall, Inc., Englewood Cliffs, N.J. 1971. 3. KOTAR, M.: Prirastoslovje. Biotehniška fakulteta, Ljubljana 1986. 4. LIMI(\ N., PAŠAGIC, H., RNJAK, č.: Linearno i nelinearno programiranje. Informator, Zagreb 1978. 16