Katakanlah saya memiliki pengukuran fungsi , disampel di dengan beberapa noise, yang dapat diperkirakan oleh ekspansi deret Taylor. Apakah ada cara yang diterima untuk memperkirakan koefisien untuk ekspansi dari pengukuran saya?
Saya bisa memasukkan data ke polinomial, tapi itu tidak benar, karena untuk seri Taylor aproksimasi akan menjadi lebih baik semakin dekat Anda ke titik pusat, katakanlah x = 0. Hanya pas polinomial memperlakukan setiap titik secara merata.
Saya juga bisa memperkirakan berbagai urutan turunan pada titik ekspansi saya, tetapi kemudian saya perlu membuat keputusan tentang apa yang membedakan filter yang akan digunakan dan berapa banyak koefisien filter untuk masing-masing. Apakah filter untuk turunan yang berbeda harus saling cocok?
Jadi, adakah yang tahu metode yang sudah ada untuk ini? Penjelasan atau referensi ke makalah akan dihargai.
KLARIFIKASI
Menanggapi komentar di bawah ini, pengambilan sampel saya adalah jendela persegi panjang dari fungsi tak terbatas, yang tidak selalu terbatas pada band tetapi tidak memiliki komponen frekuensi tinggi yang kuat. Untuk lebih spesifik, saya mengukur varians dari estimator (mengukur perpindahan dalam sinyal USG medis) sebagai fungsi dari parameter estimator (tingkat deformasi atau strain dari jaringan yang mendasarinya). Saya memiliki seri Taylor teoritis untuk varians sebagai fungsi deformasi, dan ingin membandingkannya dengan apa yang saya dapatkan dari simulasi.
Contoh mainan serupa mungkin: katakanlah Anda memiliki fungsi seperti ln (x), disampel pada interval dalam x dengan beberapa noise ditambahkan. Anda tidak tahu apa fungsinya sebenarnya dan Anda ingin memperkirakan seri Taylor-nya sekitar x = 5. Jadi fungsinya halus dan perlahan bervariasi untuk suatu wilayah di sekitar titik Anda tertarik (katakanlah 2 <x <8), tetapi tidak selalu bagus di luar wilayah tersebut.
Jawabannya sangat membantu, dan beberapa jenis polinomial kuadrat-kuadrat mungkin adalah rute yang harus diambil. Apa yang akan membuat seri Taylor yang diperkirakan berbeda dari kecocokan polinomial normal, adalah bahwa Anda harus dapat mengurangi persyaratan tingkat tinggi, dan memiliki polinomial yang masih mendekati fungsi asli, hanya dalam kisaran yang lebih kecil tentang titik awal Anda.
Jadi mungkin pendekatannya adalah melakukan fit polinomial linier dengan hanya menggunakan data yang dekat dengan titik awal, diikuti oleh kuadratatik dengan sedikit lebih banyak data, kubik menggunakan sedikit lebih dari itu, dll.
Jawaban:
Alih-alih pemasangan polinomial yang tepat, Anda bisa menggunakan kuadrat-terkecil , yang akan menemukan polinomial dari urutan tertentu yang meminimalkan kesalahan kuadrat total antara fit dan yang diukur(xi,yi) berpasangan. Ini dapat membantu mengurangi efek noise pada fit.
Pengukuran yang diberikanyi dari suatu fungsi y=f(x) pada nilai domain xi (i=0,1,…,N ), pilih urutan polinomial M≤N (jika M=N , maka Anda turun untuk pemasangan polinomial yang tepat, seperti N poin secara unik menentukan M urutan polinomial). Kemudian, atur sistem persamaan yang linear dalam koefisien polinomial yang diinginkanpk :
Masalah kuadrat-terkecil dapat diselesaikan dengan mengatur pengukuran ke dalam bentuk matriks-vektor:
Solusi kuadrat-terkecil menghasilkan vektor koefisien polinomial[pM,pM−1,…,p0] yang meminimalkan kesalahan kuadrat total dalam sistem linear di atas. Solusinya dapat dihitung sebagai:
Perlu dicatat bahwa matriks(ATA)−1AT juga dikenal sebagai pseudoinverse dari matriksA . Anda kemudian dapat menggunakan vektor koefisien polinomial kuadrat-terkecilp~ untuk mengevaluasi polinomial yang lain x nilai yang Anda inginkan.
sumber
Abaikan kebisingan untuk saat ini.
Diberikann + 1 poin (xsaya,ysaya) Dimana xsaya adalah angka yang berbeda, Anda dapat, seperti yang Anda katakan, sesuai dengan jumlahnya banyak f( x ) gelar paling banyak n melalui poin-poin ini. Interpolasi lagrange, misalnya, adalah metode standar untuk ini. Namun, diyakini bahwa titik-titik tersebut sebenarnya berada pada kurvay= g( x ) dimana g( x ) belum tentu polinomial (misalnya, mungkin ex atau ( x + a ) / ( x + b ) dll.) dan Anda ingin mencari seri Taylor untuk fungsi ini g( x ) . Nah, untuk mengembangkan seri Taylor
g( x ) di sekitar x = 0 , katakanlah, membutuhkan pengetahuan tentang nilai g( 0 ) serta nilai-nilai derivatif
g( k )( x ) =dkg( x )dxk, k = 1 , 2 , ... di x = 0 , sedangkan semua yang diketahui adalah nilai g( x ) di n + 1 poin xsaya . Bahkan jika
xsaya= 0 untuk beberapa saya maka g( 0 ) diketahui, masih perlu untuk memperkirakan
g( k )( 0 ) untuk k = 1 , 2 , ...
Memperkirakan nilai turunan dari suatu fungsig( x ) di x = 0 dari nilainya g(xsaya) pada titik-titik yang dipilih adalah masalah yang dipelajari dengan baik dalam analisis numerik, dan formula yang digunakan sudah tersedia. Apa yang tidak dijelaskan secara rinci, atau lebih umum, tidak disebutkan sama sekali di sekitar formula ini, adalah bahwa formula ini diperoleh dengan memasang polinomialh ( x ) =∑khkxk ke poin yang diketahui dan memperkirakan
g( k )( 0 ) sebagai h( k )( 0 ) = k !hk . Ambil jalan lain,
Jadi, apa yang cocok dengan polinomial? Kesesuaian standar adalah interpolasi Lagrange yang berfungsi dengan baik ketika tidak ada noise, titikxsaya
ditempatkan secara merata, dan 0 adalah nilai median dari xsaya . Jika ada noise, kuadrat-terkecil cocok dengan polinomial derajatm < n
(lihat jawaban oleh JasonR
untuk detail) seringkali lebih baik, dan jika kita ingin menekankan akurasi di sekitarx = 0 , fit kuadrat tertimbang dapat digunakan. Menimbang istilah kesalahan dari titik di sekitar0 lebih dari istilah kesalahan dari jauh memaksa algoritma minimisasi untuk menghasilkan yang lebih dekat 0
dengan mengorbankan akurasi yang lebih buruk jauh dari 0 . Tentu saja, seseorang juga harus mempertahankan pilihan fungsi pembobotan terhadap penentang yang lebih memilih pembobotan yang berbeda (atau tanpa pembobotan).
Contoh: Diberikan3 poin ( - 1 ,y- 1) , ( 0 ,y0) , ( 1 ,y1) , rumus interpolasi Lagrange memberi
sumber