Purata Pergerakan Numpy

Purata Pergerakan Numpy



Sebelum memulakan topik kita, mari kita fahami apa itu purata bergerak. Dalam statistik, purata bergerak ialah teknik untuk mengira dan menganalisis titik data. Ia mengira titik data dengan membuat satu siri purata subset berbeza daripada set data penuh. Jadi, purata bergerak ialah ukuran yang menangkap perubahan biasa dalam siri maklumat dari semasa ke semasa. Bergerak ialah salah satu penunjuk analisis teknikal yang paling fleksibel dan kerap digunakan. Memandangkan ia sangat mudah untuk digunakan, pelabur profesional menggunakannya sebagai cara set data tertentu dalam statistik. Kami juga boleh mengira purata bergerak dalam tempoh yang lebih singkat dengan menggunakannya pada data harian atau minit. Contohnya: Apabila menentukan purata bergerak 10 hari, dalam contoh kami, kami hanya akan merumuskan harga penutup daripada salah satu daripada sepuluh sebelumnya hari dan bahagikan hasilnya dengan sepuluh. Pada hari berikutnya, kami juga akan mengira harga dalam sepuluh hari terakhir yang bermaksud kami tidak akan mengira harga hari pertama. Ia lebih suka digantikan dengan harga kami semalam. Data berubah dalam cara ini dengan setiap hari bergerak, ia dikenali sebagai purata bergerak atas sebab ini. Tujuan purata bergerak adalah untuk menentukan permulaan arah aliran, kemudian ikuti kemajuannya dan juga melaporkan pembalikannya sekiranya ia berlaku. Formula untuk mengira purata bergerak ialah Ft = (Dt1+Dt2+Dt3…+Dtn)/n. Di mana Dt ialah Permintaan dalam tempoh t dan Ft ialah Ramalan dalam masa t.

Sintaks:

Kita boleh mengira purata bergerak dalam pelbagai cara seperti berikut:

Kaedah 1:

NumPy. merangkap ( )

Ia mengembalikan jumlah elemen dalam tatasusunan yang diberikan. Kita boleh mengira purata bergerak dengan membahagikan output cumsum() dengan saiz tatasusunan.







Kaedah 2:

NumPy. dan . purata ( )

Ia mempunyai parameter berikut.



a: data dalam bentuk tatasusunan yang hendak dipuratakan.



paksi: jenis datanya ialah int dan ia adalah parameter pilihan.





berat: ia juga merupakan tatasusunan dan parameter pilihan. Ia boleh mempunyai bentuk yang sama seperti bentuk 1-D. Dalam kes satu dimensi, ia mesti mempunyai panjang yang sama dengan tatasusunan 'a'.

Ambil perhatian bahawa nampaknya tiada fungsi standard dalam NumPy untuk mengira purata bergerak supaya ia boleh dilakukan dengan beberapa kaedah lain.



Kaedah 3:

Kaedah lain yang boleh digunakan untuk mengira purata bergerak ialah:

cth. berbelit ( a , dalam , mod = 'penuh' )

Dalam sintaks ini, a ialah dimensi input pertama dan v ialah nilai dimensi input kedua. Mod ialah nilai pilihan, ia boleh penuh, sama dan sah.

Contoh # 01:

Sekarang, untuk menerangkan lebih lanjut mengenai purata bergerak dalam Numpy mari kita berikan satu contoh. Dalam contoh ini, kami akan mengeluarkan purata bergerak tatasusunan dengan fungsi berbelit NumPy. Jadi, kita akan mengambil tatasusunan 'a' dengan 1,2,3,4,5 sebagai elemennya. Sekarang, kami akan memanggil fungsi np.convolve dan menyimpan outputnya dalam pembolehubah 'b' kami. Selepas itu, kami akan mencetak nilai pembolehubah kami 'b'. Fungsi ini akan mengira jumlah bergerak tatasusunan input kami. Kami akan mencetak output untuk melihat sama ada output kami betul atau tidak.

