AUTO REGRESINIS MAŽIAUSIŲ ABSOLIUTINIŲ NUKRYPIMŲ MODELIS

 

 

 

 

Įžanga

Auto regresinis  mažiausių  absoliutinių  nukrypimų modelis

AR-ABS ir ARMA modelių  teorinis palyginimas

Auto regresijos  pritaikymas  klasifikavimo  uždaviniuose

Pograminė realizacija

Tyrimo rezultatai

Programos naudojimo aprašymas

 

 

 

 

 

 

Įžanga

 

Siekiant  kuo  didesnio prognozavimo tikslumo  kuriami  nauji  metodai,  modifikuojami  jau  sukurtieji  ar  pritaikomi    tiesioginės   paskirties   prognozavimui   neturėję    metodai  pvz.:  ekspertinės sistemos. Ir atvirkščiai  prognozavimui  naudoti  metodai  pritaikomi  klasifikavimo - diagnozavimo  uždaviniams  spręsti  pvz.:  medicinoje,  nustatant  paciento  priklausymą  vienai  ar  kitai  rizikos  grupei. 

Laiko  eilučių  modeliai  yra vieni  tinkamiausių  prognozavimo  uždaviniams  spręsti.  Vienas  seniausių yra  auto regresinis  slenkančio  vidurkio modelis ARMA.    šio  modelio  išsirutuliojo  visa  eilė daugiau  ar mažiau  ištirtų  modifikacijų. 

AR-ABS - mažiausių absoliučių nukrypimų modelis  yra  viena  šio modelio,  modifikacijų,  tiksliau  tai  AR  modelis,  kur  vietoj  mažiausių  kvadratų  metodo  paklaidų  minimizavimui  naudojamas  paklaidų  absoliutiniais  didumais  minimizavimas. Todėl  šiame  darbe  bus  skiriamas  didelis  dėmesys  AR-ABS  ir  ARMA  modelių  teoriniam,  eksperimentiniam  palyginimui, taip  pat ir  AR-ABS  modelio  tinkamumo  klasifikavimo  uždaviniams  spręsti  nustatymui.

 

Auto regresinis  mažiausių  absoliutinių  nukrypimų modelis

 

Kadangi  mažiausių kvadratų  metodas  yra  labai  jautrus  dideliems  nukrypimams  duomenyse pvz.:  minimizuojant  kvadratinius  nuokrypius  didelis  nuokrypis  toks  kaip  100 turi  tokią  pat  įtaką  kaip  ir  dešimt tūkstančių mažų  lygių vienetui  nuokrypių.  Todėl  kilo  idėja  mažiausių  kvadratinių  nuokrypių  minimizavimą  pakeisti  nuokrypių  absoliutiniais  didumais  minimizavimu [3; 6].

 

§         AR-ABS modelio  išraiška

Pasinaudotojus  (2.1),  (2.2) lygybėmis ir  eliminavus  slenkančio  vidurkio  dalį  AR - ABS  modelis  apibrėžiamas taip:


 


Parametrai apibrėžiami analogiškai  kaip ir  ARMA  modelyje:

       wt   -prognozuojamas  skambučių  kiekis rytdienai;

wt-1    -  šios  dienos skambučių  kiekis;

  p      -     dienų  kiekis - kiek  atsimenam  į praeitį;

εt        -  atsitiktinė  paklaida  rytoj;

-        

ai, bi

 
įtakos  koeficientai;

Prognozuojamas dydis priklauso nuo prieš  tai  buvusių  reikšmių  ir   tam  tikro  aplinkos  poveikio,  kuris  apibrėžiamas  kaip atsitiktinė  skaičių  seka,  pasiskirsčiusi  pagal  Gauso  dėsnį.  Trumpai  tariant  tai  yra   AR  modelis  ir  tik  a  koeficientų  radimui  čia bus  taikomas  ne mažiausių  kvadratų,  o  absoliutinių  didumų  metodas.

 

§         Nuokrypių išraiškos  AR-ABS modelyje

Pasinaudojus  (2.23)  formule   nuokrypius galima  išreikšti sekančiomis lygybėmis:


 


………………………………


Paklaida  et  lygi prognozuojamos  reikšmės  ir iki  jos  turimų  reikšmių  sandaugos  su  koeficientais  a  skirtumu.  Ir  be abejo   minimizuodami  paklaidą    et  , gausime  tokius  koeficientus  a,  su  kuriais  paklaida bus minimali.  


Sekantis  žingsnis  yra 

funkcijos  minimizavimas.  Šis  absoliutinių nuokrypių   sumos  minimizavimas   atskleidžia  AR-ABS pavadinimo  prasmę.

§         Paklaidos  minimizavimas  AR-ABS  modelyje

Funkcijos  f(x) minimizavimui  taikomas  tiesinis  programavimas.  Tiesinė tikslo funkcija  išreiškiama  formule:


