Apakah ada cara untuk memaksimalkan / meminimalkan fungsi kustom di R?

18

Saya mencoba meminimalkan fungsi khusus. Ini harus menerima lima parameter dan kumpulan data dan melakukan segala macam perhitungan, menghasilkan angka tunggal sebagai output. Saya ingin menemukan kombinasi lima parameter input yang menghasilkan output terkecil dari fungsi saya.

pengguna333
sumber

Jawaban:

23

Saya menulis posting yang menggunakan beberapa tutorialoptim .

Berikut ini kutipan dari bagian yang relevan:

  • "Kombinasi fungsi R optimdan fungsi objektif yang dibuat khusus, seperti fungsi kemungkinan log-kurang menyediakan alat yang kuat untuk estimasi parameter model kustom.
  • Jeromy Anglim
    sumber
    1
    Akhir-akhir ini saya telah bermain dengan DEoptim sebagai pengoptimal "tidak ada poin mulai" yang bagus.
    Mike Lawrence
    1
    Posting baru-baru ini dari John Myles White pada perintah optim di R mungkin juga menarik .
    Andy W
    @ Mike setuju; DEoptim memberikan alternatif yang lebih kuat (DE = Diferensial Evolusi)
    Abe
    12

    Selain jawaban Jeromy Anglim, saya memiliki beberapa tautan lagi.

    Di samping optimada fungsi lain dalam basis R yang memungkinkan untuk apa yang Anda inginkan: nlminb. Periksa ?nlminbdan ?optimuntuk contoh penggunaannya.

    Ada banyak paket yang bisa melakukan optimasi. Apa yang saya temukan paling menarik adalah paket optimx dan, cukup baru, paket neldermead untuk berbagai versi algoritma simpleks.

    Selain itu, Anda mungkin ingin melihat CRAN Task View on Optimization untuk paket lainnya

    Harap perhatikan bahwa semua rekomendasi saya menganggap Anda memiliki fungsi deterministik (yaitu, tidak ada derau acak). Untuk fungsi yang tidak sepenuhnya deterministik (atau terlalu besar), Anda perlu menggunakan algoritma seperti annealing yang disimulasikan atau algoritma genetika. Tetapi Tampilan Tugas CRAN harus memiliki apa yang Anda butuhkan.

    Henrik
    sumber
    1

    Apakah fungsi Anda berkelanjutan dan dapat dibedakan? Anda mungkin dapat menggunakan optim, baik dengan turunan yang disediakan pengguna atau yang diperkirakan secara numerik.

    grg s
    sumber