ROBUST 2004 c JČMF 2004 STOCHASTICKÉ ALGORITMY V ODHADU PARAMETRŮ REGRESNÍCH MODELŮ Josef Tvrdík Klíčová slova: Globální optimalizace, řízené náhodné prohledávání, nelineární regrese. Abstrakt: V článku je popsán algoritmus řízeného náhodného prohledávání (Controlled Random Search, CRS) a jeho zobecnění využívající soutěž heuristik pro generování nového bodu populace. Dále jsou uvedeny výsledky aplikace dvou variant tohoto algoritmu na řadě obtížných úloh odhadu parametrů nelineárních regresních modelů. 1 Úvod Úlohounalezeníglobálníhominimaúčelovéfunkce f: D R, D R d je nalezeníbodux Dsnejnižšífunkčníhodnotou,x =argmin x D f(x). V řadě statistických metod je potřeba nalézt globální minimum(nebo maximum)vsouvisléoblasti D= d i=1 a i, b i, a i < b i, i=1,2,..., d,aúčelovou funkci f(x) umíme vyhodnotit s požadovanou přesností v každém bodu x D. Příklady takových úloh jsou odhady parametrů nelineárních regresních modelů metodou nejmenších čtverců, robustní odhady parametrů atd. Jelikož účelová funkce může být multimodální a odhady parametrů navíc bývají korelované, je nalezení správných hodnot odhadů algoritmicky obtížné. Pro hledání globálního minima je však možné užít stochastických algoritmů pro globální optimalizaci, zejména evolučních algoritmů. 2 Řízené náhodné prohledávání Řízené náhodné prohledávání(controlled Random Search, CRS) je velmi jednoduchý stochastický algoritmus pro hledání globálního minima. Původní verzi tohoto algoritmu publikoval před čtvrt stoletím Price[5], některé modifikacetohotoalgoritmujsouuvedenyv[1],[2],[9].valgoritmucrssena počátku vygeneruje náhodně populace P, tvořená N body v prohledávaném prostoru D. Počet vygenerovaných bodů populace N je větší než dimenze d prohledávaného prostoru D. Pro generování nového bodu y v každém iteračním kroku Price užíval reflexi(1) v simplexu[4], kdy simplex je vytvořen d+1bodynáhodněvybranýmizpopulace: y=2g x H, (1) kdex H jebodsimplexusnejvětšíhodnotouúčelovéfunkceagjetěžiště zbývajících d bodů simplexu. Nahrazením nejhoršího bodu populace novým bodem y dosahujeme toho, že populace se koncentruje v okolí dosud nalezeného bodu s nejmenší funkční hodnotou. Nový bod y lze však generovat
476 Josef Tvrdík i jinou heuristikou než reflexí v simplexu podle(1). Tak dostáváme zobecněný algoritmus řízeného náhodného prohledávání, který lze zapsat takto: Algoritmus 1. Zobecněný CRS generujpopulaci P,tj. NbodůnáhodněvD; repeat najdix max P, f(x max ) f(x), x P; repeat užij nějakou heuristiku k vygenerování nového bodu y D; until f(y) < f(x max ); x max :=y; until podmínka ukončení; Jako příklady heuristik uvedeme ty, které byly užity v implementaci algoritmu ověřované v této práci. Znáhodněná reflexe v simplexu je popsána vztahem y=g+u(g x H ), (2) U je náhodná veličina vhodného rozdělení. Zde je užito rovnoměrné rozdělení na[s, α s), α >0as (0, α/2)jsouvstupníparametryheuristiky.střední hodnotaje E U= α/2.tatoheuristikajevdalšímtextuoznačenarefl. Znáhodněnou modifikací reflexe popsané v[1] je REFL-B, kdy nový bod y se generuje podle(2), ale do simplexu je vždy zařazen nejlepší bod populacex min sfunkčníhodnotou f min, f min f(x),x P,adbodůsimplexu se pak vybere náhodně z ostatních bodů populace. U heuristik vycházejících z diferenciální evoluce[7] se nejdříve generuje bodu u=r 1 + F(r 2 r 3 ), (3) r 1,r 2,r 3 jsounavzájemrůznébodynáhodněvybranézpopulace P, F >0je vstupníparametr.novývektoryvznikne křížením vektoruuanáhodně vybranéhovektoruxtak,žekterýkolijehoprvek x j jenahrazenhodnotou u j spravděpodobností C.Pokudžádné x j nebylopřepsánohodnotou u j nebo přivolbě C=0,nahrazujesejedennáhodněvybranýprvekvektorux: y j = { uj když R j C nebo j= I x j když R j > C a j I, (4) kde I jenáhodněvybranéceléceléčísloz{1,2,..., d}, R j (0,1)jsou volenynáhodněanezávisleprokaždé ja C [0,1]jevstupníparametr.Ali a Törn[1] navrhli určovat hodnotu parametru F v každém iteračním kroku podle adaptivního pravidla F= { max(fmin,1 fmax f min ) if fmax f min <1 max(f min,1 fmin f max ) jinak, (5)
Stochastické algoritmy v odhadu parametrů regresních modelů 477 kde f min, f max jsouminimálníamaximálnífunkčníhodnotyvpopulaci P a F min jevstupníparametr,kterýzabezpečuje,abybylo F [F min,1).předpokládá se, že tento způsob výpočtu F udržuje prohledávání diverzifikované v počátečním stadiu a intenzivnější v pozdější fázi prohledávání, což má zvyšovat spolehlivost hledání i rychlost konvergence. Tato heuristika je dále označena DE-ADP. V práci[8] byl popsán evoluční algoritmus se soutěžícími heuristikami. Stejný přístup můžeme užít i v řízeném náhodném prohledávání, neboť CRS je jen speciální případ zmíněného evolučního algoritmu. Mějme k dispozici h heuristik a v každém kroku ke generování nového bodu vybíráme náhodně i-touheuristikuspravděpodobností q i, i=1,2,..., h.pravděpodobnosti q i měníme v závislosti na úspěšnosti i-té heuristiky v průběhu vyhledávacího procesu. Heuristiku považujeme za úspěšnou, když generuje nový bod y takový,že f(y) < f(x max )).Pokud n i jedosavadnípočetúspěchů i-téheuristiky,pravděpodobnost q i jeúměrnátomutopočtuúspěchů n i + n 0 q i = h j=1 (n j+ n 0 ), (6) kde n 0 >0jevstupníparametralgoritmu.Nastavením n 0 1zabezpečíme, že jeden náhodný úspěch heuristiky nevyvolá příliš velkou změnu v hodnotě q i.algoritmusužívajícíkhodnoceníúspěšnostiheuristik(6)jevdalším textu označen COMP1. Jinou možností, jak ohodnotit úspěšnost heuristiky, jevážitúspěšnostrelativnízměnouvhodnotěfunkce.váha w i seurčíjako w i = f max max(f(y), f min ) f max f min. (7) Hodnoty w i jsouvintervalu(0, 1)apravděpodobnost q i sepakvyhodnotí jako W i + w 0 q i = h j=1 (W j+ w 0 ), (8) kde W i jesoučetvah w i vpředcházejícímhledáníaw 0 >0jevstupníparametr algoritmu. Algoritmus užívající takové hodnocení úspěšnosti je označen COMP4. Aby se zabránilo potlačení možnosti výběru některé z heuristik, lze zadatvstupníparametr δaklesne-likterákolihodnota q i podhodnotu δ,jsou pravděpodobnosti výběru heuristik nastaveny na jejich počáteční hodnoty q i =1/h. Zobecněný CRS algoritmus s osmi soutěžícími heuristikami byl ověřován na řadě testovacích funkcích užívaných při porovnávání algoritmů pro globální optimalizaci[9]. Výsledky ukázaly, že algoritmus byl jak spolehlivější, tak rychlejší než diferenciální evoluce, která je považována za velmi efektivní stochastický algoritmus pro tento typ úloh[7]. Navíc pro různé funkce bylo pozorováno různé rozdělení četnosti užitých heuristik, což ukazuje, že tento algoritmus se soutěžícími heuristikami je schopen se adaptovat podle aktuálně řešené úlohy.
478 Josef Tvrdík 3 Odhad parametrů nelineární regrese V referenční databázi NIST[6] je dvacet sedm testovacích úloh odhadu parametrů nelineárních regresních modelů. Pro první fázi experimentálního ověřování bylo odtud vybráno všech osm úloh s nejvyšším vyznačeným stupněm obtížnosti. Tyto úlohy jsou obtížně řešitelné pomocí standardního statistického softwaru, ve kterém se pro nalezení minima užívají deterministické algoritmy(různé modifikace Levenberg-Marquardtova nebo Gauss-Newtonova algoritmu, simplexová metoda). NCSS 2001, PLUS 4.5, SPSS 10.0 a SYSTAT 8.0, zhruba v polovině z těchto úloh nenalezly žádné řešení nebo skončily v lokálním minimu. Podrobněji jsou výsledky uvedeny v[10]. Na těchto úlohách byly ověřovány i různé varianty CRS se soutěžícími heuristikami. Pro každou úlohu bylo provedeno sto opakování. Sledován byl způsob ukončení(zda bylo nalezeno řešení dostatečně blízké certifikovanému v[6]) a počet vyhodnocení účelové funkce potřebný k dosažení podmínky ukončení, tj. rozdíl v indexu determinace R2 mezi nejhorším a nejlepším bodempopulacejemenšínež1 10 12 aněkolikdalšíchveličincharakterizujících průběh prohledávání. Vstupní parametry algoritmu byly nastaveny takto:velikostpopulace N =10d, n 0 =1, w 0 =0.5, δ=1/8h.vymezení prohledávaného prostoru D pro jednotlivé úlohy je uvedeno v[10] nebo na webové stránce[11]. Pro algoritmus s jedenácti soutěžícími heuristikami[8] bylo hledání pro šest z osmi testovaných úloh stoprocentně spolehlivé, u zbývajících dvou byla spolehlivost zhruba tříčtvrtinová, ale průměrné počty vyhodnocení účelové funkce byly u některých úloh dosti vysoké, u úlohy Bennet5 dokonce přes 78 tisíc, což na běžném PC vyžaduje několik minut[10]. Algoritmus s osmi soutěžícími heuristikami[9] byl sice rychlejší i spolehlivější, ale u některých úloh ne příliš významně. Zřejmě samotná soutěž heuristik nezaručuje takovou adaptibilitu algoritmu, aby z relativně velkého množství heuristik byly přednostně vybírány ty nejvhodnější. Volba heuristik významně ovlivňuje jak spolehlivost hledání, tak rychlost konvergence. Je známo, že u většiny úloh odhadu parametrů nelineárních regresních modelů algoritmická obtížnost spočívá spíše ve zvládnutí údolí účelové funkce, kde gradient jevelmimalý,nežvnějaké divoké multimodalitěčastéufunkcíchužívaných pro testování optimalizačních algoritmů[9]. Proto byly pro další variantu algoritmu zvoleny ty heuristiky, které byly nejčetněji vybírány pro takové funkce(např. Rosenbrockovu funkci) nebo heuristiky, u kterých lze očekávat podobné vlastnosti. Úspěšně fungoval algoritmus CRS se čtyřmi heuristikami. DvěheuristikybylytypuREFLsparametry α=2, s=0.5aα=5, s=1.5. DalšíheuristikoubylaREFL-Bsparametry α=2, s=0.5,čtvrtouheuristikoubylade-adpsparametry F min =0.4, C=0.9.Výsledkyjsouuvedeny vtabulce1,označeníúlohjeshodnésnist.vesloupcích Rjeuvedenaspolehlivost v procentech, s jakou bylo nalezeno řešení blízké certifikovanému globálnímu minimu(shoda v součtu reziduálních čtverců alespoň na 7 platných míst), ve sloupcích označených NE je průměrný počet vyhodnocení účelové funkce potřebný k dosažení podmínky ukončení, ve sloupcích vc je
Stochastické algoritmy v odhadu parametrů regresních modelů 479 koeficient variace vyjádřený v procentech, suc je relativní četnost(v procentech)úspěšnýchbodůy,kdy f(y) < f max, R2jeindexdeterminace,rstje průměrný počet resetů na 1000 vyhodnocení účelové funkce(reset se provede,kdyžklesnekterákolihodnota q i podhodnotu δ)acpujeprůměrný čas v milisekundách potřebný na jedno vyhodnocení účelové funkce(na PC 667 MHz). Z tabulky 1 vidíme, že zejména algoritmus COMP4 byl vysoce spolehlivý s vcelku přijatelnými časovými nároky. U většiny úloh byl čas na nalezení minima několik sekund, minutu přesáhl jen u úlohy Bennett5. Jelikož jsou to časy pro testovací verzi algoritmu se zaznamenáváním několika veličin pro sledování průběhu vyhledávání, lze efektivnějším naprogramováním dobu výpočtu snížit. Jak ukazuje obrázek 1, kde jsou porovnány dvě úlohy lišící se nejvíce v časové náročnosti, je algoritmus adaptivní v tom ohledu, že relativní četnost heuristik užitých při vyhledávání se přizpůsobuje řešené úloze. COMP1 COMP4 Úloha R NE vc R NE vc suc 1-R2 rst cpu Bennett5 100 42367 33.0 100 37620 38.2 44 1.06e-5 12.1 3.23 BoxBOD 100 1023 9.4 100 1018 8.9 51 1.20e-1 21.8 2.65 Eckerle4 100 2089 5.9 100 2118 5.9 50 2.94e-3 18.7 2.70 MGH09 100 9552 10.2 100 9316 9.8 44 5.94e-3 14.8 2.69 MGH10 100 20709 7.6 100 21031 10.3 50 4.70e-8 8.5 2.50 Rat42 100 2357 5.7 100 2368 6.2 44 1.73e-3 16.2 2.51 Rat43 100 3777 4.8 100 3779 5.0 42 8.16e-3 16.5 2.76 Thurber 91 12343 3.7 97 12309 3.7 38 4.92e-4 13.9 3.21 Tabulka 1: CRS se čtyřmi soutěžícími heuristikami. Obrázek 1: Četnosti využití heuristik. AlgoritmusCOMP4byldáleověřovánexperimentálněna14úlohách 1 zčlánku[3]anaostatních19úloháchnist[6].vesrovnánísalgoritmemmcrs[3] 1 Připorovnánítěchtotestovacíchúlohbylozjištěno,žeúlohaModel-5jeshodnásúlohou MGH10, odlišné je jen vymezení prohledávaného prostoru D.
480 Josef Tvrdík Model R NE vc suc 1-R2 rst cpu 1 100 3177 5.2 48 3.45e-3 13.3 2.45 2 80 3038 12.0 47 4.70e-8 12.1 2.46 3 100 1404 6.3 56 8.08e-4 19.8 2.48 4 100 3071 9.2 42 1.62e-3 14.5 2.34 5 100 21590 6.6 47 6.20e-8 11.3 2.37 6 100 1036 8.8 48 3.77e-1 25.0 2.40 7 100 37061 1.9 48 2.38e-2 15.5 2.61 8 100 32349 4.1 47 2.80e-6 15.6 2.73 9 98 2051 13.1 41 3.84e-3 18.4 2.36 10 100 30428 40.6 36 3.21e-5 12.8 2.80 11 85 24485 33.6 35 3.70e-8 11.5 2.56 12 98 2942 5.1 45 1.89e-3 16.3 2.54 13 100 14297 3.9 42 1.11e-5 16.0 3.11 14 100 19483 3.7 49 4.57e-4 13.5 2.47 Tabulka 2: Algoritmus COMP4, úlohy z článku[3]. Úloha R NE vc suc 1-R2 rst cpu chwirut1 100 2423 5.1 52 2.00e-2 16.4 3.34 chwirut2 100 2382 6.0 52 1.40e-2 16.5 2.97 danwood 100 1278 9.0 44 5.67e-4 21.7 2.91 enso 91 19554 12.3 35 4.02e-1 12.6 4.44 hahn1 35 15844 4.9 40 1.96e-4 14.6 4.64 kirby2 100 6834 3.1 40 2.85e-5 14.1 3.44 misra1a 100 1802 8.0 44 1.84e-5 18.3 2.81 misra1b 100 1553 9.3 42 1.12e-5 17.4 2.95 misra1c 100 1743 9.8 44 6.10e-6 18.7 2.94 misra1d 100 1763 9.9 44 8.30e-6 16.6 2.79 nelson 100 5263 5.9 47 6.98e-2 12.7 3.18 roszman1 95 5145 4.5 41 1.59e-3 16.1 2.99 Tabulka 3: Lehké a středně obtížné úlohy NIST, experimentální data. má COMP4 ve většině úloh menší časové nároky, počet vyhodnocení účelové funkcejezhrubaotřetinumenší.pouzeudvouúlohzečtrnáctibylačasovánáročnostucomp4vyšší,atouúlohy11(dosaženáspolehlivostje ale o 9% vyšší) a u úlohy 7. Relativně nižší spolehlivost nalezení globálníhominimauúloh2a11lzesnadzdůvodnitvelmimalýmreziduálním rozptylem(viz sloupec 1-R2). Také pro lehké a středně obtížné úlohy NIST v tabulce 3 jsou výsledky testování algoritmu COMP4 přijatelné s výjimkou úlohy Hahn1, kdy je spolehlivost přes značnou časovou náročnost nízká. Jak ukazuje porovnání úspěšných a neúspěšných vyhledávání minima na ob-
Stochastické algoritmy v odhadu parametrů regresních modelů 481 Obrázek 2: Porovnání úspěšných(1) a neúspěšných(3) běhů- Hahn1. Úloha eps R NE vc suc 1-R2 rst cpu gauss1 1e-15 55 22436 22.9 42 3.04e-3 13.4 4.09 gauss2 1e-15 18 20540 13.8 42 3.51e-3 14.7 4.23 lanczos1 1e-28 100 37359 14.0 40 1.34e-26 15.9 3.07 lanczos2 1e-16 100 28013 19.6 42 2.10e-12 16.4 3.05 lanczos3 1e-15 100 30323 17.6 43 1.51e-9 16.8 3.08 mgh17 1e-12 100 9235 4.6 42 4.74e-5 15.4 2.90 gauss3 1e-16 0 (21468) (18.7) (41) (2.53e-2) (14.3) (4.07) Tabulka 4: Lehké a středně obtížné úlohy NIST, generovaná data. rázku 2(ne je počet vyhodnocení účelové funkce, rsucc je relativní četnost úspěchu), algoritmus zřejmě často končí prohledávání v lokálním minimu, neboť jsou přednostně vybírány heuristiky s vyšší relativní úspěšností, které neumožňují únik z oblasti předčasné konvergence. Zde tedy adaptivita této varianty algoritmu není dostatečná. Podobně vypadalo porovnání úspěšných a neúspěšných vyhledávání minima pro úlohu Model-2 s nejnižší dosaženou spolehlivostí z tabulky 2. I zde zřejmě algoritmus nezajišťoval diverzivitu vyhledávání dostatečnou k úniku z oblasti lokálního minima, i když rozdíl v relativní úspěšnosti úspěšných a neúspěšných běhů nebyl tak výrazný jako u úlohy Hahn1. Problematické jsou výsledky testování úloh NIST, kdy data nebyla z experimentů, ale generovaná, viz tabulka 4. Při nastavení hodnot vstupních parametrů algoritmu z předchozích testů nebylo u většiny z těchto úloh nacházeno globální minimum.utřechtěchtoúlohjetopochopitelné,neboťjeunichextrémněmalý reziduální rozptyl a pomohlo zpřísnění podmínky ukončení, viz sloupec eps v tabulce. U úloh Gauss1, Gauss2 a Gauss3 ani toto zpřísnění výrazně nepomohlo. Je nutno konstatovat, že algoritmus COMP4 v těchto úlohách selhal, v případě úlohy Gauss3 dokonce nenalezl globální minimum ani v jednom ze sta běhů.
482 Josef Tvrdík 4 Závěr Přes velmi povzbudivé výsledky na osmi obtížných úlohách NIST nelze po dalším testování algoritmus COMP4 považovat za dostatečně spolehlivý pro odhad parametrů nelineárních regresních modelů metodou nejmenších čtverců. Je však rozhodně spolehlivější než algoritmy ve standardním statistickém softwaru a může být užíván přinejmenším jako alternativní postup. Implementace tohoto algoritmu v Matlabu(prozatím nepříliš uživatelsky přátelská) je přístupná na webové stránce[11]. Reference [1] Ali M.M., Törn A.(2004). Population set based global optimization algorithms: Some modifications and numerical studies. Computers and Operations Research 31, 1703 1725. [2] Křivý I., Tvrdík J.(1995). The controlled random search algorithm in optimizing regression models. Comput. Statist. and Data Anal. 20, 229 234. [3] Křivý I., Tvrdík J. Krpec, R.(2000). Stochastic algorithms in nonlinear regression. Comput. Statist. and Data Anal. 33, 278 290. [4] Nelder J.A., Mead R.(1964). A simplex method for function minimization.computerj.7,308 313. [5] Price W. L.(1977). A controlled random search procedure for global optimization. Computer J. 20, 367 370. [6] Statistical Reference Datasets. Nonlinear regression. NIST Information Technology Laboratory. http://www.itl.nist.gov/div898/strd/. December 1, 2001. [7] Storn R., Price K.(1997). Differential evolution a simple and efficient heuristic for global optimization. J. Global Optimization 11, 341 359. [8] Tvrdík J., Mišík L., Křivý I.(2002). Competing heuristics in evolutionary algorithms. Intelligent Technologies- Theory and Applications, IOS Press, Amsterdam, 159 165. [9] Tvrdík J.(2004). Generalized controlled random search and competing heuristics. MENDEL 2004, 10th International Conference on Soft Computing(Matoušek R. and Ošmera P. eds). University of Technology, Brno,228 233,2004. [10] Tvrdík J., Křivý I.(2004). Comparison of algorithms for nonlinear regression estimates. COMPSTAT 2004(J. Antoch ed.), Physica-Verlag, 1917 1924. [11] http://albert.osu.cz/tvrdik/ Poděkování: Tento příspěvek byl podporován z institucionálního výzkumného záměru J09/98:179000002. Adresa: J. Tvrdík, Přírodovědecká fakulta OU, 30. dubna 22, 701 03 Ostrava E-mail: tvrdik@osu.cz