Creating an Adaptive Neuro Fuzzy Inference System (ANFIS)

Oleh: Dr. Ir. Prabowo Pudjo Widodo, MS. & Rahmadya Trias H., ST., MKom.

Studi Kasus:

Buatlah rancangan Adaptive Neuro Fuzzy Inference System untuk kasus penentuan bonus pegawai restoran berdasarkan pelayanan dan masakan yang disajikan. Gunakan rule yang dibentuk dengan proses learning.

Penyelesaian:

  1. Langkah pertama adalah buka Matlab Anda. Arahkan Current Directory pada posisi folder yang tepat.


  1. Berikutnya kita akan membuat proses learning pada ANFIS. Kembali ke command window, ketik “anfisedit“.


 

  1. Yang perlu diperhatikan adalah kita diminta untuk me-load data. Data yang akan dijadikan sarana training ANFIS adalah gabungan antara masukan dengan keluaran. Dari kombinasi-kombinasi yang mungkin dapat kita bentuk menjadi matrik dengan jumlah kolom sebanyak tiga kolom yang menggambarkan dua masukan dan satu keluaran. Matriks tersebut terdiri dari komposisi beberapa kemungkinan, misalnya jika pelayanan nol dan masakan nol harapannya bonusnya juga nol. Buat matriks pada command window sebagai berikut (sekedar ilustrasi):

    train_data =

     

    0 0 0

    1 0 1

    0 1 1

    2 1 3

    2 2 4

    1 2 3

    3 0 3

    3 1 4

    3 2 5

    4 1 5

    1 4 5

    5 1 6

    5 2 7

    5 3 8

    5 4 9

    5 5 10

    Anda dapat membentuk training data ini selengkap mungkin. Kembali ke ANFIS editor, pada isian load data, klik tombol radio worksp, yang artinya kita akan mengambil data dari workspace command window. Klik Load data, maka kita akan diminta mengisikan variabelnya, ketik: train_data, lalu OK.

  2. Pada isian generate FIS, pilih tombol radio Load from file, karena kita akan memanggil FIS hasil kreasi kita sebelumnya. Klik Load, dan arahkan ke file bonus.fis. Berikutnya pada isian Train FIS, klik Train now. Gunakan Epoch secukupnya, misalnya 10.

     


 

  1. Kemudian kita akan membuat FIS secara otomatis. Pada isian Generate FIS, pilih Grid partition, dilanjutkan dengan mengklik Generate FIS.
  2. Akan muncul jendela isian tentang tipe fungsi keanggotaannya. Pilih misalnya gbellmf dengan masing-masing 3 fungsi yang pada isian number of MFs berisi 3 3. Klik OK. Pada ANFIS info jika kita klik Structure, maka akan muncul informasi neuron pada ANFIS yang baru kita generate tadi.

 


 

  1. Selamat, Anda telah berhasil membuat satu engine FIS dengan cara Training ANFIS. Untuk menyimpan dapat kita lakukan dengan mengklik: file – export. Ada dua pilihan yang tersedia, yaitu to Workspace dan to File. Bila kita pilih to workspace maka hanya akan muncul pada Matlab saat aktif sekarang saja. Bila di-shutdown, data akan hilang. Sebaiknya kita pilih to file agar lebih permanen. Setelah diklik to file, beri nama misalnya bonis. File fuzzy akan tersimpan dengan ekstensi “fis”.
  2. Untuk memperjelas FIS hasil training ANFIS, buka FIS tersebut dengan mengetik pada command window:

    >> fuzzy bonus

     


 

  1. Ganti nama input1 menjadi pelayanan, input2 menjadi masakan dan output menjadi bonus, pada isian Name di Current Variable.

 


 

  1. Dobel klik pada pelayanan, maka akan memunculkan membership function editor, ganti nama yang sesuai misalnya buruk, rata-rata dan baik seperti pada gambar di bawah ini. Lakukan hal yang sama untuk masakan.

     


 

  1. Setelah kita edit nama input beserta fungsi keanggotannya, maka secara otomatis, rule akan berubah mengikuti nama tersebut. Dobel klik pada bagian rule, sehingga memunculkan logika sebagai berikut:

 


 

  1. Berikutnya kita akan menguji fuzzy yang telah kita buat. Kembali ke command window, ketik: fis=readfis(‘bonus’) lalu enter maka Matlab akan meload engine FIS yang kita miliki yaitu bonus.fis. Berarti variabelnya diberi nama “fis”.

    fis=readfis(‘bonus’)

     

    fis =

     

    name: ‘bonus’

    type: ‘sugeno’

    andMethod: ‘prod’

    orMethod: ‘probor’

    defuzzMethod: ‘wtaver’

    impMethod: ‘prod’

    aggMethod: ‘sum’

    input: [1×2 struct]

    output: [1×1 struct]

    rule: [1×9 struct]

 

  1. Berikutnya kita uji misalnya pelayanan buruk, yaitu 1 sedangkan masakannya pun tidak enak. Instruksi yang diperlukan adalah evalfis.

    >> out = evalfis([1 1],fis)

     

    out =

     

    1.6195

     

    Hasil defuzzifikasi, dengan variabel out, adalah 3,2863 yang jika dibandingkan dengan skala 10 masih dibilang buruk.

    >> out = evalfis([5 5],fis)

     

    out =

     

    9.9078

     

    Engine FIS hasil training ANFIS yang telah kita bentuk ini dapat kita aplikasikan dengan GUI yang tersedia pada Matlab agar interaksi dengan user lebih baik.

 

 

 

 

 