Tiesinės tikslo funkcijos sprendinio  leistinoji sritis sudaroma  iš sekančių ribojimų - nelygybių:


 


 


 


AR-ABS  modelyje įvedama dar  viena  modifikacija,  kiekvieną  koeficientą  a sudaro  dviejų  komponenčių  vektoriai (2.29). Ši  modifikacija  savo  ruožtu  sumažina  modelio  jautrumą  dideliems  nuokrypiams [3; 6.3].

Tiesinio programavimo  užduoties  sprendimui  galima  taikyti  visą  eilę  tiesinio  programavimo  algoritmų:  simplekso,  elipsoidų metodą,  Karmarkar'o  algoritmą (vidinio taško metodas) kurių privalumai ir trūkumai bus aptarti atskirame poskyryje.

 

§         Išorinių faktorių  įvertinimas


Prognozuojamas  dydis  priklausomai  nuo jo specifikos   gali  priklausyti  nuo  eilės  įvairių  faktorių, pvz.  įvairūs  pardavimo apimčių  rodikliai   gali  priklausyti  nuo  šventinių  laikotarpių,  vykstančių renginių, reklaminių  akcijų,  varžybų  ar  net  oro  temperatūros.  Tarkime  prognozuojamą  objektą,  šiuo  atveju skambučių  kiekį įtakoja  M faktorių,  tuomet  AR-ABS modelį  anksčiau  apibrėžtą  (2.5)    formule  galima   modifikuoti,  kiekvieną  a koeficientą  ir  w  reikšmę  sudarys  M komponenčių  vektorius:


Tai  yra  bendresnis  AR-ABS modelis,    galima  taikyti   ir  prognozavimui  neįvertinant  išorinių  faktorių  priimant,  kad  M=1.  Siekiant  supaprastint  programinę  tokios  formulės  realizaciją    galima  perrašyti taip:

 


Formulėse (2.12) ir (2.13) atitikmenys:


 


§         TP uždavinių  sprendimo  metodo  parinkimas

Elipsoidų  metodas  nors  ir  yra  polinominio  sudėtingumo,  tačiau  praktinių  uždavinių  sprendime   nepranoksta  simplekso  algoritmo,  be  to  sprendžiant   tiesinio  programavimo  uždavinius elipsoidų  metodu,  ribojimai  aprašomi  griežtomis tiesinėmis  nelygybėmis,  o  mūsų  formuluojamame  uždavinyje  nelygybės  yra  negriežtos. 

Kiek  sunkiau  nuspręsti  dėl Karmarkr’o  algoritmo  kuris  pasižymi  žemesniu metodo sudėtingumą  aprašančiu polinomo laipsniu.  Šio  metodo  trūkumas  tas  jog norint  spręsti  modulio  ženklo  problemą reiktų  pateikti  naują  optimizavimo  uždavinio,  o  tiksliau  apibrėžimo  srities  formulavimą,   tokį,  kad  visos  ribojimų  dešiniosios  pusės,  išskyrus,  vieną ,  būtų  lygios  nuliui.    

Sprendžiant  tiesinio  programavimo  uždavinius  simplekso  algoritmu,  ribojimai  užrašomi įprastomis  nelygybėmis  ir  be  jokių  papildomų  reikalavimų  kaip  tai  yra  elipsoidų  ar  Karmarkar’o  algoritme.  Atsižvelgus  ir  į tai,  kad  praktinių  uždavinių  sprendimo  laikas   simplekso  algoritmu  auga  ne  greičiau  nei  2m,   nuokrypių  absoliutiniais  didumais  sumos minimizavimui  pasirinktas  simplekso  algoritmas.

Išanalizavus  teorinį  optimizavimo  uždavinio  sprendimo  metodo  pasirinkimą   svarbu  pažymėti  ir  tai,  jog   praktinį  pasirinkimą  įtakojo  ribotas   optimizavimo įrankių  (programinės  įrangos)  pasirinkimas.  Realiai  pasirinkimas  gal ir  nėra  mažas,  tačiau  tokios  įrangos,  ypač  galinčios  spręsti  didelius  optimizavimo  uždavinius,  svarba  praktinėje ekonomikoje  diktuoja   pinigais  išreikštą  kainą. 

Sugrįžus  prie  nuokrypių  absoliutiniais  didumais  sumos  minimizavimo  uždavinio siekiant  didesnio  aiškumo  formules (2.26),  (2,27), (2.28),  (2,29)  užrašysime išskleista forma:

Tikslo  funkcija-


  Ribojimai-

      kai


 



u – tai  fiktyvus  kintamieji,  kurie turi būti  lygūs  0,  kad  būtų  patenkintos (2.27)  ir (2.28)  arba  (2.27’)  ir (2.28’)   sąlygos.

 


