Programming,
Bagaimana cara membuatnya?
- Pertama kita perlu membuat forward operator-nya yang dapat dilihat di appendix[1]. Ternyata simpel ya?
- Lalu, membuat matriks Jacobi aka Sensitivitas-nya. Apa itu matriks Jacobi? ya matriks dari fungsi forward yang seperti ini :
Ada opsi 3 metode dalam membuat matriks Jacobi [2] :
1. Adjoint equation,
2. Sensitivity equation (Appendix setelah forward MT [1]),
3. Pertubation aka Numerical method.
Inversi 1D Occam Magnetotellurik
Hello Digital World,
Beberapa waktu lalu saya sempat posting tentang nonlinearitas dari fungsi forward dalam magnetotelluric yang hasil inversinya menunjukkan multi solusi hanya dari sebuah data pengukuran. Well, kali ini saya akan mencoba membuat jenis inversi lain untuk fungsi forward magnetotelluric ini yang namanya Occam[1].
Occam ini salah satu metode inversi Linearized aka Least Square aka kelompok metode inversi ribet yang harus ngitung matriks jacobi mana sering singular nyebelin bikin inversi gagal.
Occam Inversion
Dasarnya sih mirip dengan metode Levenberg-Marquardt aka Damping Gauss-Newton. Hanya saja kita tambahkan parameter delta untuk smoothing (regulasi tikonov orde 1)[3] :
dan update parameternya :
dimana m merupakan parameter yang akan diestimasikan, J matriks jacobi, alpha adalah damping parameter dan d adalah selisih data estimasi dan data pengukuran.
- Pertama kita perlu membuat forward operator-nya yang dapat dilihat di appendix[1]. Ternyata simpel ya?
- Lalu, membuat matriks Jacobi aka Sensitivitas-nya. Apa itu matriks Jacobi? ya matriks dari fungsi forward yang seperti ini :
1. Adjoint equation,
2. Sensitivity equation (Appendix setelah forward MT [1]),
3. Pertubation aka Numerical method.
Saya sih lebih suka menggunakan yang metode numeris (karena malas membuat program analitiknya yang lebih ribet dari forwardnya haha~).
Metode numeris yang saya gunakan adalah forward difference :
Rumus dan Skemanya |
- Selesaikan rumus update parameter Occam secara iterative. Paling bagus setiap iterasi dibuat multiple damping parameter dan dipilih RMS error yang lebih kecil.
Kira-kira contoh hasilnya seperti ini untuk data sintetik :
Well, kenapa ya harus dibuat smooth ? Setelah program ini saya buat jadi sedikit dapat pencerahan maksud dari Om Constable membuat Occam. Pernah mendengar Occam's Razor ?
Dari pernyataan Occam tersebut, maksud Om Constable membuat metode Inversi Occam ini (dan mungkin asal penamaan metode inversinya juga) adalah mencari solusi paling simpel lewat bentuk model yang smooth (meskipun tidak super fit dengan data pengukuran) untuk menghindari kasus overparameterized seperti pada postingan saya sebelumnya. Maksud saya disini bukan berarti metode lain salah, tetapi metode ini merupakan salah satu opsi untuk menghindari kasus "ke-lebay-an" hasil inversi yang sedang kita tidak harapkan pada suatu pengolahan
So that's it. Lain kali saya update dengan programnya, masih belum rapi nih.
See ya,
-L
Referensi:
[1] Constable, S.C., R.L. Parker, and C.G. Constable, 1987: Occam's Inversion:
a practical algorithm for generating smooth models from EM sounding data,
Geophysics, 52, pp. 289-300.
[2] P. R. McGILLIVRAY and D. W. OLDENBURG. 1990. Methods for calculating Fréchet derivatives and sensitivities for the non-linear inverse problem: a comparative study. Geophysical Prospecting.
[3] Pei, Donghong, Ph.D. 2007. Modeling and inversion of dispersion curves of surface waves in shallow site investigations. UNIVERSITY OF NEVADA, RENO.
12 comments: