Mat-.08 Sovelletun matematiikan erikoistyöt 0.9.003 Ominaisarvojen jakauma balansoidulla asteikolla AHP:ssa Teknillinen korkeakoulu Systeemianalyysin laboratorio Keijo Jaakola 564B
. Johdanto... 3. Painojen laskeminen AHP:ssa... 3 3. Parzenin ikkuna -menetelmä... 5 4. Simulointi... 6 4.. Simuloinnin tuloksia, kun n = 3... 7 4.. Simuloinnin tuloksia, kun n = 4... 9 4.3. Simuloinnin tuloksia, kun n = 5... 9 4.4. Simuloinnin tuloksia, kun n = 6... 0 5. Vertailua... 6. Pohdinta ja yhteenveto... 7. Viitteet... 3 Liitteet... 4
. Johdanto Analyyttinen hierarkiaprosessi (The Analytic Hierarchy Process, AHP) on erittäin suosittu menetelmä monimutkaisen ongelman hajottamiseksi osiinsa ja päätösvaihtoehtojen keskinäistä paremmuutta kuvaavien lukuarvojen johtamiseksi []. AHP:n ydin on pareittaisten vertailujen menetelmä, missä tarkastellaan kerrallaan kahta vaihtoehtoa. Päättäjä valitsee näistä tärkeämmän ja kuvaa vaihtoehtojen eron voimakkuutta kokonaislukuasteikolla -9. Näiden pareittaisten vertailujen avulla kullekin vaihtoehdolle lasketaan paino. Kokonaislukuasteikon -9 sopivuudesta on käyty paljon keskustelua. Kritiikkiä on esitetty monesta asiasta. Yksi kritiikin kohde on ollut se että kokonaislukuasteikko -9 on rajoitettu asteikko eli jos vaihtoehtojen A ja B paremmuutta kuvaa luku 3 ja B:n ja C:n paremmuutta luku 5, johdonmukaisuus vaatisi, että A:n ja C:n paremmuutta kuvaisi luku 3*5=5, mutta asteikko ei salli 9:n ylitystä. Tätä on perusteltu Millerin psykologisilla tuloksilla, joiden mukaan ihminen pystyy samanaikaisesti käsittelemään mielessään korkeintaan 7±:a erillistä asiaa []. Kritiikkiä on esitetty myös vaihtoehtojen eron voimakkuuden sanallisen kuvauksen ja numeroarvon yhteensopivuudesta. Ma ja Zheng [3] huomasivat, että tietyt vaihtoehtoiset asteikot tuottivat painoja laajemmilta alueilta. Eräs tapa tutkia asteikkojen sopivuutta onkin tutkia painojen jakaumia. Viitteessä [4] on tutkittu painojen jakaumia kokonaislukuasteikon lisäksi neljällä muulla asteikolla ((9+k)/(-k), 9/(0-k) (k=,,,9), mapping ja.-.9). Viitteessä [4] esitelty (9+k)/(-k)-asteikko tunnetaan myös nimellä balansoitu asteikko. Balansoitu asteikko sopii erityisen hyvin tilanteisiin joissa vaihtoehtojen hyvyydet ovat tasaisin välein [5]. Tässä työssä on tarkoitus tutkia simuloimalla painojen jakautumista, kun käytetään balansoitua asteikkoa (,,5,86,33 3 4 5,67 9). Tarkoituksena on vertailla viitteen [4] tuloksia tässä saataviin tuloksiin. Painojen jakaumat estimoidaan simuloidusta datasta Parzenin ikkuna menetelmällä.. Painojen laskeminen AHP:ssa Päättäjä tarkastelee kerrallaan kahta vaihtoehtoa ja valitsee taulukosta luvun, joka kuvaa kahden vertailtavan elementin voimakkuutta. Taulukko. Pareittaisten vertailujen asteikko. Vertailumatriisin Alkioksi a ij asetetaan luku, jonka sanallinen kuvaus vastaa päättäjän preferenssin voimakkuutta. vertailtavat elementit tasaveroiset tarkasteltavan ominaisuuden suhteen 3 toinen hieman dominoiva tarkasteltavan ominaisuuden suhteen 5 toinen selvästi dominoiva 7 toinen erittäin selvästi dominoiva 9 toinen absoluuttisesti dominoiva,4,6,8 väliarvoja voidaan käyttää haluttaessa kompromissia /9,,/ edellisten käänteislukuja käytetään osoittamaan päinvastaista suhdetta 3
a Tekemällä kaikki vertailut saadaan vertailumatriisi A an Vertailumatriisi on nk. käänteislukumatriisi, joka toteuttaa ehdot a a n nn. a ij ja a ii i, j,..., n, () a ji missä n on vertailtavien elementtien lukumäärä. Jos päättäjän pareittaiset vertailut olisivat täysin johdonmukaiset eli konsistentit, olisi myös yhtälö a ij a a i, j, k,..., n () jk ik voimassa, mutta menetelmä ei edellytä tämän ehdon täyttämistä. Kun matriisi A on täytetty, saadaan tuntemattoman painovektorin w arvio yhtälöstä Aw = max w, (3) missä max on A:n suurin ominaisarvo. Vektorin w painot normeerataan jakamalla ne summallaan, jonka jälkeen niiden summa on. Vertailtavien elementtien painovektori on siis A:n suurinta ominaisarvoa vastaava ominaisvektori. Tästä syystä pareittaisten vertailujen menetelmää kutsutaan myös ominaisvektorimenetelmäksi. Voidaan osoittaa, että max n ja että max = n silloin ja vain silloin, kun täydellinen konsistenssi () on täytetty. Poikkeama max n on siis sopiva vertailujen epäjohdonmukaisuuden indikaattori. Konsistenssi-indeksi CI (consistency index) määritellään CI max n. (4) n Eri kokoisten matriisien CI:t eivät ole keskenään vertailukelpoiset, joten varsinaisena epäjohdonmukaisuuden mittana käytetään konsistenssisuhdetta CR (consistency ratio) CI CR, (5) RI missä satunnaisindeksi RI (random index) on satunnaisesti generoitujen käänteislukumatriisien CI:n keskiarvo. Kokonaislukuasteikko -9 aiheuttaa painojen epätasaisen jakautumisen. Tarkastellaan kahta vaihtoehtoa ja verrataan niiden voimakkuutta arvolla r =,,...,,,,...,8, 9. 9 8 r Vaihtoehtojen painoiksi saadaan w ja w. Kuvasta nähdään r r painojen arvot eri r:n arvoilla. Laskemalla nähdään, että r:n muuttumisella :stä :een 4
on 5 kertaa suurempi vaikutus painon muutokseen kuin r:n muuttumisella 8:sta 9:ään. Samansuuntaiset tulokset pätevät myös useammille vaihtoehdoille. w :stä w saadaan ratkaistua r. Kun halutaan painojen olevan tasavälein 0, 0,5 0, w 0,8 0,85 0,9, saadaan niin sanottu balansoitu asteikko,,5,86,33 3 4 5,67 9. Kuva. Painot eri r:n arvoilla 3. Parzenin ikkuna -menetelmä Painojen jakaumien estimoimiseen simuloidusta datasta käytetään Parzenin ikkuna menetelmää [6]. Parzenin ikkuna menetelmä estimoi jakauman P m (x) muuttujalle x perustuen havaintoihin x i. P ( x) m m m i h m x xi exp hm, (6) missä m on otoskoko ja h m on ikkunan leveys. 5
4. Simulointi Vertailtavien elementtien lukumäärän kasvaessa mahdollisten vertailumatriisien lukumäärä kasvaa nopeasti. Jokainen pareittainen vertailu voi saada jonkin 7:stä n n( n) arvosta (,,9 ja käänteisluvut). Pareittaisia vertailuja on kappaletta, n( n) joten erilaisia vertailumatriiseja on 7 kappaletta. Taulukossa on esitetty mahdollisten vertailumatriisien lukumäärä eri n:n arvoilla. Taulukko. Pareittaisten vertailujen ja vertailumatriisien lukumäärät Vaihtoehtojen lukumäärä (n) 3 4 5 6 Pareittaisia vertailuja (n(n-)/) 3 6 0 5 n( n) 493 4 37 569,0*0,86*0 8 Vertailumatriiseja 7 Taulukosta nähdään, että vertailumatriisien lukumäärä kasvaa nopeasti vaihtoehtojen lukumäärän kasvaessa, joten vaihtoehtojen painojen jakaumaa ei voida järkevässä ajassa selvittää käymällä läpi kaikki vaihtoehdot (paitsi kun n=3), vaan tämä on tehtävä simuloimalla. Konsistenssisuhteen (5) laskemiseen tarvitaan satunnaisindeksi RI. Tätä varten on arvottu 00000 matriisia eri n:n arvoilla (liite ). Taulukossa 3 on esitetty saadut CI:n keskiarvot. Taulukko 3. 00000 arvotun matriisin CI:n keskiarvot n 3 4 5 6 RI 0,693 0,440 0,5485 0,65 Tutkitaan painojen jakautumista vaihtoehtojen lukumäärillä 3, 4, 5, 6 ja konsistenssisuhteilla 5%, 8% ja 0%. Simulointi suoritettiin käyttäen Matlabohjelmistoa. Kukin vertailumatriisin yläkolmion alkio arvotaan balansoidun asteikon arvoista,,5,86,33 3 4 5,67 9 ja niiden käänteisluvuista. Loput alkioista täytetään käänteislukumatriisiehdon () perusteella. Arvotun vertailumatriisin tuottamat painot hyväksytään mikäli kyseessä oleva konsistenssiehto toteutuu. Matlab-koodi on esitetty liitteessä. Mitä suurempi n ja mitä pienempi vaadittu konsistenssisuhde sitä pienempi osa arvotuista matriiseista tulee hyväksytyksi. Tämä asettaa rajoituksen hyväksyttyjen matriisien lukumäärille johtuen tietokoneen laskentatehosta. Hyväksyttyjä matriiseja arvottiin 5000 kappaletta tai niin paljon kuin tietokone ehti arpoa yön yli suoritetussa laskennassa. Taulukossa 4 on esitetty hyväksyttyjen matriisien lukumäärät. Taulukko 4. Hyväksyttyjen matriisien lukumäärä eri n:n ja konsistenssisuhteen (CR) arvoilla. N 3 3 3 4 4 4 5 5 5 6 6 6 CR 5% 8% 0% 5% 8% 0% 5% 8% 0% 5% 8% 0% Lkm 5000 5000 5000 377 5000 5000 57 790 383 59 53 375 6
4.. Simuloinnin tuloksia, kun n = 3 Vaihtoehtojen lukumäärällä n = 3 simuloitiin 5000 hyväksyttyä vertailumatriisia konsistenssitasoilla 5%, 8% ja 0%. Painoista on piirretty histogrammit kuvaan. 5% 8% 0% Kuva. Painojen histogrammit konsistenssitasoilla 5%, 8% ja 0%, kun n = 3 ja hyväksyttyjä vertailumatriiseja on 5000. Kuvassa 3 on piirretty Parzenin ikkuna menetelmän mukaiset estimoidut painojen jakaumat eri ikkunan leveyksillä, kun n = 3 ja konsistenssitaso on 8%. 7
h m = 0,0 h m = 0,0 h m = 0,05 Kuva 3. Estimoidut painojen jakaumat eri ikkunan leveyksillä, kun konsistenssitaso on 8% ja n = 3. Kuvasta 3 nähdään, että ikkunan leveys vaikuttaa estimoidun jakauman tasaisuuteen. Kun h m = 0,0, jakaumat ovat hyvin epätasaisia. Kun h m = 0,05, peittyy jakaumien mahdollinen ei-tasainen luonne. Valitaan ikkunan leveydeksi 0,0. Optimaalista ikkunan leveyttä on pohdittu viitteessä [7]. Kuvassa 4 on piirretty estimoidut painojen jakaumat eri konsistenssitasoilla. CR = 5% CR = 8% CR = 0% Kuva 4. Estimoidut painojen jakaumat, kun n = 3 (h m = 0,0). Painojen jakaumat eri konsistenssitasoilla ovat lähes samanlaiset. Vain p :ssä on pieniä eroja. 8
4.. Simuloinnin tuloksia, kun n = 4 Vaihtoehtojen lukumäärällä n = 4 simuloitiin 377, 5000 ja 5000 hyväksyttyä vertailumatriisia konsistenssitasoilla 5%, 8% ja 0%. Kuvassa 5 on piirretty estimoidut painojen jakaumat. CR = 5% CR = 8% CR = 0% Kuva 5. Estimoidut painojen jakaumat, kun n = 4. Painojen jakaumat eri konsistenssitasoilla ovat lähes identtiset. 4.3. Simuloinnin tuloksia, kun n = 5 Vaihtoehtojen lukumäärällä n = 5 simuloitiin 57, 790 ja 383 hyväksyttyä vertailumatriisia konsistenssitasoilla 5%, 8% ja 0%. Kuvassa 6 on piirretty estimoidut painojen jakaumat. 9
CR = 5% CR = 8% CR = 0% Kuva 6. Estimoidut painojen jakaumat, kun n = 5. Painojen jakaumat eri konsistenssitasoilla ovat lähes identtiset. 4.4. Simuloinnin tuloksia, kun n = 6 Vaihtoehtojen lukumäärällä n = 6 simuloitiin 59, 53 ja 375 hyväksyttyä vertailumatriisia konsistenssitasoilla 5%, 8% ja 0%. Kuvassa 7 on piirretty estimoidut painojen jakaumat. 0
CR = 5% CR = 8% CR = 0% Kuva 7. Estimoidut painojen jakaumat, kun n = 6. Eri konsistenssitasoilla jakaumat näyttävät jonkin verran erilaisilta. Tämä johtunee pienehköstä otoskoosta (varsinkin, kun CR = 5%).
5. Vertailua Viitteessä [4] käytettiin painojen jakaumien simulointiin balansoidulla asteikolla otoskokoa 4-97 riippuen konsistenssitasosta. Tässä työssä käytettiin otoskokoa 57-5000 ja lisäksi simuloitiin painojen jakaumat myös vaihtoehtojen lukumäärällä n = 6. Painojen jakaumat näyttävät samanlaisilta kuin viitteessä [4], joten simuloinnissa ei ole tapahtunut virheitä ja viitteen [4] otoskoot ovat riittäviä. Eri asteikot johtavat erilaisiin painojen jakaumiin. Viitteessä [4] on vertailtu painojen jakautumista viidellä eri asteikolla (-9, (9+k)/(-k), 9/(0-k), mapping ja.-.9). Tässä työssä painojen jakautumista tutkittiin balansoidulla asteikolla ((9+k)/(-k)). Taulukossa 5 on esitetty eri asteikkojen alkiot. Taulukko 5. Eri asteikkojen alkiot asteikko Alkiot -9 3 4 5 6 7 8 9 balansoitu,00,,50,86,33 3,00 4,00 5,67 9,00 9/(0-k),00,3,9,50,80,5 3,00 4,50 9,00 mapping,00,,5,4,6,87,4,83 4,.-.9,,,3,4,5,6,7,8,9 Painojen jakaumat kertovat päättäjän ajatuksista kunkin vaihtoehdon suhteen. Ajatukset voivat olla joko positiivisia tai negatiivisia ja jotta nämä ajatukset voitaisiin ilmaista yhtä hyvin, tulisi painojen jakaumien olla symmetrisiä. Kokonaislukuasteikko -9 on tässä mielessä huonoin asteikko. Balansoidulla asteikolla saadut painojen jakaumat ovat melko symmetrisiä (skewness alle 0,5 kaikilla paitsi p :llä noin 0,8). Vaaditulla konsistenssitasolla ei ole juurikaan vaikutusta jakaumien muotoon. Kaikilla vaihtoehtojen lukumäärillä ja konsistenssitasoilla kukin paino jakautuu suunnilleen samansuuruiselle alueelle (p hieman leveämmälle alueelle), kun käytetään balansoitua asteikkoa. Tämä kertoo siitä, että päättäjä pystyy arvioimaan kaikkia vaihtoehtoja yhtä tarkasti eikä vain esimerkiksi tärkeimpiä vaihtoehtoja kuten perinteisellä kokonaislukuasteikolla -9 [4]..-.9-asteikko tuottaa eri painoille hyvin lähekkäin olevat jakaumat [4]. Tämä asteikko sopiikin sellaisiin tilanteisiin, joissa vaihtoehdot ovat melkein yhtä hyviä. 6. Pohdinta ja yhteenveto AHP:n tarkoituksena on muuttaa päättäjän sanalliset arviot vaihtoehdoista vaihtoehtojen numeerisiksi painoiksi. Eri asteikkojen paremmuutta ei voida vertailla pelkästään painojen jakaumia tutkimalla. Asteikkojen paremmuuteen vaikuttaa myös ihmisen kyky hahmottaa asioita. Joillekin kokonaisluvuilla vertailu voi olla helpompaa. Esimerkiksi voi olla helpompi mieltää, että jokin vaihtoehto on kaksi kertaa parempi kuin toinen vaihtoehto kuin, että toinen olisi vaikka,33 kertaa parempi. -9-asteikon käyttö on vakiintunut sovellusten ja esimerkkien myötä, joten moni päättäjä on harjaantunut käyttämään sitä. Kun kyseessä on päättäjälle uusi
asteikko, sanallisen arvion muuttaminen numeroksi voi olla vaikeaa ja vaatii hieman harjoittelua. Pienellä harjoittelulla päättäjä oppii käyttämään myös uusia asteikkoja. Painojen jakaumien mielessä -9-asteikko ei ole kovin hyvä, koska se rajoittaa mahdollisten painojen määrää. Balansoitu asteikko on tässä suhteessa parempi. -9- asteikko sopii parhaiten tilanteisiin, joissa halutaan vertailla tarkasti vain tärkeimpiä vaihtoehtoja. Balansoitu asteikko sopii puolestaan parhaiten tilanteisiin, joissa vaihtoehtojen painot ovat suunnilleen tasaisin välein..-.9-asteikko sopii parhaiten tilanteisiin, joissa vaihtoehdot ovat lähekkäin toisiaan. Koska eri asteikot sopivat eri tilanteisiin, asteikko kannattaa valita tapauskohtaisesti. Asteikkoja on monia ja niitä voi keksiä niin paljon kuin haluaa, mutta turhan monien asteikkojen käyttäminen vain sekoittaa päättäjää. Tässä työssä simuloidut painojen jakaumat näyttivät samanlaisilta kuin viitteessä [4]. Kaikilla vaihtoehtojen lukumäärillä kukin paino jakautuu suunnilleen samansuuruiselle alueelle (p hieman leveämmälle alueelle), kun käytetään balansoitua asteikkoa. Lisänä saatiin painojen jakaumat vaihtoehtojen lukumäärällä 6. Painojen jakaumat tehtiin jokaisella vaihtoehtojen lukumäärällä kolmella eri konsistenssitasolla (5%, 8%, 0%) toisin kuin viitteessä [4], jossa painojen jakaumat tehtiin vain yhdellä konsistenssitasolla. Havaintona saatiin, että vaadittu konsistenssitaso ei vaikuta painojen jakaumiin. Asteikkojen paremmuuden vertailu painojen jakaumien avulla on vaikeaa, koska ei ole tietoa miltä hyvä jakauma tarkalleen näyttää. Vertailu jääkin tasolle, että minkälaisiin tilanteisiin kukin asteikko voisi sopia parhaiten. 7. Viitteet [] Saaty, T.L., 980. The Analytic Hierarchy Process. McGrawhill, New York. [] Miller, G.A, 956, The Magical Number Seven Plus or Minus Two: Some Limits on Our Capacity for Processing Information. Psychological Review 3(956), 8-97. [3] Ma, D., Zheng, X., 99. 9/9-9/ scale method of AHP. In: Proceedings of the Second International Symposium on the AHP, 97-0. [4] Beynon, M. J., 00. An Analysis of Distributions of Priority Values from Alternative Comparison Scales within AHP. European Journal of Operational Research, 40(), 04-7 [5] Ahti A. Salo and Raimo P. Hämäläinen., 997. Journal of Multi-criteria Decision Analysis, vol 6, 309-39 (997). On the Measurement of Preferences in the Analytic Hierarchy Process. [6] Parzen, E., 96. On Estimation of a probability density function mode. Annals of Mathematical Statistics 33, 065-076. 3
[7] Kraaijveld, M.A., 996. A Parzen classifier with an improved robustness deviations between training and test data. Pattern Recognition Letters 7, 679-689. Liitteet ) function ri=randomindex(n,t) %antaa satunnaisesti generoitujen matriisien CI:n keskiarvon %n=matriisin koko, t=toistojen lkm for k=:t ci(k)=(maxomarvo(n)-n)/(n-); end ri=sum(ci)/length(ci); function maks=maxomarvo(n) %antaa arvotun matriisin maksimi ominaisarvon alkiot=[/9 /5.67 /4 /3 /.33 /.86 /.5 /...5.86.33 3 4 5.67 9]; %alkiot=[..5.86.33 3 4 5.67 9]; balansoidun asteikon alkiot m=length(alkiot); for i=:n for j=i+:n M(i,j)=alkiot(ceil(rand*m)); M(j,i)=/M(i,j); end end M=M+eye(n); omarvot=eig(m); maks=max(omarvot); ) %simuloidaan konsistenssiehdon täyttäviä vertailumatriiseja ja lasketaan painot %n=matriisin koko, t=toistojen lkm, c=haluttu konsistenssitaso %k,i,j,s indeksejä alkiot=[/9 /5.67 /4 /3 /.33 /.86 /.5 /...5.86.33 3 4 5.67 9]; %balansoidun asteikon alkiot n=6; t=3000000; c=0.05; apumuuttuja=; painomatr=zeros(n,); m=length(alkiot); RI=[0.693,0.440,0.5485,0.65]; %RI=satunnaisindeksi, satunnaisesti %generoitujen (00000 kpl) matriisien %CI:n keskiarvon (CI=konsistenssi-indeksi) M=eye(n); %arvotaan vertailumatriisi M 4
rand('state',sum(00*clock)); %siemenluku vaihtelee for k=:t for i=:n for j=i+:n M(i,j)=alkiot(ceil(rand*m)); M(j,i)=/M(i,j); end end [v,d]=eig(m); %v=matriisi, jossa sarakkeet ovat ominaisvektoreita. %d=ominaisarvot [maksimi,indeksi]=max(max(d)); %antaa maksimin ominaisarvoista ja sen %indeksin ci(k)=((maksimi-n)/(n-))/ri(n-); if ci(k)<c %jos konsistenssiehto ei toteudu, asetetaan painot puuttuviksi, %jotta eivät häiritse painojen jakaumaa omvekt=v(:,indeksi); %antaa maksimia vastaavan ominaisvektorin p=-sort(-(abs(omvekt/sum(omvekt)))); %antaa painot p>=p>=...>=pn painomatr(:,apumuuttuja)=p; apumuuttuja=apumuuttuja+; end end 5