Iklan

173 respons untuk ‘Creating an Adaptive Neuro Fuzzy Inference System (ANFIS)

    • proses fuzzy-kan fuzzifikasi – rule based – defuzzifikasi. nah, evalfis untuk defuzzifikasi. kalo suka programming bisa cek scriptnya dengan mengetik: edit evalfis.m pada command window.

  1. assalamualaikum pak rahma…saya mau tanya….logika buat rule base fuzzy tu gmana pak…saya pakek tool box fuzzy di matlab…..saya pnya 2 input 1 output….saya ingin sistem saya yg difuzzykan tdi…outputnya hampir sma dengan output yg saya inginkan pak…yg sesuai dengan data dari variabel output tdi pak..mhon bimbingannya?…trima kasih

    • tinggal pilih, mau fis apa anfis. kalo anfis perhatikan pembuatan vektor input dan targetnya dalam satu matriks (beda dengan JST yang input dan targetnya dipisah menjadi dua matriks – input dan target).

  2. Slmt mlam pak,terimakasih atas penjelasannya mengenai anfis.Saya mau tanya,bagaimana menghubungkan anfis toolboox dengan GUI pada matlab??karena saya sedang membuat GUI matlab rancangan saya sendiri tp saya ingin ngelink dengan anfis toolbox,tnpa memanggil dulu lewat coommand window.tp saat eksekusi dengan GUI saya,lgsng running.mhn bimbngannya.thx

  3. Terima kasih atas penjelasannya Pak,
    saya mau tanya mengenai basic dalam menentukan parameter di dalam FIS (mamdani) itu berdasarkan apa ya Pak? jika saya mempunya 4 buah masukan input dan 1 output.
    maaf saya masih sangat blank mengenai Fuzyy ini. . .mohon pencerahannya dari bapak.

    Terima kasih

    • fuzzy bermaksud mengkonversi bilangan menjadi bahasa yang dimengerti manusia, jadi tiap masukan misalnya suhu tubuh, dari angka 40 der celcius menjadi kategori panas, 34 sedang, dan seterusnya. Sedangkan bentuk konversinya berupa fungsi keanggotaan (membership function – mf) apakah garis lurus, sigmoid, dan lain-lain. Kemudian, dari fuzzy, dikonversi lagi menjadi bilangan (defuzzifikasi), khusus untuk tipe sugeno, dari rule langsung diarahkan ke bilangan (defuzzifikasi langsung).

      • apa defuzifikasi bisa dihitung menggunakan ms.excel? kalau boleh saya mau minta dikirimi contoh perhitungannya seperti apa, Pak? saya masih bingung untuk mengkonversi nilai crisp ke bilangan real-nya. . .Terima Kasih sebelumnya.

      • maaf pak, apa ketika kita masuk ke proses defuzzifikasi untuk FIS (mamdani) bisa dilakukan menggunakan ms.excel?kalau boleh saya mau minta contoh dan formulasi perhitungan menggunakan excel untuk metode defuzzifikasi centroid. . .

      • defuzzifikasi ada macam-macam (titik tengah, max terdekat, max terjauh, dll), tapi yang terkenal itu titik pusat (centroid), luas bangun dibagi axis. setahu saya bisa saja dihitung dengan excel, masalahnya excel tidak bisa menjumlahkan bangun (area) kan?

  4. sebelum membuat anfis, apakah harus membuat fuzzy-nya dulu..
    tutorial diatas sepertinya begitu…

    Terima kasih.

    • anfis tidak membuat fuzzy terlebih dahulu, hanya saja di menu anfisedit ada pilihan berapa fungsi keanggotaan yang diperlukan di tiap masukan. masukan sendiri otomatis diambil dari data, jika data ada empat kolom, oleh anfis dianggap tiga masukan satu keluaran. setelah ditraining, diekspor ya jadinya fuzzy tipe sugeno.

      • sip mas…
        saya sudah mencoba tutorial diatas menggunakan fuzzy dan anfis dalam 1 GUI…
        bagaimana bila data input berupa image..?? dimana kalau menggunakan perintah imread() mendapatkan nilai array dari image tersebut.

        Terima kasih

  5. Mas saya mau nanya apabila data input atau data pelatihannya terdapat data Not a Number (NaN) apa bisa diproses di ANFIS.?

      • iya karna prinsip data time series kan apabila ada data yang kosong harus di isi kan mas.. dalam matlab kan gitu. baris ama kolom harus sama2 disikan.. soalnya saya dapat data seperti itu mas .. trus solusinya gimana ya mas..

  6. Pak, saya mohon bantuannya, bagaimana menggunakan anfis untuk memprediksi beban listrik. kalau langkah2 menggunakan anfis secara sederhana saya sudah bisa. saya punya data untuk satu tahun, bagaimana cara mengolahnya. Apa bisa minta email untuk konsultasi. Terimakasih

  7. Pak, saya mohon bantuannya, bagaimana cara menggunakan anfis untuk memprediksi kelulusan siswa, dan sy mohon pencerahannya cara menggunakan anfis dengan matlab…saat ini saya sdng menyusun tesis…mohon bimbingannya pa..terima kasih

    • anfis berarti harus ada data terdahulu baik dr institusi sendiri atau institusi rujukan. datanya serangkaian siswa yg lulus dan yg tdk lulus kemudianditraining untuk memperoleh rule

      • Sebelumnya terima kasih atas balasannya pa…datasetnya sudah ada pa baik yg lulus dan yg tidak lulus…namun sy masih bingung cara memasukkan data tersebut ke anfis…dan sy sdh mencoba step by step dari buku ” penerapan soft computing dengan matlab”, hanya saja sy masih perlu bimbingan terutama :
        1. cara memasukkan datanya ke anfis
        2. untuk kelulusan hanya 3 mapel penentu yaitu b.indo, matematika, b,inggris, apakah cara measukkan berdasarkan per mapel dulu atau sekaligus
        3. bagaiman cara mencari nilai tingkat akurasinya pa
        terima kasih atas bimbingan virtualnya, semoga ilmunya dapat bermanfaat

      • ANFIS itu sama dengan FIS hanya saja pembuatan rulenya saja (selain tipenya ANFIS harus sugeno). ANFIS dengan training, FIS dengan setting langsung. Sedangkan untuk mengetahui suatu data masuk kategori mana (hasil pembelajaran) maka baik FIS dan ANFIS (yang sudah disimpan/export) dapat menggunakan fungsi “evalfis”. Bisa satu-satu data yang akan dievaluasi, atau secara serempak juga bisa.

      • pa. untuk mencari nilai tingkat akurasi ketepatan dalam memprediksi data kelulusan tersebut bagaimana mencarinya atau bapak mungkin bisa memberikan solusi terbaik…terima kasih

      • kalo cross validation banyak, search di google aja, tapi klo crossvalind belum liat. sy kirim ke penerbit januari sampai sekarang belum cetak, bukunya data mining dgn matlab. pengarangnya prabowo dan saya. kalo udah cetak bisa cari di gramedia atau pesan di http://www.biobses.com

  8. pak, apakah metode backpropagation pada ANFIS sama persis dengan backpropagation pada JST??? saya agak bingung mempelajarinya.. terutama pada cara penentuan bobotnya.. saya sedang mempelajari ANFIS..

    • bapak, saya sudah membuat dalam bentuk dat..namun muncul pernyataan berikut..
      ??? Error using ==> load
      Number of columns on line 1 of ASCII file D:\IPB\BI_2013\pak marimin\paper\data anfis\data
      latih beras.dat
      must be the same as previous lines.
      Error in ==> anfisedit at 629
      trndata=load([fpath fname]);
      ??? Error while evaluating uicontrol Callback
      apa maksudnya y?

  9. pak saya sudah melakukannya tapi muncul pernyataan berikut?..
    ??? Error using ==> load
    Number of columns on line 1 of ASCII file D:\IPB\BI_2013\pak marimin\paper\data anfis\data
    latih beras.dat
    must be the same as previous lines.
    Error in ==> anfisedit at 629
    trndata=load([fpath fname]);
    ??? Error while evaluating uicontrol Callback

    apa maksudnya y

  10. Pak, saya mau menanyakan bagaimana cara load data untuk testing pakai anfis? sudah saya coba cuman tidak bisa. mohon bantuannya ya pak. terima kasih

    • anfis seperti JST membutuhkan data pelatihan. Misalnya untuk menentukan penyakit demam berdarah beberapa variabel dibutuhkan seperti demam, bintik merah, dan sebagainya. Syarat pelatihan yang baik tentu saja tiap kondisi harus diwakili oleh beberapa data karena jika hanya diwakili satu kondisi, sistem tidak bisa membuat aturan dengan tepat.
      Di Matlab antara Anfis dengan Jst sedikit berbeda. Jika di Anfis data dengan target digabung, sementara JST dipisah. Akurasi tentu saja lebih baik JST, tetapi Anfis bisa membuat aturan if-then yang dipahami logika manusia (knowledge discovery).

  11. salam pak.pak sy een mahasiswa tingkat akhir.mw tnya cara menyimpan image dalam file. DAT bagaimana yah pak untuk pelatihan JST di matlab?mhon penjelasanya pak untuk skripsi saya. terima kasih pak

  12. Assalamualaikum bapak, salam kenal saya Mahasiswa Bandung sedang Skripsi nih pak..mau nanya, apa bapak mendalami tentang metode SVM yg d implementasikan di matlab? untuk keperluan forecasting pak, peramalan beban listrik..apa ada masukan pak? terimakasih banyak pak sebelumnya..wassalam..

    • waálaikum salam. prinsip kerjanya dari sisi mesin pembelajaran mirip jaringan syaraf tiruan maupun anfis. hanya saja svm memisahkan antara dua kelas. Jika target lebih dari dua kelas/label, maka masuk kategori multi-class, atau dengan prinsip tree, saling diadu, winner take all

    • kalo ramalan bulan depan, kita harus punya data beberapa bulan sebelumnya, kalo tahun depan ya beberapa tahun yg lalu. baik JST maupun ANFIS bekerja dengan baik untuk peramalan.

      • kalau cuma hanya data penjualan saja apa bisa pak tanpa membandingkan dengan kriteria lain?
        fungsi keanggotaan yang sering digunakan apa ya pak?
        kalau generalized bell parameter a,b,c itu apa ya pak?
        apakah ada penjelasan dari tiap parameter?
        inputan dari masing-masing parameter sembarang atau bagaimana?
        mohon maaf pak terlalu banyak bertanya.

  13. pak, kan di ANFIS itu ada parameter yang adaptif. yaitu di layer 1 ada a,b,c (gbell) dan di layer 4 ada p,q,r. parameter yang adaptif itu disebut nya parameter premis dan parameter konsekuen.

    saya pelajari learning nya ada yang hibrid dan ada yang backpropagation sesuai dengan yang ada di matlab. permasalahnya, kl di hitung manual pencarian nilai pqr atau abc itu nilai nya sangat kecil bahkan di sekitaran 10^-18. bener g ya pak nilai ny sekecil itu?

    bapak ada contoh learning back propagation yang sudah di implementasi ke bahasa C atau java? atau kl ada yang sudah ke mikrokontroller. 🙂

    oiya, maaf lupa memperkenalkan diri pak.
    Nama saya Ryan, mahasiswa teknik elektro dari universitas Telkom.
    mohon bantuan nya, makasih banyak pak.
    🙂

    ini bener email bapak?
    rahmadya.trias@gmail.com

    • layer ada tiga, input, rule, dan output. Mungkin maksudnya a,b,c dan p,q,r itu masing2 untuk masukan pertama dan kedua barangkali, soalnya ga sampai empat layernya. nilai a,b,c,p,q, dan r tidak semuanya kecil, pasti ada yang besar (tidak mungkin mendeskripsikan seorang siswa tidak pintar, tidak bodoh, dan tidak juga rata-rata kecuali memang tidak ber-MF).

      Kalau backpropagation sepertinya banyak, nah hybrid yang sulit dicari.

      • pak rahmadya, gmn ya pak perhitungan manual ANFIS?
        apakah bapak memilikinya?
        saya bingung rumus yg benar di tahap mundur ANFIS
        apakah bpk bisa share?
        mohon di jawab ya pak.

      • berpa jumlah input, hidden layer dan outputnya? walaupun dia fuzzy, tetap dianggap NNs .. lihat juga garis panah dari input ke output, sedikit berbeda dengan NNs, ANFIS lebih sederhana ..

  14. pa skripsi saya tentang tentang peramalan PDRB menggunakan metode sugeno dan menggunakan matlab jg menggunakan ANFIS, permasalahan saya untuk mendapatkan perhitungan manualnya saya harus menentukan fungsi keanggotaan dari member fungsion yang ada di matlab saya menggunakan kurva gauss. itu bagai mana ya pak cara menentukan fungsi keanggotaan dari himpunan fuzzy rendah,sedang dan tinggi?? makasi bapak

    • waktu generate ANFIS di anfisedit kan ada pilihan MF, pilih aja yang gauss. cuma agak repot kalo disuruh menghitung manual fungsi mf gauss. setelah training dan diexport, buka aja dengan instruksi fuzzy untuk melihat rule-nya

  15. Salam pak, mohon informasi apakah di ANFIS toolbox matlab, outputnya bisa dibuat lebih dari 1, seperti di FIS. trima kasih atas infox

  16. Assalamu’alaikum pak, saya ingin bertanya bagaimana caranya kita meramalkan untuk bulan ke depan berdasarkan data yang ada.
    saya memiliki data bulanan dari januari 2012 hingga desember 2013.
    nah, saya ingin meramalkan utk bulan januari 2014.
    bagaimana ya pak caranya? saya menggunakan Anfis
    mohon balasannya, terima kasih pak

    • Data bulanan tahun 2012 – 2013 beserta variabel2nya dilatih, setelah trbentuk fis nya (lihat tutorialnya), gunakan fis itu untuk tahun yg akan datang jika diketahui nilai variabelnya.

      • apakah kita harus memiliki nilai masing masing variabel dari bulan yang akan datang?
        jika kita tidak memilikinya bagaimana pak?
        kan kita mau meramalkan ke bulan yg depan dan tidak tahu nilai masing-masing variabel dari bulan tersebut.
        mohon penjelassnnya pak
        terima kasih

  17. Pak saya mau nanya, kan saya sedang mengerjkan tgs tntang anfis dlm menentukan beasiswa, dlm anfi apa boleh outputnya ada dua.. sya pernah mencoba di matlab tp hasil di gui.a hanya satu keluaran yaitu memperoleh beasiswa aj,, pdahal yg sya msukan nilai yg tidak mendapt beasiswa .. kesalahannya terdapt dimn?

    • output bisa dua (saat buat di jendela anfis, pilih variabel output 2), tapi jadi rumit. sepertinya ada yg tidak beres di data training, atau jangan2 yg ditraining data yg mendapat beasiswa semua. minimal sebagian ada yg tidak diterima beasiswanya, bagus jika range data lengkap dari yg kemungkinan besar diterima dan kemungkinan kecil diterima.

  18. Assalamu ‘alaikum.
    Pak, saya mau nanya, apakah neural network bisa digunakan untuk menyetting nilai pid? Karena saya liat di jurnal sepertinya ada Pak, tapi masih belum paham. Saya berencana mengambil tugas akhir dengan tema itu. Terima kasih sebelumnya Pak
    Wassalam

  19. Assalamualaikum Pak Rahmadya..
    Sy sedang mengerjakan tugas akhir saya tentang prediksi gempa menggunakan ANFIS (GUI)..
    sy langsung dapat scriptnya jadi tinggal run, dan keluar outputnya tanpa tahu proses awalnya..
    sy mau runut kebelakang maksudnya biar paham, Pak..
    sy mau melihat input data saya itu bagaimana ya pak kira-kira?

    • anfis ada dua tahap, learning dan testing. learning bermaksud membuat rule lewat mekanisme machine learning, biasanya backpropagation. testing untuk menguji suatu data dengan menggunakan hasil learning tersebut. hasil learningnya adalah fis yang rule2nya dari hasil belajar tersebut. kalau testing, mudah, bisa dengan matematika biasa (lebih mudah lagi jika anda memilih persamaan member yg sederhana/garis lurus). yang sulit learning, karena iterasinya banyak.

  20. pak saya mau nanya jika kita melakukan Fis hasil training anfis nah kan disana ketika rule sudah dapat itu memiliki output rule yang banyak, nah yang ingin saya tanyakan bisa kah output rule itu dibuat cuma 5 saja (very hgih, high, medium, low, very low) .trmkh jwbnnya ditungu sekali pak

    • sorry lama ga buka email. output anfis kan Crips bukan fuzzy (very high, high, dll). maksudnya fungsi membership (MF) kah? kalau itu settingnya saat generate FIS di anfisedit: 3 3 1, dll 3 berarti ada 3 fuzzy high, med, low, dsb.

      • yang ini belum ke jawab Pak.,
        apakah kita harus memiliki nilai masing masing variabel dari bulan yang akan datang?jika kita tidak memilikinya bagaimana pak?kan kita mau meramalkan ke bulan yg depan dan tidak tahu nilai masing-masing variabel dari bulan tersebut.mohon penjelassnnya pakterima kasih.
        2. setelah proses training dan testing.,gmn cara forecasting mnggunkan anfis GUI.

      • Ramal berdasarkan data lalu. Data senin selasa untuk memprediksi data rabu. Biasanya memprediksi langsung totalnya, jika memprediksi variabelnya juga bisa, nanti totalnya dr variabel itu.
        Jika kta berada di akhir hari selasa untuk prediksi hari kamis, data yg digunakan data selasa dan prediksi rabu. Yg hari senin biasanya tdk dipakai krn anfis atau jst variabel input harus fix dlm hal ini 2

      • Setahu saya ramal. Ga melihat variabel, tapi trend naik atau turun, tentu saja butuh lebih dari dua supaya bisa menerka, tapi ada juga yg kombinasi dgn metode lain, jst, svm (svr). 1.2.3 kita bisa nebak berikutnya 4 kan. Atau variabelnya diregresi, misal kurs dolar, nanti untuk memprediksi inflasi

      • yang ini belum ke jawab Pak.,
        1. apakah kita harus memiliki nilai masing masing variabel dari bulan yang akan datang?jika kita tidak memilikinya bagaimana pak?kan kita mau meramalkan ke bulan yg depan dan tidak tahu nilai masing-masing variabel dari bulantersebut.mohon penjelassnnya pakterima kasih.2. setelah proses training dan testing.,gmn cara forecasting mnggunkan anfis GUI.
        mkasi bnyak…

  21. Pak Rahmadya,
    Saya boleh nanya tentang penentuan parameter awal ANFIS pak?
    Biasanya sebelum diolah ke ANFIS, data masukan dilakukan proses normalisasi ialah dengan pembentukan range pada data..
    saya pakai range 0.1-0.9 pak, dan membership function generalized bell (gbellmf)..
    Kemudian yang ingin saya tanyakan.. hubungan antara keduanya bagaimana ya pak? apakah pemilihan range tersebut berhubungan dengan MFs nya?

    • Mfs maksudnya membuat se-fuzzy mungkin, makin rumit makin mendekati kenyataan tapi komputasinya berat. Apalagi jika diminta juga hitungan manualnya. Normalisasi manfaatnya mempermudah komputasi di saat learning, ortogalitas, dll

  22. salam pak rahmadya…

    Perkenalkan nama saya sunarsan, saya mengucapkan banyak terimakasih kepada bapak karena dengan membaca komentar dan jawaban dari bapak saya mendapat banyak ilmu tentang forecasting, Anfis, FIS.

    sedikit saya mau bertanya pak,

    saya sedang melakukan penelitian menggunakan metode ANFIS untuk memprediksi jumlah penumpang, rencana saya jumlah data penumpang yang saya gunakan yaitu jumlah data penumpang selama 10 tahun, dan saya akan memprediksi jumlah penumpangnya perbulan. sehingga klasivikasi data saya itu ada 120, langkah awal untuk membentuk fungsi keanggotaan saya gunakan metode FCM ( fuzzy C-means) apakah langkah ini sudah sesuai ataukah bapak memiliki advise untuk penelitian saya ini sehingga menghasilkan goal yang tepat.

    atas perhatian bapak saya ucapkan banyak terima kasih…

    • harus perlu dipahami dulu forecasting, prediction, classification, dan clustering. FCM itu clustering, hasilnya tidak berupa angka (maksudnya jumlahan) melainkan kelas 1, 0, dll. kalo forecasting kan jumlahan/number, jadi meramalkan jumlah penumpang mei 2016, misalnya. kecuali kalau mau menjawabnya banyak, cukup, ga laku, dll (kelas).

      beda dengan fcm yang clustering tanpa target/label alias mengelompokan sendiri, klasifikasi misal dengan anfis, svm, dll membutuhkan target/label untuk training (kalau data input kyk gini, outputnya kayak gini lho komputer). hasilnya bisa kelas bisa juga angka/number. walaupun untuk svm kebanyakan hasilnya kelas (kelas -1 atau +1) bisa juga dimodif jadi selain kelas -1 besarnya juga berapa, dikenal dengan svr (support vector regression).

      tepat apa nggak dgn fcm, bisa iya bisa nggak krn hasil fcm itu kelas bukan angka, kecuali kalau dimodif setelah masuk kelas tertentu dilanjutkan dengan prediksi besarannya (misal setelah masuk kelas “rada-rada oon” diprediksi besar IPK-nya.

  23. Salam..
    maaf pak saya ichwan sedang melakukan penelitian menggunakan anfis terkait peramalan. saya memiliki 70 data histori dan ingin meramalkan data ke 71-75 tapi saya masih bingung cara menggunakan gui matlab yang ada. data yang saya pakai memiliki 2 variabel input dan 1 variabel output. mohon pencerahannya. terima kasih.

    • misal ya, ngga harus sih. tiap 10 tahun memprediksi 1 tahun berikutnya (tahun 11). Jadi 70 data mas ichwan jadi rentetan data sebanyak 7 data untuk latihan (7×10=70). tiap 10 data itu pasti ada jawaban yang ke 11 kan? (11,21,31,41,…71). yg ke 71 adain lah, kalo ngga ada ya tiap 9 tahun lah. Latih ke 7 set itu untuk mengetahui bobot dan bias (neuron). ada yg ngeset outputnya lebih dari satu, dan lumayan akurat kok. lebih jelasnya liat ini: https://rahmadya.com/2015/10/19/prediksi-dengan-jaringan-syaraf-tiruan/
      untuk ANFIS sepertinya tekniknya sama, kan ada unsur JST nya di ANFIS

  24. salam pak rahmadya…
    saya fitri, sy sedang mempelajari ANFIS untuk memprediksi data saham. di jurnal panduan saya, ada tahapan fuzzification, normalization dan defuzzication. bisakah bapak menjelaskan sedikit ttg tahapan tersebut. terutama ttg normalization?
    trimakasih

    • wa’alaikum salam.
      kalo bicara anfis berarti tipe fuzzy-nya tsk (sugeno). perhitungan sugeno lebih mudah dibanding mamdani yang membutuhkan deffuzifikasi dan perhitungan pusat geometri. tetapi karena ada unsur neuro-nya, maka training yang jadi masalah jika diminta perhitungan manualnya. seprti kasus jaringan syaraf tiruan, kebanyakan untuk ta diminta hanya satu kali iterasi training backpropagation dan berikutnya lewat program. sumber2 banyak tersedia, apalagi jika bisa bahasa inggris.

      • pak mau tanya lagi misal kita punya 10 data dan mau prediksi data yang ke 11 dan data ke 11 itu belum ada outpunya atau (y) hitungan manualnya gimana ya pak hubungin data baru sama 10 data trainingnya

      • Validasi itu menghitung data 10 lewat rancangan jst/anfis/fuzzy lalu bamdingkan dgn data realnya, klo ga jauh errornya ya siap dipakai utk data lainnya

      • pak bisa minta penjelasan dari anfis info itu dari nodes, linier parameter, nonlinier parameter, sama total parameter hitungnya dari mana ya pak ?
        ANFIS info:
        Number of nodes: 21
        Number of linear parameters: 12
        Number of nonlinear parameters: 12
        Total number of parameters: 24
        Number of training data pairs: 172
        Number of checking data pairs: 0
        Number of fuzzy rules: 4

  25. assalamualaikum pak rahmadya, boleh minta contact atau Social Media apa aja, soalnya saya akan melakukan penelitian cuma saya masih galau dengan permasalahan yang ada takutnya gak cocok dengan metodenya, pengen nya sih Metode sekitar ANFIS- Fuzzy – JST
    bisa dikirim ke indrasg@ymail.com

  26. assalamualaikum pak rahmadya, boleh minta contact atau Social Media apa aja, soalnya saya akan melakukan penelitian cuma saya masih galau dengan permasalahan yang ada takutnya gak cocok dengan metodenya, pengen nya sih Metode sekitar ANFIS- Fuzzy – JST
    terus ada contoh kasus yang lain tidak mengenai ANFIS inputanya lebih dari 2 seperti apa terimakasih sebelumnya pak
    bisa dikirim ke indrasg@ymail.com

  27. assalamu’alaikum wr.wb pak Rahmadya..
    saya ruspina ningsih, mahasiswa semester akhir dan sedang dalam proses menyelesaikan tugas akhir saya..
    saya mau nanya pak, gimana caranya membuat coding manual anfis tanpa menggunakan toolbox..
    soalnya dikampus saya diperbolehkan menggunakan toolbox dah harus membuat coding sendiri, saya juga ada mengirimkan email ke emailnya bapak..
    mohon bantuannya pak, terimakasih..

  28. assalamualaikum wr wb
    pak rahmadya saya mau tanya apa pungsi setiap layer di struktur anfis?
    kebetulan saya sedang melakukan penelitian dengan metode anfis..
    terimaksih sebelum nya

    • fungsi layer di ANFIS untuk membentuk RULE yang utama (hidden layer). Tetapi yang lain ya untuk masukan dan layer keluaran.

  29. Selamat sore pak, saya sedang membuat tesis. Temanya adalah Peramalan Penjualan menggunakan metode ANFIS dengan bantuan MATLAB.

    http://ojs.unud.ac.id/index.php/jte/article/download/5584/pdf

    Begini pak, jika melihat penelitian sebelumnya pada link di atas, dijelaskan bahwa data input hanya menggunakan data beban listrik.

    Pertanyaan saya:
    1. Apakah saya bisa mencari peramalan pada bulan berikutnya apabila data penelitian saya hanya menggunakan data aktual penjualan saja (berdasarkan jumlah produk) tanpa variabel lain?
    2. Bagaimana step awal hingga akhirnya?

    Saya harap dan memohon agar bapak membimbing saya. Terima kasih…

    • 1. Apakah saya bisa mencari peramalan pada bulan berikutnya apabila data penelitian saya hanya menggunakan data aktual penjualan saja (berdasarkan jumlah produk) tanpa variabel lain? — bisa, asalkan data sebelumnya lengkap beberapa bulan sebelumnya
      2. Bagaimana step awal hingga akhirnya? — kalo contoh di pdf itu, proyeksi tiap minggu bulan besok diramal dari data 4 minggu bulan sekarang. untuk meramal butuh data 4 minggu bulan kemarin yg hasilnya divalidasi dgn kenyataan yg ada (4 minggu bulan sekarang)

      • Melanjutkan pertanyaan 2. Ini sub pertanyaan kedua pak. 🙂

        Begini pak, kemungkinan saya akan menghitung peramalan pada bulan April, Mei dan Juni tahun 2016. Dan saya akan menggunakan data aktual penjualan (jumlah produk) dari bulan April 2013 sampai Maret 2016 (total data 36 bulan).

        Dalam tool ANFIS (anfisedit), saya diwajibkan untuk load data berupa .dat, dan di dalam data tersebut diharuskan ada 2 kolom data.

        Pertanyaan saya:

        1. Jika saya memasukkan data aktual penjualan bulan April 2013 sampai Maret 2014 (kolom 1) dan bulan April 2014 sampai Maret 2015 (kolom 2), apakah saya harus melatih data selanjutnya sama seperti proses di atas?

        2. Untuk melatih data selanjutnya (bulan April 2014 sampai Maret 2015), apakah prosesnya langsung saya Load atau saya hapus dulu yg 1?

        2. Jika proses 1 salah, bagaimana seharusnya pak? Saya harap bapak menjelaskannya.

        3. Jika berdasarkan penelitian sebelumnya, ada data untuk training dan validation, berarti data saya pada tahun ketiga untuk validation. Bagaimana cara step-by-step untuk mem-validation?

        4. Untuk generate fis, berapa tipe yg harus saya isi (number of MFs), lalu tipe apa yg saya pilih dalam MF tipe untuk Input dan Output nya? Apakah Gauss (Input) dan Linear (Output).

        Sebelumnya terima kasih atas jawaban bapak di atas.
        Dan saya memohon kembali untuk bimbingan bapak.
        Terima kasih pak…

  30. Assalamualaikum pak. Saya sdg membuat skripsi dgn menggunakan anfis. Namun ciri yg akan menjadi inputan anfis sgt banyak. Anfis hanya memuat 8 ciri saja bukan? Bagaimana cara “menyiasati” si seluruh ciri agar dpt masuk menjadi inputan anfis. Terimakasi pak

    • penjelasannya sih ada di training manual (command window). grid partition make fungsi genfis1 sementara sub-clstr dengan genfis2. Genfis2 butuh data masukan dan keluaran yang terpisah seperti syaraf tiruan (saya belum pernah make).

  31. assalamualaikum.
    saya mau tanya pak, sebelum ke anfis edit berarti kita harus masukin input output di fis nya juga ya pak?
    terimakasih

  32. assalamualaikum…
    saya mau tanya pak, apakah metode ANFIS ini bisa digunakan untuk permasalahan yang memiliki banyak inputan (misal sekitar 20 inputan) ?
    Terima kasih

  33. Assalamualaikum, mau tanya. Ketika saya load bonus.fis sesuai step yg ada diatas malah ada peringatan bahwa bonus.fis tsb bukan sugeno. Padahal di posting sblmnya yg berkaitan, saya mengikuti langkah2 secara urut sama persis. Itu kenapa ya? Terimakasih banyak

  34. Assalamualaikum, saya mau tanya. Ketika saya ‘load from file’ untuk mengambil file bernama ‘bonus.fis’ yang saya buat sesuai posting ‘MEMBUAT FUZZY DGN TOOLBOX MATLAB’ , pada bagian ‘generate fis’ malah muncul tulisan ‘not a sugeno type, no fis structure is loaded’. Sudah saya coba ulang sekali lagi sesuai langkah2 dari awal tapi hasilnya muncul peringatan yang sama. Itu kenapa ya? Terimakasih banyak. Wassalamualaikum

      • Pak saya mau tanya lagi, kan anfis itu sama seperti fis tapi di train pakai ann, nah untuk ann sendiri kan bisa kita tentukan fungsi aktivasinya pakai apa, hidden layernya berapa nah untuk anfis apa ada pengaturan untuk hidden layer dan fungsi aktivasinya ? Terima kasih sebelumnya pak.

  35. Pak, saya coba bikin penelitian pengenalan wajah dengan klasifikasi memakai ANFIS. Untuk trainingnya mendapatkan akurasi 100%, tapi untuk testingnya berdasarkan data yg sudah di training hanya mendapat akurasi 40%, untuk meningkatkan akurasi testingnya bagaimana ya pak ? Soalnya trainingnya udh bagus banget tapi pas testingnya malah beda jauh. Mohon sarannya pak. Terima kasih

    • training itu nguji berdasarkan data training. jika data training kurang mewakili kondisi real ya bisa drop akurasinya ketika testing. kalau bisa seluruh jangkauan kondisi diwakili saat training.

  36. Pak kalau boleh tau, pengerjaan inference pada anfis itu di layer berapa ya pak?, kebetulan penelitian saya menggunakan M-Anfis, dan saya harus melakukan perhitungan manual untuk anfis, cuma saya tidak tahu pengerjaan untuk inference(min-max) nya itu di layer berapa, soalnya minim sekali jurnal yang saya temui yang membahas anfis menggunakan mamdani (m-anfis)..

    • Di buku teori pertama-tama kuasai dulu prinsip AND dan OR. Setelah itu bagaimana cara menjumlahkan (TOTAL). Terakhir yang ter-cape adalah menentukan keluaran dari titik beratnya (kalo boleh pilih cari MFs yang linear/garis lurus). Apalagi jika menggunakan metode titik tengah lebih enak.

  37. Assalamualaikum pak saya ciptya saya mahasiswa semester tua, saya juga pake anfis. Nah yg saya bingungkab adalah menentukan fungsi keanggotaan itu bagaimana ya parameter untuk menentukan fungsi keanggotaan yg pas itu bagaimana ? Saya juga mau tanya clustering yg bermacam macam itu hubungan di anfisnya apa ya pak ? Terimakasih sebelumnya

    • * menentukan fungsi keanggotaan yg pas agak sulit. ada 2 jenis, linear (purelin, segitiga,dll) dan nonlinear (gauss, bell, dkk). lihat kasusnya saja, tajam/tidak perbedaan antara satu kelas dengan kelas lainnya.
      * clustering itu kan unsupervised, beda dengan anfis/fis. kecuali fcm dimana clustering dengan menerapkan prinsip fuzzy.

  38. assalamualiakum pak nama saya Suryani saya semester 5 di salah satu universitas di medan,
    saya menggunakan metode ANFIS untuk tugas KP saya pak ,
    saya ingin bertanya pak ?
    saya menggunakan metode anfis untuk Deteksi Pengaruh Aromatik Dan Nonaromatik Terhadap Kualitas Tidur, saya masih binggung tentang cara metrening data dalam GUI di Matlab,apakah bapak bisa menjelaskan sedikit tentang cara metrening data di matlab pak ?

  39. Selamat malam Pak, saya ada beberapa pertanyaan, mau minta bimbingannya.
    1.Saya sedang mebuat analisa hasil perbandingan FIS mamdani dan FIS sugeno. yag masih saya bingung adalah membuat FIS sugeno. kalau FIS mamdaninya suda bisa pak..untuk sugeno apakah saya harus membuat dari awal seperti membuat mamdani ? Mohon Pencerahannya.
    2. untuk konstanta pada metode sugeno itu didapatkan dari mana pak?

    Terimakasih

    • mamdani lebih sulit dari sugeno. sugeno termudah itu membuat satu persamaan garis utk keluaran tertentu, misal z=2, z=3, dst. Yg agak rumit keluarannya persamaan garis, misal z=2.x, z=3x, dst.
      2. Konstanta itu hasil pelatihan berdasarkan input dan target (konstanta berarti tipe yg bukan pers garis/linear.

  40. Malam Pak, apakah ada suatu metode yang dapat digunakan untuk mengubah kontroler pid ke ANFIS dalam simulin di matlab? terimakasih

    • saya belum pernah lihat, kalau PID ingin diganti ANFIS dengan hasil yang mirip, tinggal latih saja dengan data input-output/target dari PID

  41. Selamat malam Pak. Saya sedang merancang sebuah aplikasi berbasis web dengan menggunakan jaringan ANFIS. Untuk algoritmanya saya merancang berkaca pada buku ANFISnya Jang. Penentuan derajat keanggotaanya menggunakan Fuzzy C-Means yang kemudian dijadikan paramater awal, pada tahap penentuan parameter premisnya yang dimana menggunakan LSE malah digunakan RLSE. Apakah untuk penentuan paramater premisnya bisa menggunakan LSE langsung atau harus Recursive LSE? Lalu pada pemodelan inputnya bagaimana? Saya menggunakan data time series. Kebetulan aplikasi yang saya rancang telah jadi dan menghasilkan nilai akurasi 99,00..% dimana tersebut menggunakan LSE. Domain ANFISnya saya menggunakan kurs data time series untuk prediksi. Tks..

    • lse recursive biasanya untuk mempercepat training (maju). Kasus time-series unik, pastikan akurasi yang 99.00% bisa memprediksi data yang tumbuh di luar range pelatihan.

      • Maaf Pak saya kurang paham kenapa harus memakai RLSE bukannya LSE. Lalu kemudian untuk pemodelan inputannya bagaimana? Pada umumnya menggunakan 2 input dan 1 output? Adakah dasar teorinya? Sejauh yang saya pahami masih menggunakan pemodelan data dengan PACF dan ACF.

  42. Selamat malam Pak, saya Lily. Seorang mahasiswi semester 8. Saya memiliki Tugas Akhir untuk memprediksi jumlah stok obat. Saya ingin bertanya Pak, bagaimana cara mendapatkan output (mean dan standar deviasi) dari FCM clustering untuk digunakan pada ANFIS dalam MATLAB? Terima kasih Pak.

  43. Selamat malam pak,
    Saya ingin bertanya
    1. apakah bapak pernah mencoba time series forecasting ARIMA dengan matlab
    atau bapak memiliki referensi tentang itu
    2. apakah bapak memiliki tutorial atau referensu membuat ANFIS dengan code tanpa ANFIS GUI?

    • 1. pernah baca doang, ARIMA ada kelemahan dan kelebihan.
      2. tidak punya, paling dari ebook. tanpa GUI gunakan saja FIS. untuk trainingnya mirip JST hanya ANFIS lebih rumit saja.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s