AR-ABS ir ARMA modelių  teorinis palyginimas

 

Analizuojant   formalias   šių  modelių  išraiškas  nesunkiai pastebėsime  jog   abu  šie  modeliai panašūs  tuo, kad  turi  auto regresijos  dalį. Esminis  šių  modelių skirtumas  - nuokrypių  minimizavimui taikomas  metodas.  Šių   modelių  skirtumai  pateikti  lentelėje  Nr. 1

Lentelė Nr.1

ARMA

AR-ABS

Turi  slenkančio vidurkio komponentę;

Neturi;

Minimizuojama kvadratinių  nuokrypių suma:

Minimizuojama nuokrypių absoliutiniais didumais suma:

Optimizavimo uždavinys susiveda į tiesinių lygčių sistemos  sprendimą;

Optimizavimo uždavinys susiveda į  nelygybių sistemos  sprendimą;

–

Koeficientai  a sudaromi iš dviejų dėmenų:

 

 

Auto regresijos  pritaikymas  klasifikavimo  uždaviniuose

 

AR  modeliai (tuo pačiu ir AR -ABS)  su išorinių faktorių įvertinimu gali  būti taikomi įvertinti tiesinės regresijos parametrams.  Skirtumas tas jog  tokiu atveju  t -  žymės nebe laiko momentus,  bet stebimų pavyzdžių kiekį, o AR  modelio parametras  p – bus lygus  nuliui, nes stebimi pavyzdžiai nepriklauso  vienas nuo kito ( t.y. i-tasis pavyzdys nepriklauso  nuo i-1, i-2 ir t.t.).  Tokiu atveju  pagrindinis parametras 


wM(t), gali būti išreiškiamas per išorinius parametrus (faktorius) w(t) = (wm(t), m=1,....,M-1) ir  išraiška (2.30)  keičiama į : 

 


kur  t = 1,…,T-1 žinomi pavyzdžiai (žinoma kokiai klasei jie priklauso),  o T – pavyzdys, kurio žinome išorinių parametrų reikšmes ir pagal jas spręsime, kuriai klasei priklauso šis pavyzdys. Išraišką  (2.37) galima suvesti į vienmatį atvejį:


     

§         Optimizavimo uždavinio sudarymas

Toliau tokiu pat principu kaip ir aukščiau  išanalizuoto AR-ABS teorinio modelio sudaryme mūsų tikslas  minimizuoti  visų  nuokrypių moduliu sumą  (žiūr. (2.26’), (2.27’), (2.28’), (2.11) išraiškas).  Tačiau    programinėje   algoritmo  realizacijoje optimizavimo uždavinio  formulių išreiškimas šiek tiek skiriasi.

 Tikslo  funkcija-


 Ribojimai-


 


 Kai t kinta nuo 1 iki T-1.

Išsprendus optimizavimo uždavinį randama M-1  a koeficientų.

 

§         Klasifikavimas

Klasifikavimo uždavinys  skiriasi nuo prognozavimo tuo, jog čia reikės ne vieno a  koeficientų rinkinio. Reikia pabrėžti jog optimizavimo uždavinys turės būti sprendžiamas ir randama tiek  a  koeficientų rinkinių, kiek yra klasių, pvz. Modifikuojant  modelį buvo naudojami tokie duomenys: 

Lentelė Nr. 2

!

681

-84

-256

-313

-6

-99

-339

200

48

21

-8

19

-51

-12

!

739

-107

-224

-291

-192

-273

-320

190

42

18

-10

0

-47

-9

!

704

3

-316

-307

-28

-76

-361

206

45

16

-1

9

-56

-15

?

436

-58

-129

-64

-58

-24

-135

266

101

23

13

-32

-85

-43

?

413

-41

-128

-46

-55

-10

-132

258

90

41

6

-10

-39

-2

?

413

-20

-120

-53

-62

-10

-148

259

86

25

-8

-9

-53

5

