sequential pattern.ppt

Upload: vera-lake

Post on 09-Oct-2015

28 views

Category:

Documents


0 download

TRANSCRIPT

  • Data MiningSequential Pattern Mining

  • Data SequenceDatabase Sequence:

    10

    15

    20

    25

    30

    35

    2

    3

    5

    6

    1

    1

    Timeline

    Object A:

    Object B:

    Object C:

    4

    5

    6

    2

    7

    8

    1

    2

    1

    6

    1

    7

    8

  • Contoh Data SequenceSequenceE1 E2E1 E3E2E3 E4E2Elemen(Transaksi)Kejadian (Item)

    DatabaseSequenceSequenceElemen (Transaksi)Kejadian(Item)CustomerTransaksi-transaksi penjualan yang dilakukan oleh konsumen tertentuItem item yang dibeli konsumen dalam waktu t.Buku, diary Produk, CD, dll.Web DataAktifitas browsing pada pengunjung web tertentuSekumpulan File-file yang dilihat pengunjung web setelah melakukan proses single mouse clickHome page, index page, contact info, dllEvent dataKejadian kejadian yang dihasilkan oleh sensor tertentuKejadian-kejadi yang timbul dari sensor saat waktu tJenis-jenis tanda(alarm) yang dihasilkan oleh sensorGenome sequencesDNA sequence dari spesies tertentuElemen dari DNA sequence Bases A,T,G,C

  • Definisi SequenceSebuah sequence adalah urutan dari elemen-elemen (transaksi)

    s = < e1 e2 e3 >

    Setiap elemen terdiri dari kumpulan kejadian-kejadian (item)ei = {i1, i2, , ik}

    Setiap elemen merupakan atribut yang dihubungkan dengan suatu lokasi atau waktu tertentu (spesifik)

    Panjang Sequence, |s|, adalah banyaknya unsur-unsur sequence yang diberikan.

    A k-sequence adalah sebuah sequence yang terdiri dari k kejadian (item)

  • Contoh SequenceWeb sequence: < {Homepage} {Electronics} {Digital Cameras} {Canon Digital Camera} {Shopping Cart} {Order Confirmation} {Return to Shopping} >

    Sequence kejadian kecelakaan yang disebabkan oleh ledakan nuklir pada 3-mile Island: (http://stellar-one.com/nuclear/staff_reports/summary_SOE_the_initiating_event.htm)< {clogged resin} {outlet valve closure} {loss of feedwater} {condenser polisher outlet valve shut} {booster pumps trip} {main waterpump trips} {main turbine trips} {reactor pressure increases}> Sequence buku checked out pada perpustakaan:

  • Definisi SubsequenceSebuah sequence terdapat dalam sequence lain (m n) jika terdapat integer i1 < i2 < < in maka a1 bi1 , a2 bi1, , an bin

    Support subsequence w didefinisikan sebagai bagian dari data sequence yang berisi wSequential pattern adalah subsequence yang sering muncul (yaitu, support subsequence minsup)

    Data sequenceSubsequenceContain?< {2,4} {3,5,6} {8} >< {2} {3,5} >Yes< {1,2} {3,4} > < {1} {2} >No< {2,4} {2,4} {2,5} >< {2} {4} >Yes

  • Definisi :Sequential Pattern MiningTerdapat: Database sequence

    Minimum menetapkan user yang mendukung(support), minsup

    Task:Menemukan semua subsequence dengan user yang mendukup minsup

  • Diberikan sebuah sequence: contoh subsequence:, < {c d e} >, < {b} {g} >, dll.

    Berapakah banyaknya k-subsequences yang dapat diekstraksi dari n-sequence yang diberikan?

    n = 9 k=4: Y _ _ Y Y _ _ _ Y Tantangan : Sequential Pattern Mining

  • Contoh :Sequential Pattern MiningMinsup = 50%

    Contoh Frequent Subsequence:

    < {1,2} > s=60%< {2,3} > s=60%< {2,4}>s=80%< {3} {5}>s=80%< {1} {2} >s=80%< {2} {2} >s=60%< {1} {2,3} >s=60%< {2} {2,3} >s=60%< {1,2} {2,3} >s=60%

  • Ekstraksi Sequential PatternTerdapat n kejadian: i1, i2, i3, , in

    Candidate 1-subsequence: , , , ,

    Candidate 2-subsequence:, , , , , ,

    Candidate 3-subsequence:, , , , , ,, , , , ,

  • Generalisasi Sequential Pattern (GSP)Step 1: Langkah pertama mengabaikan database sequence D untuk menghasilkan semua 1-element frequent sequenceStep 2:

    Ulangi sampai tidak (ada) frequent sequences baru yang ditemukanCandidate Generation: Gabungkan frequent subsequences yang ditemukan ( k-1)th untuk menghasilkan candidate sequence yang berisi k itemCandidate Pruning:Prune candidate k-sequence yang berisikan infrequent(k-1)-subsequencesSupport Counting:Mencari hal yang baru dalam sequence database D untuk menemukan support pada candidate sequence tersebut.Candidate Elimination:Meng-eliminasi candidate k-sequences yang actual support kurang dari minsup

  • Generalisasi CandidateKasus Dasar (k=2): Penggabungan dua frequent 1-sequences dan akan menghasilkan dua candidate 2-sequences: dan

    Kasus Umum (k>2):Sebuah frequent (k-1)-sequence w1 digabungkan dengan frequent yang lain (k-1)-sequence w2 untuk menghasilkan sebuah candidate k-sequence jika subsequence yang diperoleh dengan memindahkan event pertama di w1 adalah sama dengan subsequence yang diperoleh dengan memindahkan event terakhir in w2

    Hal ini menghasilkan candidate setelah penggabungan diberi oleh sequence w1 diperluas sampai dengan event yang terakhir dari w2Jika yang terakhir dua event didalam Cara lainnya, event yang terakhir di dalam w2 menjadi suatu element terpisah dengan menambahkan pada ujung w1 mempunyai element yang sama, kemudian peristiwa yang terakhir di dalam w2 menjadi bagian dari element yang terakhir di dalam w1 Cara lainnya, event yang terakhir di dalam w2 menjadi suatu element terpisah dengan menambahkan pada ujung w1

  • Contoh : Candidate GenerationPenggabungan sequences w1= dan w2 = akan menghasilkan candidate sequence < {1} {2 3} {4 5}> karena dua event yang terakhir didalam w2 (4 and 5) merupakan element yang sama

    Penggabungan sequences w1= dan w2 = akan menghasilkan candidate sequence < {1} {2 3} {4} {5}> karena dua event yang terakhir w2 (4 and 5) bukan merupakan element yang sama

    Tidak dapat dilakukan penggabungan sequence w1 = dan w2 = menghasilkan candidate < {1} {2 6} {4 5}> karena jika yang terakhir adalah viable candidate,lalu tersebut dapat diperoleh dari penggabungan w1 dengan < {1} {2 6} {5}>

  • GSP Example

    < {1} {2} {3} >< {1} {2 5} >< {1} {5} {3} >< {2} {3} {4} >< {2 5} {3} >< {3} {4} {5} >< {5} {3 4} >

    < {1} {2} {3} {4} >< {1} {2 5} {3} >< {1} {5} {3 4} >< {2} {3} {4} {5} >< {2 5} {3 4} >

    < {1} {2 5} {3} >

    Frequent 3-sequences

    CandidateGeneration

    CandidatePruning

  • Timing Constraints (I){A B} {C} {D E}< {6} {5} >Yes< {1} {2} {3} {4} {5}>< {1} {4} >No< {1} {2,3} {3,4} {4,5}>< {2} {3} {5} > Yes< {1,2} {3} {2,3} {3,4} {2,4} {4,5}>< {1,2} {5} >No

  • Mining Sequential Pattern Dengan Timing ConstraintsPendekatan 1:Menemukan sequential pattern tanpa timing constraintsPostprocess menentukan pattern

    Pendekatan 2:Memodifikasi GSP untuk langsung menjadi prune candidates namun melanggar timing constraintsQuestion: Apa apriori prinsip masih dipegang ?

  • Apriori Principle Untuk Data SequenceSuppose: xg = 1 (max-gap)ng = 0 (min-gap)ms = 5 (maximum span)minsup = 60%

    support = 40%but support = 60%Problem ada dikarenakan terdapat max-gap constraintTidak terdapat problem jika max-gap tanpa batas

  • Contiguous Subsequencess merupakan contiguous subsequence dari w = < e2>< ek> jika memenuhi kriteria berikut ini :s diperoleh dari w dengan menghapus suatu item dari e1 or eks diperoleh w dengan menghapus sebuah item dari elemen ei yang terdiri lebih dari 2 item.s dikatakan contiguous subsequence dari s dan s dikatakan a contiguous subsequence dari w (recursive definition)

    Contoh: s = < {1} {2} > contiguous subsequence < {1} {2 3}>, < {1 2} {2} {3}>, dan < {3 4} {1 2} {2 3} {4} > BUKAN contiguous subsequence < {1} {3} {2}> and < {2} {1} {3} {2}>

  • Langkah Modifikasi Candidate PruningWithout maxgap constraint:Candidate k-sequence dikatakan pruned jika salah satunya (k-1)-subsequences adalah infrequent

    With maxgap constraint:Candidate k-sequence dikatakan pruned jika salah satunya contiguous (k-1)-subsequences adalah infrequent

  • Timing Constraints (II)xg: max-gapng: min-gapws: window sizems: maximum spanxg = 2, ng = 0, ws = 1, ms= 5

    Data sequenceSubsequenceContain?< {2,4} {3,5,6} {4,7} {4,6} {8} >< {3} {5} >No< {1} {2} {3} {4} {5}>< {1,2} {3} > Yes< {1,2} {2,3} {3,4} {4,5}>< {1,2} {3,4} >Yes

  • Langkah Modifikasi Support Counting StepCandidate pattern: Beberapa data sequences terdiri dari

    , ( dimana time({c}) time({a}) ws) (dimana time({a}) time({c}) ws)

    yang digunakan dalam menentukan candidate pattern

  • Formula LainDalam beberapa domain, kita hanya mempunyai satu very long time seriesContoh: monitoring network traffic events for attacks Monitoring siatuasi network traffic untuk mencari penyelesaian suatu masalah monitoring telecommunication alarm signalsMemonitor sinyal telecommunicationBertujuan untuk menemukan kejadian- kejadian frequent sequences dalam time seriesMasalah ini juga untuk mengetahui frequent episode miningE1E2E1E2E1E2E3E4E3 E4E1E2E2 E4 E3 E5 E2E3 E5E1E2E3 E1Pattern:

  • Skema General Support CountingAsumsi: xg = 2 (max-gap)ng = 0 (min-gap)ws = 0 (window size)ms = 2 (maximum span)

    2

    3

    4

    5

    p

    q

    p

    6

    7

    q

    q

    Sequence: (p) (q)

    Method Support Count

    COBJ

    1

    p

    1

    q

    q

    p

    p

    CWIN

    6

    Object's Timeline

    CMINWIN

    4

    CDIST_O

    8

    CDIST

    5

    *