Rumus Gelombang Sinus Rekursif untuk Perhitungan Periode

Beranda » Berita Terbaru » Rumus Gelombang Sinus Rekursif untuk Perhitungan Periode

Sejak saya memuat posting Saya telah berhasil menggabungkan kotak peralatan deepmat ke dalam kode saya, jadi sekarang saya RBM penggunaan pra-pelatihan Tempering paralel dan kecepatan pembelajaran adaptif, yang semuanya baik dan bagus. Satu-satunya kekurangan saat ini adalah waktu pelatihan – dibutuhkan sekitar 3 hingga 4 menit per bar untuk berlatih pada set minimal 2 fitur karena kotak peralatan ditulis dalam Oktaf kode dan kegunaan untuk loop bukannya menggunakan vektorisasiTentu saja ini adalah sesuatu yang ingin saya optimalkan, tetapi untuk masa depan terdekat saya sekarang ingin berkonsentrasi pada rekayasa fitur dan membuat serangkaian fitur yang berguna untuk saya CRBM.

Dulu saya pernah membuat blog tentang pengukuran frekuensi/periode (misalnya di sini dan di sini ) dan dalam posting ini saya ingin berbicara tentang kemungkinan cara baru untuk menghitung periode siklus dominan dalam data. Dalam Forum Stackoverflow posting beberapa waktu lalu saya diberitahu tentang generator gelombang sinus rekursif, dengan kode, yang menunjukkan cara membuat gelombang sinus maju hanya dengan menggunakan beberapa nilai terakhir dari gelombang sinus. Saya tersadar bahwa kode tersebut dapat digunakan, dengan tiga nilai terakhir dari gelombang sinus, untuk menghitung periode gelombang sinus menggunakan regresi linier sederhana, dan dalam kotak kode di bawah ini saya memberikan beberapa Oktaf kode yang menunjukkan ide dasar.

clear all

% sine wave periods
period = input( 'Enter period: ' )
period2 = input( 'Enter period2: ' )

true_periods = [ ones( 6*period , 1 ) .* period ; ones( 3*period2 , 1 ) .* period2 ; ones( 3*period , 1 ) .* period ] ;

% create sine wave and add some noise
price = awgn( 1 .* ( 2 .+ [ sinewave( 6*period , period )' ; sinewave( 3*period2 , period2 )' ; sinewave( 3*period , period )' ] ) , 100 ) ;

% extract the signal
hp = highpass_filter_basic( price ) ;

% smooth the signal
smooth = smooth_2_5( hp ) ;

Y = smooth .+ shift( smooth , 2 ) ;
X = shift( smooth , 1 ) ;

calculated_periods = zeros( size ( price ) ) ;

% do the linear regression
for ii = 50 : size( price , 1 )
calculated_periods(ii) = ( ( X( ii-4:ii , : )' * X( ii-4:ii , : ) )  X( ii-4:ii , : )' ) * Y( ii-4:ii , : ) ;
end

% get the periods from regression calculations
calculated_periods = real( sqrt( ( 8 .- 4 .* calculated_periods ) ./ ( calculated_periods .+ 2 ) ) ) ;
calculated_periods = 360 ./ ( ( calculated_periods .* 180 ) ./ pi ) ;
calculated_periods = ema( calculated_periods , 3 ) ;
calculated_periods = round( calculated_periods ) ;

figure(1) ; plot( price , 'b' , "linewidth" , 2 , hp , 'r' , "linewidth" , 2 , smooth , 'g' , "linewidth" , 2 ) ; legend( 'Price' , 'Highpass' , 'Highpass smooth' ) ;
figure(2) ; plot( true_periods , 'b' , "linewidth" , 2 , calculated_periods , 'r' , "linewidth", 2 ) ; legend( 'True Periods' , 'Calculated Periods' ) ;

Kode tersebut menciptakan gelombang sinus dengan dua periode (ditentukan pengguna), melakukan perhitungan, lalu memplot gelombang sinus dan periode masing-masing pada gambar 1 dan 2. Bagian regresi linier dari kode tersebut menggunakan lima batang terbaru untuk perhitungan, yang tentu saja juga dapat ditentukan pengguna. Pada data tanpa gangguan tambahan, plot tipikal adalah:-

yang menunjukkan “harga” yang mendasarinya dalam warna biru dan versi yang difilter dan dihaluskan dengan warna merah dan hijau dan

menunjukkan periode yang sebenarnya dan terukur. Versi harga yang tidak jelas dari yang di atas adalah :-

dan

Secara teori tampaknya berhasil, tetapi saya ingin melihat apakah ada yang bisa diperbaiki. Nantikan informasi lebih lanjut di posting saya berikutnya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *

Penyedia Baru
binola

Broker yang
Lebih dari 2 juta bisnis
Lihat 10 Pialang Teratas

permainan

Permainan online
Lebih dari 2 juta bisnis
Lihat 10 Game Online Gratis Teratas

Game baru
Kebohongan P

$59.99 Edisi standar
28% Hemat Diskon
Lihat 10 Game Penyedia Teratas

KEPOMPONG

$24.99 Edisi standar
28% Hemat Diskon
Lihat 10 Game Penyedia Teratas

Penawaran Baru
Komisi hingga $1850 untuk pengguna aktif program afiliasi Oleh Exness

Poin Teratas © Hak Cipta 2023 | Oleh Topoin.com Media LLC.
Topoin.info adalah situs review produk, bonus, penawaran, penyedia layanan bisnis dan perusahaan terbaik dan terpercaya sepanjang masa.

Temukan lebih banyak dari Poin Teratas

Berlangganan sekarang untuk terus membaca dan mendapatkan akses ke arsip lengkap.

lanjutkan membaca