(

576

226

-204

-80

-154

-168

-190

204

-8

9

-7

-10

-16

-27

(

602

180

-186

-86

-164

-164

-194

204

-2

8

-6

-8

0

-29

(

658

258

-192

-44

-140

-156

-188

224

-3

-5

-16

-19

-16

-27

 

- kur eilutė – tai pavyzdys, o pirmo stulpelio elementas žymi klasę, kuriai priklauso pavyzdys. Akivaizdu jog pateiktame duomenų fragmente išskiriamos 3  klasės. Ieškant a koeficientų pirmajai klasei, reikės taip transformuoti duomenis , kad  w(Mt) reikšmės, kur t pavyzdys atitinka „!“ klasę būtų lygios 1, o visos kitos  w(Mt) =0; ir tik tuomet spręsti optimizavimo uždavinį.

Lentelė Nr. 3

1

681

-84

-256

-313

-6

-99

-339

200

48

21

-8

19

-51

-12

1

739

-107

-224

-291

-192

-273

-320

190

42

18

-10

0

-47

-9

1

704

3

-316

-307

-28

-76

-361

206

45

16

-1

9

-56

-15

0

436

-58

-129

-64

-58

-24

-135

266

101

23

13

-32

-85

-43

0

413

-41

-128

-46

-55

-10

-132

258

90

41

6

-10

-39

-2

0

413

-20

-120

-53

-62

-10

-148

259

86

25

-8

-9

-53

5

0

576

226

-204

-80

-154

-168

-190

204

-8

9

-7

-10

-16

-27

0

602

180

-186

-86

-164

-164

-194

204

-2

8

-6

-8

0

-29

0

658

258

-192

-44

-140

-156

-188

224

-3

-5

-16

-19

-16

-27

 


Turint a  koeficientų K rinkinių, kur K- klasių kiekis,  bei naują pavyzdį apibrėžiančių faktorių vertes w1,.....,wM-1  skaičiuosim  wM reikšmes. 

 -  pavyzdžio priklausomumo k-tąjai klasei reikšmė;

 -  a  rinkinys k-tąjai klasei;

k = 1,....,K.

            Visos apskaičiuotos reikšmės idealiu atveju turėtų pakliūti į intervalą  [0;1], tačiau realiai jos gali būti tiek  didesnės už 1,  tiek mažesnės už 0.

 

§         Klasifikavimo taisyklės parinkimas

Kai jau turim priklausomybės kiekvienai klasei reikšmes, reikia nuspręsti pagal kokią taisyklę išrinksim kuriai klasei vis tik priklauso naujasis pavyzdys.

Pats primityviausias būdas būtų paprasčiausias reikšmių apvalinimas iki 1 arba 0.  Sekančiu etapu pavyzdys bus priskiriamas tai klasei, kur priklausomumo tai klasei suapvalinta reikšmė bus lygi vienetui. Tais atvejais kai gausime daugiau nei vieną reikšmę = 1 priimsime  jog modelis pavyzdžio nesuklasifikavo, t.y.  net nežinant, kokiai pavyzdys  iš tikrųjų  klasei priklauso galima teigti jog modelis  neteisingai klasifikavo.

 

 


Kitas būdas – gautas priklausomumo reikšmes sunormalizuoti į intervalą [0; 1]  pagal formulę :

O toliau gautas reikšmes tokiu pat principu apvalinti iki 1 arba 0.

Galimas ir kitas samprotavimo būdas – normalizavimu eliminuojama dalis svarbios informacijos, kaip pvz.:  reikšmė 1,1 reiškia labai stiprų priklausymą kokiai tai klasei,  analogiškai  -0,1 stiprų nepriklausymą. Todėl iškyla klausimas ar tikrai reiktų duomenis normalizuoti.

Svarbu pastebėti, jog ne visada gali tenkinti paprasčiausias apvalinimas, pvz.: toks apvalinimas 0,51 → 1, o   0,49 → 0 gali būti nepakankamai griežtas.  Tokiu atveju galima įvesti intervalą, į kurį pakliuvus reikšmė būtų apvalinama į vieną ar kitą pusę.  Pvz.: turime intervalo ilgį  l = 0,4.

                                           0        0,5        1   

                                                   d1  l/2          1- l/2  d2

Jeigu reikšmė paklius  į intervalą [1-l/2; d2] bus apvalinama į 1, o jei į intervalą [d1; l/2] bus apvalinama į 0. Jei reikšmė  paklius į intervalą  (1-l/2; l/2) nebus sprendžiama apie pavyzdžio priklausymą tai klasei.

      Toks pasitikėjimo intervalo keitimas gali būti taikomas tiek normalizuotiems, tie nepakeistiems rezultatams.                                                                                 

 Kuomet  reikia  suklasifikuoti  nedaug  pavyzdžių,   gali  pasikliauti  žmogaus  intuicija  pateikiant  jam  tik konkretaus naujo  pavyzdžio   priklausomumo  kiekvienai  klasei  reikšmes.

Pograminė realizacija

 

AR-ABS modelio programa ir jos sudedamieji moduliai yra parašyti JAVA programine kalba, todėl ji gali būti vykdoma kaip JAVA „applet’as“ arba kaip JAVA vykdomoji programa (JAVA „application“). Privalumas vykdant programą kaip JAVA „applet’ą“ yra akivaizdus, ji gali būti pasiekiama per  internetą  ir paleidžiama   vykdyti  Html failo. Šią programą galima išplėsti, prijungiant naujus optimizavimo modelius, panaudojant pačias naujausias JAVA programinės kalbos savybes.

Tiesinio  programavimo  uždavinio sprendimui   naudojama Michel  Berkelar sukurta  programa – „Lp_solve“. Tai  geriausia  internete  esanti  nekomercinė  tokio  pobūdžio  programa. Ji  sprendžia   didelius  iki 30 tūkstančių kintamųjų  turinčius  tiesinio  programavimo  uždavininius [7].  Pats  autorius  programą  realizavo  C- programavimo  kalba.  Šiuo  metu  internete yra  JAVA,  Perl  programavimo  kalbomis  perrašyta programa.   Siekiant  užtikrinti  programos  veikimą  interneto aplinkoje    pasirinkta   „Lp_solve“ JAVA  versija.

Kuriant  grafinę  vartotojo  sąsają  naudojami  standartiniai grafiniai elementai tokie  kaip  pranešimai, langai ir  kiti  pritaikant  juos programai.

 

„Lp_solve“  pritaikymo  ir  naudojimo problematika

 

Visi  „Lp_solve“  JAVA kalba  klasių  tekstai   buvo  sukurti   automatinio  konvertavimo    C  būdu [8].   Konvertavimas  yra    C  į  JAVA yra   problematiškas  ypač  dėl  C  kalboje  naudojamų  rodyklių,  todėl  gali  atsirasti   nesutapimų  tarp  „Lp_solve“   C  ir  JAVA   versijų  pateikiamų  tiesinio  programavimo  uždavinių  sprendinių.  Tam,  kad preliminariai ištirti  „Lp_solve“  JAVA  versijos  patikimumą   keli TP uždaviniai  buvo  pabandyti  spręsti   „Lp_solve“  JAVA,  „Lp_solve“  C   versijomis   bei  MATLAB   paketu.  Tyrimas  parodė  jog   šiais  trim   metodais   sprendžiant    patį  uždavinį  gaunami  tokie  pat  rezultatai. Šio  tyrimo  rezultatai   pateikiami  priede  Nr. 1.

Apibendrinant,   realizuotas AR-ABS   modelis  JAVA  programavimo  kalba.  Programa nesudėtingai  paleidžiama  per interneto  naršyklę.  Programoje  realizuota:

Galimybė  tirti  AR-ABS modelį,  ieškoti  optimalų  atsimenamų  į praeitį  momentų  kiekį,  prognozuoti  ne tik  vieną   žingsnį  į ateitį,  bet ir pasinaudojant  turimais  duomenimis  įvertinti  vidutinę  daromą modelio  paklaidą   prognozuojant  vieną  žingsnį  į ateitį  ar  norimą   kiekį  žingsnių,  kiekviename  žingsnyje  priimant,  jog turime  realių duomenų  seką iki  pat  prognozuojamo  momento.  Realizuota  galimybė  prognozuoti  visą eilę  momentų  į ateitį ir taip  pat  įvertinti   daromą  modelio  paklaidą.  Įvesta  AR-ABS  modelio modifikacija,  bei  realizuotos papildomos  sprendimų   priėmimo metodikos   leidžiančios   AR-ABS   modelio  pagalba spręsti  ne tik  prognozavimo,  bet ir  diagnozavimo  uždavinius. 

 

Tyrimo rezultatai

 

Modelio  eksperimentiniam  tyrimui  buvo  naudojami  skirtingų  charakteristikų duomenys: sunkiai prognozuojami finansiniai akcijų, valiutų  kurso kitimo  ir  nefinansiniai,  pasižymintys dideliais svyravimais užsakymų  priėmimo centro apkrovimo duomenys.  Skirtingiems  duomenims skiriasi  optimalus  atsimenamų  į praeitį laiko  momentų  kiekis.  Duomenims, su kuriais buvo atliekamas  tyrimas, optimalus  atsimenamų  į praeitį laiko  momentų  kiekis yra iš  intervalo  [5, 48].  a  koeficientų  įtakos  prognozei  tyrimas  parodė,  jog  prognozuojant  finansinius  duomenis  labai didelę  įtaką  prognozuojamai reikšmei turi  pirmasis koeficientas, t.y. tai kas  buvo šiandien, o visų  likusių  įtaka labai silpna.  Tai reiškia,  jog  prognozuojant finansinius  duomenis AR- ABS modelis tarsi virsta Random  Walk  modeliu. Analizuojant  a koeficientų įtaką  užsakymų  kiekio prognozei,  nustatyta,  kad  prognozei  apylygiai didžiausią įtaką  turi tai kas buvo šiandien ir kas buvo prieš  savaitę. Tai rodo, jog nefinansiniuose duomenyse  modelis neblogai išskiria pasikartojamumą. Vidutinė daroma  modelio paklaida  visais atvejais buvo mažesnė (nuo 2  iki  15 kartų ) nei vidutinis absoliutinis nuokrypis duomenyse. Kuomet įvertinami išoriniai faktoriai,  sumažėja  optimalus atsimenamų į praeitį  laiko momentų  kiekis, taigi prognozė tampa labiau priklausoma nuo išorinių faktorių  nei nuo praeities, tą patvirtina ir  a koeficientų  stebėjimai.  Išorinių faktorių  įvertinimas  šiek tiek sumažina  AR-ABS  modelio daromą vidutinę paklaidą. 

Lyginant prognozavimo  rezultatus AR – ABS  ir ARMA  modeliais,  nustatyta  jog  AR- ABS  modelis beveik visais atvejais  naudoja didesnį optimalų atsimenamų į praeitį laiko monetų kiekį.  AR- ABS  modelis  finansinius duomenis  prognozuoja su apytiksliai  10 kartų mažesne paklaida  nei  ARMA, užsakymų priėmimo telefonu duomenis  prognozuoja  su  apytiksliai  2 kartus mažesne paklaida.  Tad  AR-ABS  modelis yra išties  mažiau jautrus  dideliems  duomenų  svyravimams.

Tiriant  AR-ABS  modelio  pritaikymo galimybę  klasifikavimo – diagnozavimo uždaviniams  spręsti buvo naudoti  skaitmenų ir skyrybos  simbolių atpažinimui  skirti duomenys.  AR-ABS  modelis  teisingai klasifikavo atitinkamai 92% ir 78% pavyzdžių,  tačiau  sprendžiant  didesnius  klasifikavimo uždavinius  „Lp_solve“  nerado  sprendinio.  „Lp_solve “  TP  uždavinius  sprendžia  Simplekso  algoritmu,  o  kuomet    yra  bent  viena  pora  tiesiškai  arba  beveik  tiesiškai  priklausomų  pavyzdžių,  matricos  A  determinantas lygus arba artimas 0  ir  Simplekso  algoritmas  neranda  optimalaus  sprendinio.  Tad  kol, kas galima  teigti, kad  AR-ABS  modelis naudojant simplekso algoritmą  TP uždaviniui spręsti  neblogai sprendžia  nedidelius klasifikavimo  uždavinius.

 Ateityje, norint AR-ABS modelio pagalba spręsti didelius  klasifikavimo  uždavinius,  simplekso  algoritmą  reiktų pabandyti  pakeisti  kitu tiesinio programavimo  metodu pvz. vidinio taško metodu.  Taip  pat būtų  įdomu  patyrinėti   slenkančio vidurkio  įvertinimo  įtaką  daromai  modelio  paklaidai. 

 

Programos naudojimo aprašymas

 

Programą  „AR-ABS“ galima  paleisti  vykdymui  interneto  naršyklės  pagalba  surinkus  atitinkamą   internetinį  adresą  arba  jei programos  failai  yra   vietinėje  sistemoje  atsidaryti  index.htm  arba Applet1.html  failus.  Programą  galima  rasti  tokiu internetiniu  adresu: http://www.soften.ktu.lt/~mockus (Software Systems direktorijoje );

Pastaba,  kadangi  programos  išeities  kodas  buvo sukompiliuotas JDK1.3 (JAVA DEVELOPMENT KIT)  versija,  interneto  naršyklėje   turi  būti  įdiegti JDK1.3  priedai (Plug-in)   arba   sistemoje   instaliuota  visas JDK1.3  paketas.

Programa   taip  pat  galima paleisti  vykdymui Appletviewer.exe  programos  pagalba (žinoma  šiuo  atveju,  sistemoje turėtų  būti  instaliuota JDK). Iš  JDK1.2.2  (ar  aukštesnės  versijos)  direktorijoje  esančios  BIN  direktorijos  failą  Appletviewer.exe reiktų nukopijuoti  į  direktoriją, kurioje randasi sukompiliuotų  programos  išeities  tekstų   klasių  archyvas (ARABS.jar)  ir  galiausiai  paleisti  failą  Run_ARABS.bat  vykdymui.   Nurodytame  internetiniame puslapyje  rasite  nuorodą  „arcive“, čia esančiame  archyve  pateikiami   programa (visi  išeities tekstai), duomenų  failai,  paleidžiamieji  failai,  bei    aprašymas.

Programos  išorinis interfeisas nėra  apkrautas  grafiniais elementais,  tad  norint  naudotis  programa  neprireiks ypatingų  įgūdžių,  čia  svarbiau  bus  suprasti  parametrų  apibrėžiančių  konkretų  AR-ABS modelį,  bei  skaičiavimų  atlikimo  scenarijų esmę.       

Tik paleidus šią programą jūs išvysite tokį vaizdą:

19  pav.   Modelio  langas

Žemiau  esančiame  įvedimo lauke  pagal  nutylėjimą nurodytas DNumber duomenų failas. Pasirinkus “Use data file “  opciją  duomenys  bus  imami    šio failo. Norint  pasirinkti  kitą  duomenų  failą įvedimo  lauke  reikia  surinkti  norimo failo, esančio  tame pačiame  kataloge kaip  ir  programa  pavadinimą  arba  nurodyti  pilną  kelią  iki  failo.  Pastaba, mygtukas  „Browse….“   programą  leidžiant  naršyklėje   neveiks.

Iškilus  problemoms pasirenkant  failą  visada  galima  atstatyti failą  kuris  buvo  nurodytas  tik     paleidus programą, tereikia  paspausti  mygtuką „Default“. Pasirinkus „Enter data in  a field“  opciją  duomenys  turės  būti  patalpinti  po  failo  įvedimo  lauku  esančiame  lauke.

Taip pat šiame lange galima pasirinkti, kokį uždavinį spręsime prognozavimo ar klasifikavimo-diagnozavimo. Sprendžiant prognozavimo uždavinį galima naudoti „call.data“ arba „armatest“ failus, o klasifikavimo „Dnumber“ arba „Dnumber0.txt“

Toliau  galima  pereiti  į  sekantį  langą  „Parameters“ (parametrai), jei sprendžiamas prognozavimo uždavinys jis atrodys sekančiai:

20  pav.   Parametrų  langas

 

Nors iš  pirmo  žvilgsnio šiame  lange  tėra  tik  keletas įvedimo  laukų,  tačiau  reikia  nepamiršti  jog   įvesti skaitmenys šiuose   laukuose  turės  lemiamą  reikšmę  AR-ABS modelio  sudarymui,  atliekamų  skaičiavimų  specifikai  bei  gautų   rezultatų    pateikimo  formai.

1.      „Number of  factors (M) :“  - įvedimo lauke  galima  įvesti  skaičių     intervalo [1; 32767].  Įvestas  skaičius  apibrėš išorinių   faktorių  kiekį,  kurie  bus  įvertinami  tiek  sudarant  konkretų AR-ABS modelį tiek  prognozuojant sekančiam  laiko  momentui.  M= 1  reikš  jog atsižvelgiama tik  į  patį  prognozuojamą  didį  ir  jo  reikšmes  praeities momentais. Rekomenduojama,  kad išorinių  faktorių kiekis  nebūtų didesnis  nei  duomenų failo  eilutės elementų  kiekis,  priešingu atveju duomenys  apibrėšiantys  išorinius  faktorius  bus  imami    sekančių  failo eilučių.   

2.      „AR parameter (p) :“ - įvedimo lauke  galima įvesti skaičių  iš intervalo [0;32767],  jis  apibrėžia  laiko  momentų  į praeitį kiekį,  kuriuos  mes  atsimename.

3.      „Number of  data entrees (T):“ - įvedimo  lauke galima įvesti  skaičių  iš intervalo [1;32767]. Įvesta  reikšmė  apibrėš   tariamai  turimų  duomenų  kiekį.  Duomenų   kiekis   (T)  turi  būti  didesnis    antrajame  lauke  įvestą  dydį.

4.      „Indicator  for one p evaluation (0), increasing p(1)“ -  įvedimo lauke  gali  būti  įvesta reikšmė  0  arba 1.

„0“ -  reikš  jog  skaičiavimai bus  atlikti vieną  kartą  su  pasirinkta  p  reikšme.

„1“ - reikš  jog  skaičiavimai  bus  atlikti  p kartų,  pirmą  kartą  p=1, antrą   p=2 ir  t.t. Bus  rastas  optimalus p  parametras,  tai  yra  toks su  kuriuo gaunami  mažiausi nuokrypai prognozuojamų  dydžių  nuo  realių.

5.      „Indicator for  one step  evaluation (0), multistep (1)“ - šiame  įvedimo  lauke  taip  pat  gali  būti  įvestas  tik 0 arba 1.

„0“ -  reikš  jog  prognozuosim  tik  vienam  sekančiam  laiko  momentui  T+1.

„1“ -  reikš  jog  prognozuosim  tokiam  pat  kiekiui  laiko  momentų,  kokia  buvo  duomenų imtis T,  t.y  prognozuosim T+1, T+2, T+3 …T+T laiko momentams.  Bus  rastas vidutinis  nuokrypis absoliutiniu  didumu  prie  tam  tikro  parametro  p.

6.       „Indicator for multi days prognose (1):“ - šiame  įvedimo  lauke  taip  pat  gali  būti  įvestas  tik 0 arba 1.

„1“ -  reikš  jog  prognozuosim  tokiam  pat  kiekiui  laiko  momentų  į  ateitį  kokia  kokia  buvo  duomenų imtis T.

7.   „ Number of  multi days prognose repetitions  K:“ –reikš  kiek  kartų,  prognozuojant eilę laiko  momentų  į ateitį,  kiekvienam laiko momentui bus  kartojama prognozė.

Programa  vykdo griežtą šių  parametrų  įvedimo  kontrolę,  neteisingai  įvesta reikšmė yra atstatoma  į  paskutinę  teisingą  ir  pranešama  atitinkama perspėjimo  žinute.   

Jei sprendžiamas klasifikavimo uždavinys "Parameters" langas atrodys sekančiai:

1.         „Number of  factors (M) :“ – nurodoma kiek faktorių apibrėžia  kiekvieną pavyzdį;

2.         „Confidence value“ – reikšmė nuo 0 iki 1, 1 reikš jog  priklausomumo reikšmei esant 1 bus  vykdomas paprastas aritmetinis apvalinimas į  0 arba vienetą,  o jei  parinksime 0,4 – į 1 bus apvalinama tik  didesnė arba lygios 0,8 reikšmės ir atvirkščiai  į 0  mažesnės arba lygios 0,2.

3.         „Number of  data entrees (T)“ – nurodo kiek pavyzdžių  bus naudojama sprendžiant optimizavimo uždavinį.   

4.         Po  paskutiniu įvedimo  lauku  esančiame  lauke patalpinti pavyzdžiai kuriuos modelis klasifikuos, pirmas simbolis nurodo  klasę.

21  pav. Parametrų   langas

 

Skaičiavimų („Calculation“) lange esančių  mygtukų pagalba atliekami sekantys veiksmai:

§         Paspaudus mygtuką „Calculate“  vykdomi skaičiavimai;

§         Mygtuku „Stop“ skaičiavimai  nutraukiami. Skaičiavimai  nutraukiami baigus loginį skaičiavimų  vienetą,  o ne iš karto.

§         Paspaudus mygtuką „Graphic“ - atskirame  lange  bus pateiktas skaičiavimo rezultatų  grafikas.

§         Paspaudus mygtuką „Detale  results“ atskirame lange, bus pateikti detalūs rezultatai.

 Vykdant  skaičiavimus galimi  pranešimai apie problemas atsiradusias  skaitant  duomenis   iš failo.

 22 pav. Skaičiavimų    langas

 

Gauti  skaičiavimo  rezultatai prognozuojant analizuojami taip:

            „p“ - atsiminimo į praeitį momentų kiekis;

            „Predicted“ - sekantis prognozuojamas dydis;

            „Should be“ - koks iš tikrųjų dydis turėtų būti;

            „Residuals“ - nuokrypis prognozuojamo nuo tikrojo dydžio;

            „Sum of all residuals“ - suma visų nuokrypių absoliutiniu didumu;

            „The average of residuals“ - vidutinis nuokrypis;

            „The optimal p parameter:“ - optimali  p parametro reikšmė.

          Parinkus  kitokius parametrus skaičiavimo  kontrolei galimi  šiek tiek   kitokie rezultatų pateikimo atvejai,  tačiau raktiniai žodžiai išlieka tokie patys.


          Detalesni  rezultatai pateikiami atskirame lange,  kuris  aktyvuojamas  paspaudus „Detaled rezults“ mygtuką.

23. pav.  Detalių rezultatų langas sprendžiant prognozavimo uždavinį

 

Sprendžiant  klasifikavimo  uždavinį gauti  rezultatai analizuojami sekančiai:

„Class“ – priklausomumo kiekvienai klasei suapvalinta reikšmė;

„Should be“ – kokiai klasei iš tikrųjų priklauso pavyzdys;

„Calculated“ – kokiai klasei naująjį pavyzdį priskyrė modelis;

„Number of examples“ – klasifikuojamų pavyzdžių kiekis;

„Number of rigth clasified examples“ –teisingai klasifikuotų pavyzdžių kiekis.

24. pav. Detalių rezultatų langas sprendžiant klasifikavimo uždavinį

Kuomet sprendžiamas prognozavimo uždavinys paspaudus „Calculation“ lange esantį mygtuką „Graphic“  (mygtukas bus aktyvus jei „Parameters“ lange „Indicator  for one p evaluation (0), increasing p(1)“  įvedimo lauke buvo įvesta reikšmė -1) lange „Residuals graphic“ bus pateiktas grafinis nuokrypio priklausomybės nuo parametro p atvaizdavimas.   


25. pav.  Nuokrypio priklausomybės nuo p grafikas

 Iškilus problemų naudojantis programa  ar pamiršus esančių objektų (mygtukų, įvedimo laukų ir kt.) paskirtį galima iškviesti pagalbos langą „HELP Window…“ pavaizduotą 20 pav.  Paspaudus dešinį pelės klavišą  bet kuriame iš trijų pagrindinių langų („Model“, „Parameters“, „Calculation“) atsiranda mygtukas „Help..“, jį paspaudus  atsidaro „HELP Window…“ langas.


26 pav. Pagalbos langas