Selepas itu, kami akan menukar output kami kepada purata bergerak menggunakan kaedah berbelit yang sama. Untuk mengira purata bergerak, kita hanya perlu membahagikan jumlah bergerak dengan bilangan sampel. Tetapi masalah utama di sini ialah kerana ini adalah purata bergerak, bilangan sampel terus berubah bergantung pada lokasi di mana kita berada. Jadi, untuk menyelesaikan isu itu, kami hanya akan membuat senarai penyebut dan kami perlu mengubahnya menjadi purata.

Untuk tujuan itu, kami telah memulakan satu lagi 'denomen' pembolehubah untuk penyebut. Ia adalah mudah untuk pemahaman senarai menggunakan helah julat. Tatasusunan kami mempunyai lima elemen berbeza jadi bilangan sampel di setiap tempat akan berubah dari satu kepada lima dan kemudian turun dari lima kepada satu. Jadi, kami hanya akan menambah dua senarai bersama-sama dan kami akan menyimpannya dalam parameter 'denom' kami. Sekarang, kita akan mencetak pembolehubah ini untuk menyemak sama ada sistem telah memberikan kita penyebut sebenar atau tidak. Selepas itu, kami akan membahagikan jumlah bergerak kami dengan penyebut dan mencetaknya dengan menyimpan output dalam pembolehubah 'c'. Marilah kami melaksanakan kod kami untuk menyemak keputusan.

import numpy sebagai cth.

a = [ 1 , dua , 3 , 4 , 5 ]

b = cth. berbelit ( a , cth. yang_suka ( a ) )

cetak ( 'Jumlah Bergerak' , b )

nama = senarai ( julat ( 1 , 5 ) ) + senarai ( julat ( 5 , 0 , - 1 ) )

cetak ( 'Penyebut' , nama )

c = cth. berbelit ( a , cth. yang_suka ( a ) ) / nama

cetak ( 'Purata Pergerakan' , c )

Selepas pelaksanaan kod kami berjaya, kami akan mendapat output berikut. Dalam baris pertama, kami telah mencetak 'Jumlah Bergerak'. Kita dapat melihat bahawa kita mempunyai '1' pada permulaan dan '5' pada akhir tatasusunan, sama seperti yang ada dalam tatasusunan asal kami. Selebihnya nombor adalah hasil tambah bagi elemen yang berbeza dalam tatasusunan kami.

Sebagai contoh, enam pada indeks ketiga tatasusunan datang daripada menambah 1,2, dan 3 daripada tatasusunan input kami. Sepuluh pada indeks keempat datang daripada 1,2,3 dan 4. Lima belas datang daripada menjumlahkan semua nombor bersama-sama, dan seterusnya. Sekarang, dalam baris kedua output kami, kami telah mencetak penyebut tatasusunan kami.

Daripada output kami, kami dapat melihat bahawa semua penyebut adalah tepat, yang bermaksud bahawa kami boleh membahagikannya dengan tatasusunan jumlah bergerak kami. Sekarang, beralih ke baris terakhir output. Dalam baris terakhir, kita dapat melihat bahawa elemen pertama Tatasusunan Purata Bergerak kami ialah 1. Purata 1 ialah 1 jadi elemen pertama kami adalah betul. Purata 1+2/2 ialah 1.5. Kita dapat melihat bahawa elemen kedua tatasusunan keluaran kami ialah 1.5 jadi purata kedua juga betul. Purata 1,2,3 ialah 6/3=2. Ia juga menjadikan output kami betul. Oleh itu, daripada output, kita boleh mengatakan bahawa kita telah berjaya mengira purata bergerak tatasusunan.

Kesimpulan

Dalam panduan ini, kami mempelajari tentang purata bergerak: apakah purata bergerak, apakah kegunaannya dan cara mengira purata bergerak. Kami mempelajarinya secara terperinci dari sudut pandangan matematik dan pengaturcaraan. Dalam NumPy, tiada fungsi atau proses khusus untuk mengira purata bergerak. Tetapi terdapat fungsi lain yang berbeza dengan bantuan yang mana kita boleh mengira purata bergerak. Kami membuat contoh untuk mengira purata bergerak dan menerangkan setiap langkah contoh kami. Purata bergerak ialah pendekatan yang berguna untuk meramalkan hasil masa hadapan dengan bantuan data sedia ada.