BAB IV Aplikasi Jarak Mahalanobis 42 BAB IV APLIKASI JARAK MAHALANOBIS 4.1 Pendeteksian Outlier k Teknologi pendeteksian outlier dengan menggunakan jarak Mahalanobis merupakan teknologi paling awal dalam memisahkan dan menguji calon-calon outlier. Metode ini sangat efektif jika hanya ada 1 buah outlier dalam himpunan data. Berikut ini akan disajikan algoritma mulai dari algoritma membangkitkan n buah data acak dari distribusi normal p-variat (0, ) N I p, kemudian data ke-n dibuat menjadi data outlier, hingga algoritma pengujian outlier. A. Algoritma membangkitkan data acak Pertama adalah membangkitkan data acak dengan menggunakan StatPlus dalam sistem. Caranya sebagai berikut. - Klik Statplus > Create Data > Random Numbers - Dalam combo box type of distribution pilih normal kemudian isi banyaknya sampel yang mau dibangkitkan (misalnya 5) dan ukuran masing-masing sampelnya (misalnya 100).pada kotak. Pada kotak mean isikan 0 dan pada kotak standard deviation isikan 1. Ini akan menghasilkan 100 buah data acak dari distribusi normal N(0, I p ) dengan p = 5. - Kemudian data ke 100 kita buat menjadi outlier. Caranya dengan menambahkan bilangan x pada setiap kolomnya sehingga data ke 100 akan
BAB IV Aplikasi Jarak Mahalanobis 43 berbeda jauh dengan 99 buah data lainnya. Misalnya, ambil x = 5. Jadi, data ke 100 berdistribusi N(5, I p ). - Keseratus data tersebut kita simpan dalam matriks A berukuran (100x5). Berikut adalah contoh matriks data A (100x5) yang diperoleh dari suatu eksperimen. No. 1 2 3 4 5 1-1.3328-0.76441 0.072387 0.31678 1.6752 2-1.3729-1.722 1.8961-0.23265-0.32643 3 0.8419-0.0964-1.1115-1.9913-0.94277 4-0.55217-1.7173 0.050883-0.96117-0.34037 5 0.47432 1.3311-0.63266 0.025555 0.6584 6-0.60063 0.79135-1.1076 2.1983-0.57773 7-0.69812-1.0318-0.24729-0.80065-0.06877 8-0.85672 1.5966 0.060284-0.20792-0.66434 9-1.1299-0.87197 2.0264-0.85283 0.38422 10 0.77329-0.51983-0.33222-0.63333-0.15728 11-0.28882 0.067967 0.67598-1.1612-0.80131 12 0.99293-0.08422-0.80623 1.3587 0.068006 13-0.6235-0.83984 0.004917 0.21752 0.4768 14 0.093412-0.41017 0.87825-1.4193-0.33712 15-0.07761 0.1127-0.90205 0.64133 0.22841 16-1.3302-0.11207 0.017069 0.37794-0.11715 17-0.3754 0.90739-0.36843-0.46328 0.95724 18-0.83735-0.97292-0.35255-0.7005 0.38632 19 0.76303 1.0339 0.30861-1.1122 0.55888 20 0.34565 0.87461 0.32904 0.88247 0.96815 21-0.8708 1.2467-0.78816 0.27616-0.10588 22-0.04037-0.71696-0.97344-0.21897-1.6905 23 0.41873-1.6418-0.02151 1.1218-1.251 24-1.0231-1.1028 0.33823-2.4549-0.88997 25 0.23214 0.95618 0.016192 0.72538 0.34538 26-0.12885-0.1602-0.73052-0.48734 0.79269 27 0.007152 0.91995 0.15474 0.010789 0.20038 28-0.34411-0.87545 2.1211 0.10413-0.23012 29-0.37097-0.44223-0.11585 0.10722-0.53781 30-1.5788 0.26189 1.2886-0.1456 1.807 31 1.1247 0.8523 1.2121-0.82242-0.86982 32-1.059 2.0753-1.6427 1.0417 0.023188 33 0.70794-0.71114-0.39124-0.69118-0.12734 34-2.1251-0.20234 1.4728 1.0832 0.86901 35-0.84839 1.0072-0.61589 0.067314-0.2178 36-2.0174-0.66811 0.85137 1.6295 0.45548
BAB IV Aplikasi Jarak Mahalanobis 44 37 1.6963 1.4028-0.64256-0.769-1.0855 38 0.72229-0.43206 0.90373-2.2306-1.7144 39-1.5747-1.3634-0.26346-1.4454 0.62713 40-1.0746 1.6657-0.02977-0.80343-0.3451 41-0.71385 0.58877 3.4578 0.56185 0.24317 42 0.99016 1.0095-1.2781-0.54509-0.31603 43-0.09261-0.42972 1.0086-1.854-0.60363 44 0.75062 0.35356 1.2065-0.3328 1.123 45 0.41239-1.4046-0.5862-1.7823 1.0635 46 0.28703-0.39267-2.4026-0.46323 1.6617 47 0.1414-1.573 1.3954-1.6553 0.74635 48 0.23587-1.34 0.097688 0.009694-0.13213 49-0.0095 0.46737-1.1061-0.78406 0.57948 50 0.11011 0.62401 0.10027-0.37334-0.83624 51 0.85237 1.0869-1.6745-0.76005-0.14793 52 1.4399 0.43728 0.79612 1.2051-0.35819 53 0.44426 1.6157 0.29833 0.35864-1.2912 54-1.0412 2.0374 0.47419 1.6009 2.2302 55-0.44807-0.01539 1.1867-1.8294-0.24839 56 0.48363 0.042355-2.2623-0.26966-0.87494 57 0.42049 1.5314-1.1882 0.11874-0.1264 58 0.95241 0.44593 0.91608 1.2407-0.69892 59-0.09543-0.06891 1.0599 0.75469 0.6098 60-0.06736 0.29853-0.12927-1.4754 0.40676 61 0.22829-2.4617 0.36336 1.1092-1.0592 62 1.2402 1.9378 0.48046 0.45968-0.65914 63 0.97078 0.82369 0.87312 0.27287 1.2788 64 0.72585-0.80988 0.61448-1.2107 1.5707 65-0.62031 0.43435-0.08555-0.97649 0.68486 66-1.272 0.1171-0.33829-0.01901 0.017333 67-0.86433 1.5657-0.3259 0.3943 2.188 68-0.33925 0.52528-1.3437 1.4125-0.59673 69 0.29553 1.5186-1.736 0.68871-0.52292 70 0.25509-0.6581 0.64444-0.05834 0.071472 71-0.14883-0.58191 1.4727 0.26525 1.2118 72 0.673 0.23494-0.81723-0.31115-1.109 73-0.38743-0.09878-1.7099-0.64548 0.54005 74-1.0569-0.13521-0.53736-0.2492-0.29585 75 1.7564-1.8865 0.001677-0.62033-0.65926 76-1.3054-1.489-1.0184 0.98889 1.1071 77 2.0469 0.14832 0.14183 0.044209-0.00091 78-0.33769 0.95391 0.41978 1.157-0.83294 79 0.5333 2.2932-0.0195-2.2938 0.5013 80-0.53027-0.14516 0.92574 0.44996 0.77958 81-1.3711 0.071984 0.31105-0.60867 0.37537 82 0.13317 0.71399 1.7142 0.26122-1.8562 83 0.17391 1.2446-0.32662-0.80745-1.4053
BAB IV Aplikasi Jarak Mahalanobis 45 84-0.21817 0.49611-2.1588-0.66643-0.43877 85 0.66284 0.55803-1.1567 0.22288-0.24906 86 0.12896-1.9399 0.52357 2.2394-0.7595 87-1.0817 2.4346 0.26126-0.49862 0.88969 88 0.34321 0.34695 0.36388 0.55337-2.5637 89-0.13887-0.97556-0.18714-0.34541 0.96727 90 0.47251 0.46545 2.0956-0.09818 0.12514 91-0.27104-0.0999 1.0123-2.0562 0.67305 92 0.37578-0.28052-0.06151-1.676-0.26724 93-0.43672 0.41359 1.0444 0.80324-1.1222 94-0.11797 0.29667-0.83518-1.1286-0.2028 95-1.2533 1.1556-0.35858 1.0443-0.35414 96 0.61005-0.97836-0.7666 0.64466 2.0821 97 1.3318-1.1571 0.45457 0.98628 0.1252 98-0.32394-0.05485 2.0819-0.00198 0.74461 99-0.60176 1.1387 0.33425 1.8384 0.28726 100 4.0012 5.7722 4.5264 5.2488 6.3662 B. Algoritma menghitung kuadrat jarak Mahalanobis - Hitung x ( dibaca x bar ) yaitu vektor rata- rata data, p x R dengan p = 5. Cara menghitungnya dengan MS Excel adalah dengan menggunakan perintah =average(<blok data baris yang bersangkutan>). Matriks data A di atas akan memberikan vektor x sebagai berikut. xbar -0.04604 0.168676 0.108515-0.07881 0.087454 - Kemudian hitung x i matriks data terpusat xi x untuk i = 1, 2,.., 100. Matriks data A memberikan x sebagai berikut. No, 1 2 3 4 5 1-1.28676-0.93309-0.03613 0.395586 1.587746 2-1.32686-1.89068 1.787585-0.15384-0.41388 3 0.887941-0.26508-1.22001-1.91249-1.03022 4-0.50613-1.88598-0.05763-0.88236-0.42782 5 0.520361 1.162424-0.74117 0.104361 0.570946 6-0.55459 0.622674-1.21611 2.277106-0.66518 7-0.65208-1.20048-0.3558-0.72184-0.15623 8-0.81068 1.427924-0.04823-0.12911-0.75179
BAB IV Aplikasi Jarak Mahalanobis 46 9-1.08386-1.04065 1.917885-0.77402 0.296766 10 0.819331-0.68851-0.44073-0.55452-0.24473 11-0.24278-0.10071 0.567465-1.08239-0.88876 12 1.038971-0.25289-0.91474 1.437506-0.01945 13-0.57746-1.00852-0.1036 0.296326 0.389346 14 0.139453-0.57885 0.769735-1.34049-0.42457 15-0.03157-0.05598-1.01056 0.720136 0.140956 16-1.28416-0.28075-0.09145 0.456746-0.2046 17-0.32936 0.738714-0.47694-0.38447 0.869786 18-0.79131-1.1416-0.46106-0.62169 0.298866 19 0.809071 0.865224 0.200095-1.03339 0.471426 20 0.391691 0.705934 0.220525 0.961276 0.880696 21-0.82476 1.078024-0.89667 0.354966-0.19333 22 0.005671-0.88564-1.08195-0.14016-1.77795 23 0.464771-1.81048-0.13003 1.200606-1.33845 24-0.97706-1.27148 0.229715-2.37609-0.97742 25 0.278181 0.787504-0.09232 0.804186 0.257926 26-0.08281-0.32888-0.83903-0.40853 0.705236 27 0.053193 0.751274 0.046225 0.089595 0.112926 28-0.29807-1.04413 2.012585 0.182936-0.31757 29-0.32493-0.61091-0.22436 0.186026-0.62526 30-1.53276 0.093214 1.180085-0.06679 1.719546 31 1.170741 0.683624 1.103585-0.74361-0.95727 32-1.01296 1.906624-1.75121 1.120506-0.06427 33 0.753981-0.87982-0.49975-0.61237-0.21479 34-2.07906-0.37102 1.364285 1.162006 0.781556 35-0.80235 0.838524-0.7244 0.14612-0.30525 36-1.97136-0.83679 0.742855 1.708306 0.368026 37 1.742341 1.234124-0.75107-0.69019-1.17295 38 0.768331-0.60074 0.795215-2.15179-1.80185 39-1.52866-1.53208-0.37197-1.36659 0.539676 40-1.02856 1.497024-0.13829-0.72462-0.43255 41-0.66781 0.420094 3.349285 0.640656 0.155716 42 1.036201 0.840824-1.38661-0.46628-0.40348 43-0.04656-0.5984 0.900085-1.77519-0.69108 44 0.796661 0.184884 1.097985-0.25399 1.035546 45 0.458431-1.57328-0.69471-1.70349 0.976046 46 0.333071-0.56135-2.51111-0.38442 1.574246 47 0.187441-1.74168 1.286885-1.57649 0.658896 48 0.281911-1.50868-0.01083 0.0885-0.21958 49 0.036539 0.298694-1.21461-0.70525 0.492026 50 0.156151 0.455334-0.00824-0.29453-0.92369 51 0.898411 0.918224-1.78301-0.68124-0.23538 52 1.485941 0.268604 0.687605 1.283906-0.44564 53 0.490301 1.447024 0.189815 0.437446-1.37865 54-0.99516 1.868724 0.365675 1.679706 2.142746 55-0.40203-0.18407 1.078185-1.75059-0.33584
BAB IV Aplikasi Jarak Mahalanobis 47 56 0.529671-0.12632-2.37081-0.19085-0.96239 57 0.466531 1.362724-1.29671 0.197546-0.21385 58 0.998451 0.277254 0.807565 1.319506-0.78637 59-0.04939-0.23758 0.951385 0.833496 0.522346 60-0.02131 0.129854-0.23778-1.39659 0.319306 61 0.274331-2.63038 0.254845 1.188006-1.14665 62 1.286241 1.769124 0.371945 0.538486-0.74659 63 1.016821 0.655014 0.764605 0.351676 1.191346 64 0.771891-0.97856 0.505965-1.13189 1.483246 65-0.57427 0.265674-0.19407-0.89768 0.597406 66-1.22596-0.05158-0.4468 0.059797-0.07012 67-0.81829 1.397024-0.43441 0.473106 2.100546 68-0.29321 0.356604-1.45221 1.491306-0.68418 69 0.341571 1.349924-1.84451 0.767516-0.61037 70 0.301131-0.82678 0.535925 0.020465-0.01598 71-0.10279-0.75059 1.364185 0.344056 1.124346 72 0.719041 0.066264-0.92574-0.23234-1.19645 73-0.34139-0.26745-1.81841-0.56667 0.452596 74-1.01086-0.30389-0.64587-0.17039-0.3833 75 1.802441-2.05518-0.10684-0.54152-0.74671 76-1.25936-1.65768-1.12691 1.067696 1.019646 77 2.092941-0.02036 0.033315 0.123015-0.08836 78-0.29165 0.785234 0.311265 1.235806-0.92039 79 0.579341 2.124524-0.12801-2.21499 0.413846 80-0.48423-0.31384 0.817225 0.528766 0.692126 81-1.32506-0.09669 0.202535-0.52986 0.287916 82 0.179211 0.545314 1.605685 0.340026-1.94365 83 0.219951 1.075924-0.43513-0.72864-1.49275 84-0.17213 0.327434-2.26731-0.58762-0.52622 85 0.708881 0.389354-1.26521 0.301686-0.33651 86 0.175001-2.10858 0.415055 2.318206-0.84695 87-1.03566 2.265924 0.152745-0.41981 0.802236 88 0.389251 0.178274 0.255365 0.632176-2.65115 89-0.09283-1.14424-0.29565-0.2666 0.879816 90 0.518551 0.296774 1.987085-0.01937 0.037686 91-0.225-0.26858 0.903785-1.97739 0.585596 92 0.421821-0.4492-0.17002-1.59719-0.35469 93-0.39068 0.244914 0.935885 0.882046-1.20965 94-0.07193 0.127994-0.94369-1.04979-0.29025 95-1.20726 0.986924-0.46709 1.123106-0.44159 96 0.656091-1.14704-0.87511 0.723466 1.994646 97 1.377841-1.32578 0.346055 1.065086 0.037746 98-0.2779-0.22352 1.973385 0.076829 0.657156 99-0.55572 0.970024 0.225735 1.917206 0.199806 100 4.047241 5.603524 4.417885 5.327606 6.278746
BAB IV Aplikasi Jarak Mahalanobis 48 - Hitung matriks kovariansi sampel dengan menggunakan program Matlab 7. Caranya, ketik di editor m-file atau command windows sintaks berikut: cov(<data yang akan dihitung matriks kovariansinya>). Contohnya, untuk menghitung matriks kovariansi dari matriks data A, ketiklah perintah cov(a) di editor m-file atau di command windows-nya. Matriks kovariansi yang dihasilkan kita beri nama S. Kemudian hitung invers dari S dengan sintaks inv(<matriks kovariansi yang akan dihitung inversnya>) atau inv(s). Berikut matriks kovariansi yang diberikan A. 0.87906 0.27055 0.0725 0.12443 0.060498 0.27055 1.4013 0.071065 0.42444 0.35239 0.0725 0.071065 1.2817 0.24551 0.32388 0.12443 0.42444 0.24551 1.3202 0.36708 0.060498 0.35239 0.32388 0.36708 1.2111 - Hitung kuadrat jarak Mahalanobis d = ( x x)* S *( x x) untuk i = 1, 2, 2 1 i i i 2..., 100. Matriks data A akan memberikan nilai d i pada table di bawah ini. i d 2 1 5.2864 2 6.8666 3 4.9028 4 2.6572 5 1.86 6 7.5889 7 1.4365 8 4.1295 9 5.5105 10 1.7074 11 2.1078 12 4.5321 13 1.5244 14 2.3448 15 1.5746 16 2.2671
BAB IV Aplikasi Jarak Mahalanobis 49 17 1.8337 18 1.9428 19 2.8441 20 1.1751 21 2.864 22 3.3575 23 7.0683 24 5.563 25 0.77351 26 1.6496 27 0.43227 28 4.5121 29 0.74328 30 6.243 31 4.9194 32 8.1249 33 1.9149 34 7.9578 35 2.1466 36 8.2403 37 6.4596 38 7.7144 39 5.3221 40 5.0923 41 10.357 42 3.4217 43 3.8149 44 2.5091 45 6.9874 46 10.635 47 6.4076 48 2.2541 49 2.2025 50 1.2101 51 4.4104 52 4.3871 53 4.6191 54 7.7672 55 4.2446 56 5.1168 57 2.921 58 3.9831 59 1.2896 60 2.0931 61 9.6551 62 4.8261 63 2.3733
BAB IV Aplikasi Jarak Mahalanobis 50 64 5.9909 65 1.8026 66 1.9258 67 6.2353 68 4.7827 69 4.9781 70 0.99946 71 2.8669 72 2.2632 73 3.6154 74 1.4517 75 8.9127 76 8.3281 77 5.3318 78 3.4183 79 10.433 80 1.3044 81 2.4449 82 8.0578 83 3.9703 84 4.2473 85 2.1402 86 11.662 87 7.4111 88 8.4253 89 2.4547 90 3.6336 91 5.0397 92 2.3281 93 3.9846 94 1.4615 95 4.6064 96 8.8702 97 6.097 98 3.347 99 3.8223 100 63.679 C. Algoritma untuk mendeteksi outlier 2 - Buat plot nilai untuk i = 1, 2,..., 100 terhadap indeksnya. Untuk matriks d i data A akan diperoleh gambar berikut. Pada gambar ini sumbu tegaknya
BAB IV Aplikasi Jarak Mahalanobis 51 adalah nilai 2 d i dan sumbu datarnya adalah indeks i = 1, 2,..., 100. GAmbar ini menunjukkan bahwa data ke 100 mempunyai kuadrat jarak Mahalanobis yang sangat besar yaitu 63.679. Sedangkan data 1 sampai 99 mempunyai kuadrat jarak mahalanobis antara 0 sampai 11.662. Jadi, data ke 100 patut dicurigai sebagai outlier. 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 Gambar 4.1 Hitung nilai cut-off untuk α yang diinginkan dengan menggunakan distribusi pendekatan (chi-square dengan parameter p) karena n cukup besar sehingga efektifitas penggunaan cut-off distribusi pendekatan sama dengan cut-off distribusi eksaknya. Kemudian plot nilai cut-off pada Gambar 4.1 di atas.
BAB IV Aplikasi Jarak Mahalanobis 52 Algoritma di atas, jika dilaksanakan dalam Matlab 7, maka pada editor m-filenya diisi dengan sintaks sebagai berikut. A=load('data.txt'); [n p]=size(a); xbar=mean(a); S=cov(A); for i=1:n d2(i)=(a(i,:)-xbar)*inv(s)*(a(i,:)-xbar)'; end cut_pdkt=chi2inv(0.95,p) figure(1) plot(1:n,d2,'*',1:n,cut_pdkt*ones(1,n),'b'); grid on Jika algoritma di atas diterapkan pada matriks data A, maka akan didapat plot jarak Mahalanobis beserta nilai cut-off sebagai berikut untuk α = 5%.
BAB IV Aplikasi Jarak Mahalanobis 53 70 60 outlier 50 40 30 20 10 Cut off 0 0 10 20 30 40 50 60 70 80 90 100 Gambar 4.2 Pada gambar tampak bahwa data ke 100 berada cukup jauh di atas nilai cut-off. Seperti telah diutarakan di depan, jarak Mahalanobis dapat mengidentifikasi outlier secara efektif karena dalam matriks data A sebenarnya hanya terdapat 1 outlier.