Moving Average Forecasting Pendahuluan. Seperti yang Anda duga, kita melihat beberapa pendekatan paling primitif terhadap peramalan. Tapi mudah-mudahan ini setidaknya merupakan pengantar yang berharga untuk beberapa masalah komputasi yang terkait dengan penerapan prakiraan di spreadsheet. Dalam vena ini kita akan melanjutkan dengan memulai dari awal dan mulai bekerja dengan Moving Average prakiraan. Moving Average Forecasts. Semua orang terbiasa dengan perkiraan rata-rata bergerak terlepas dari apakah mereka yakin itu. Semua mahasiswa melakukannya setiap saat. Pikirkan nilai tes Anda di kursus di mana Anda akan menjalani empat tes selama semester ini. Mari kita asumsikan Anda mendapatkan 85 pada tes pertama Anda. Apa yang akan Anda perkirakan untuk skor tes kedua Anda Menurut Anda apa yang akan diprediksikan oleh guru untuk mendapatkan skor tes berikutnya? Menurut Anda, apa perkiraan teman Anda untuk memprediksi skor tes berikutnya? Menurut Anda, apa yang diprediksi orang tua Anda untuk skor tes berikutnya? Semua blabbing yang mungkin Anda lakukan terhadap teman dan orang tua Anda, mereka dan gurumu sangat mengharapkan Anda untuk mendapatkan sesuatu dari area yang Anda dapatkan. Nah, sekarang mari kita asumsikan bahwa meskipun promosi diri Anda ke teman Anda, Anda terlalu memperkirakan perkiraan Anda dan membayangkan bahwa Anda dapat belajar lebih sedikit untuk tes kedua dan Anda mendapatkan nilai 73. Sekarang, apa yang menarik dan tidak peduli? Mengantisipasi Anda akan mendapatkan pada tes ketiga Ada dua pendekatan yang sangat mungkin bagi mereka untuk mengembangkan perkiraan terlepas dari apakah mereka akan berbagi dengan Anda. Mereka mungkin berkata pada diri mereka sendiri, quotThis guy selalu meniup asap tentang kecerdasannya. Dia akan mendapatkan yang lain lagi jika dia beruntung. Mungkin orang tua akan berusaha lebih mendukung dan berkata, quotWell, sejauh ini Anda sudah mendapatkan nilai 85 dan angka 73, jadi mungkin Anda harus memikirkan tentang (85 73) 2 79. Saya tidak tahu, mungkin jika Anda kurang berpesta Dan werent mengibaskan musang seluruh tempat dan jika Anda mulai melakukan lebih banyak belajar Anda bisa mendapatkan skor yang lebih tinggi. quot Kedua perkiraan ini sebenarnya bergerak perkiraan rata-rata. Yang pertama hanya menggunakan skor terbaru untuk meramalkan kinerja masa depan Anda. Ini disebut perkiraan rata-rata bergerak menggunakan satu periode data. Yang kedua juga merupakan perkiraan rata-rata bergerak namun menggunakan dua periode data. Mari kita asumsikan bahwa semua orang yang menghina pikiran besar ini membuat Anda kesal dan Anda memutuskan untuk melakukannya dengan baik pada tes ketiga karena alasan Anda sendiri dan untuk memberi nilai lebih tinggi di depan kuotasi Anda. Anda mengikuti tes dan nilai Anda sebenarnya adalah 89 Setiap orang, termasuk Anda sendiri, terkesan. Jadi sekarang Anda memiliki ujian akhir semester yang akan datang dan seperti biasa Anda merasa perlu mendorong setiap orang untuk membuat prediksi tentang bagaimana Anda melakukannya pada tes terakhir. Nah, semoga anda melihat polanya. Nah, semoga anda bisa melihat polanya. Yang Anda percaya adalah Whistle paling akurat Sementara Kami Bekerja. Sekarang kita kembali ke perusahaan pembersih baru kita yang dimulai oleh saudara tirimu yang terasing bernama Whistle While We Work. Anda memiliki beberapa data penjualan terakhir yang ditunjukkan oleh bagian berikut dari spreadsheet. Kami pertama kali mempresentasikan data untuk perkiraan rata-rata pergerakan tiga periode. Entri untuk sel C6 harus Sekarang Anda dapat menyalin formula sel ini ke sel lain C7 sampai C11. Perhatikan bagaimana rata-rata pergerakan data historis terbaru namun menggunakan tiga periode paling terakhir yang tersedia untuk setiap prediksi. Anda juga harus memperhatikan bahwa kita benar-benar tidak perlu membuat ramalan untuk periode sebelumnya untuk mengembangkan prediksi terbaru kita. Ini jelas berbeda dengan model smoothing eksponensial. Ive menyertakan prediksi quotpast karena kami akan menggunakannya di halaman web berikutnya untuk mengukur validitas prediksi. Sekarang saya ingin menyajikan hasil yang analog untuk ramalan rata-rata pergerakan dua periode. Entri untuk sel C5 harus Sekarang Anda dapat menyalin formula sel ini ke sel lain melalui C6 C6. Perhatikan bagaimana sekarang hanya dua buah data historis terakhir yang digunakan untuk setiap prediksi. Sekali lagi saya telah menyertakan prediksi quotpast untuk tujuan ilustrasi dan untuk nanti digunakan dalam validasi perkiraan. Beberapa hal lain yang perlu diperhatikan. Untuk perkiraan rata-rata pergerakan m-m, hanya m data terakhir yang digunakan untuk membuat prediksi. Tidak ada hal lain yang diperlukan. Untuk perkiraan rata-rata pergerakan m-period, saat membuat prediksi quotpast predictququot, perhatikan bahwa prediksi pertama terjadi pada periode m 1. Kedua masalah ini akan sangat signifikan saat kita mengembangkan kode kita. Mengembangkan Fungsi Bergerak Rata-rata. Sekarang kita perlu mengembangkan kode ramalan rata-rata bergerak yang bisa digunakan lebih fleksibel. Kode berikut. Perhatikan bahwa masukan adalah untuk jumlah periode yang ingin Anda gunakan dalam perkiraan dan rangkaian nilai historis. Anda bisa menyimpannya dalam buku kerja apa pun yang Anda inginkan. Fungsi MovingAverage (Historis, NumberOfPeriods) Sebagai Single Declaring dan variabel inisialisasi Dim Item Sebagai Variant Dim Counter Sebagai Akumulasi Dim Integer Sebagai Single Dim HistoricalSize As Integer Inisialisasi variabel Counter 1 Akumulasi 0 Menentukan ukuran array historis HistoricalSize Historical. Count Untuk Counter 1 To NumberOfPeriods Mengumpulkan jumlah yang sesuai dari nilai yang teramati terakhir yang terakhir Akumulasi Akumulasi Historis (HistoricalSize - NumberOfPeriods Counter) MovingAverage Accumulation NumberOfPeriods Kode akan dijelaskan di kelas. Anda ingin memposisikan fungsi pada spreadsheet sehingga hasil perhitungan muncul di tempat yang seharusnya seperti berikut. Mari kita bayangkan kita memiliki array bilangan bulat seperti ini: Rata-rata diperoleh dengan rumus A berikut (1n) xi (dengan I 1 sampai n). Jadi: x1n x2n. Xnn Kami membagi nilai saat ini dengan jumlah nilai dan menambahkan hasil sebelumnya ke nilai yang dikembalikan. Penandaan metode yang dikurangi adalah The reduce callback function mengambil parameter berikut: hlm. Hasil perhitungan sebelumnya c. Nilai sekarang (dari indeks saat ini) i. Arus elemen array nilai indeks a. Array yang dikurangi saat ini Parameter pengurang kedua adalah nilai default. (Digunakan jika array kosong). Jadi rata-rata metode pengurangannya adalah: Jika Anda lebih suka Anda bisa membuat fungsi terpisah. Dan, cukup merujuk pada metode callback signature Atau Augment the Array prototipe secara langsung. Kemungkinan untuk membagi nilai setiap kali mengurangi metode disebut. Atau bahkan lebih baik lagi. Menggunakan metode Array. protoype. sum () yang telah ditentukan sebelumnya, optimalkan proses yang saya panggil pembagiannya hanya sekali :) Kemudian pada objek Array dalam lingkup: NB: sebuah array kosong dengan mengembalikan harapan NaN lebih benar dari pada 0 di Sudut pandang dan dapat berguna dalam penggunaan spesifik alat caseputational Analogously, DataFrame memiliki metode cov untuk menghitung kovarian pairwise di antara rangkaian di DataFrame, juga mengecualikan nilai NAnull. Dengan asumsi data yang hilang hilang secara acak, ini menghasilkan perkiraan matriks kovariansi yang tidak bias. Namun, untuk banyak aplikasi perkiraan ini mungkin tidak dapat diterima karena matriks kovariansi yang diperkirakan tidak dijamin bersifat semi-pasti positif. Hal ini dapat menyebabkan korelasi yang diperkirakan memiliki nilai absolut yang lebih besar dari satu, dan atau matriks kovariansi yang tidak dapat dibalik. Lihat Estimasi matriks kovarian untuk lebih jelasnya. DataFrame. cov juga mendukung kata kunci minperiod opsional yang menentukan jumlah pengamatan minimum yang diperlukan untuk setiap pasangan kolom agar memiliki hasil yang valid. Bobot yang digunakan di jendela ditentukan oleh kata kunci wintype. Daftar tipe yang dikenali adalah: boxcar triang blackman hamming bartlett parzen bohman blackmanharris nuttall barthann kaiser (kebutuhan beta) gaussian (kebutuhan std) generalgausia (butuh daya, lebar) slepian (kebutuhan lebar). Perhatikan bahwa jendela boxcar setara dengan mean (). Untuk beberapa fungsi windowing, parameter tambahan harus ditentukan: Untuk. sum () dengan wintype. Tidak ada normalisasi yang dilakukan pada bobot jendela. Melewati bobot kebiasaan 1, 1, 1 akan menghasilkan hasil yang berbeda dari pada bobot yang di atas 2, 2, 2. misalnya. Ketika melewati sebuah wintype dan bukan secara eksplisit menentukan bobotnya, bobotnya sudah dinormalisasi sehingga bobot terbesar adalah 1. Sebaliknya, sifat perhitungan. mean () adalah sedemikian rupa sehingga bobotnya dinormalisasi satu sama lain. Bobot 1, 1, 1 dan 2, 2, 2 menghasilkan hasil yang sama. Time-aware Rolling New di versi 0.19.0. Baru di versi 0.19.0 adalah kemampuan untuk melewatkan offset (atau konversi) ke metode. rolling () dan memilikinya menghasilkan jendela berukuran variabel berdasarkan jendela waktu yang berlalu. Untuk setiap titik waktu, ini mencakup semua nilai sebelumnya yang terjadi dalam delta waktu yang ditunjukkan. Ini bisa sangat berguna untuk indeks frekuensi waktu non-reguler. Ini adalah indeks frekuensi reguler. Menggunakan parameter jendela integer bekerja untuk memutar sepanjang frekuensi jendela. Menentukan offset memungkinkan spesifikasi frekuensi rolling yang lebih intuitif. Menggunakan indeks non-reguler, namun masih monoton, bergulir dengan jendela integer tidak memberikan perhitungan khusus. Menggunakan spesifikasi waktu menghasilkan jendela variabel untuk data yang jarang ini. Selanjutnya, sekarang kami mengizinkan parameter opsional untuk menentukan kolom (bukan default indeks) di DataFrame. Time-aware Rolling vs. Resampling Menggunakan. rolling () dengan indeks berbasis waktu sangat mirip dengan resampling. Mereka berdua mengoperasikan dan melakukan operasi reduktif pada objek panda yang diindeks dengan waktu. Bila menggunakan. rolling () dengan offset. Offset adalah waktu-delta. Ambil jendela belakang mundur, dan agregat semua nilai di jendela itu (termasuk titik akhir, tapi bukan titik awal). Ini adalah nilai baru pada saat itu hasilnya. Ini adalah jendela berukuran variabel dalam ruang waktu untuk setiap titik masukan. Anda akan mendapatkan hasil ukuran yang sama seperti input. Bila menggunakan. resample () dengan offset. Buatlah indeks baru yang merupakan frekuensi offset. Untuk setiap bin frekuensi, titik agregat dari input dalam jendela mencari mundur yang pada waktu itu berada dalam bin itu. Hasil agregasi ini adalah output untuk titik frekuensi tersebut. Jendela adalah ukuran ukuran tetap di ruang frekuensi. Hasil Anda akan memiliki bentuk frekuensi reguler antara min dan max dari objek masukan asli. Untuk meringkas. Rolling () adalah operasi jendela berbasis waktu, sementara. resample () adalah operasi jendela berbasis frekuensi. Memusatkan Windows Secara default label disetel ke tepi kanan jendela, namun kata kunci tengah tersedia sehingga labelnya dapat disetel di tengahnya. Fungsi Binary Window cov () dan corr () dapat menghitung statistik window bergerak sekitar dua Series atau kombinasi DataFrameSeries atau DataFrameDataFrame. Inilah perilaku dalam setiap kasus: dua Seri. Hitung statistik untuk pemasangan. DataFrameSeries. Hitung statistik untuk setiap kolom DataFrame dengan Seri yang dilewati, sehingga mengembalikan DataFrame. DataFrameDataFrame. Secara default hitung statistik untuk mencocokkan nama kolom, mengembalikan DataFrame. Jika kata kunci argumen pairwiseTrue dilewatkan maka hitung statistik untuk setiap pasangan kolom, mengembalikan Panel yang itemnya adalah tanggal yang dimaksud (lihat bagian selanjutnya). Computing rolling pairwise covariances and correlations Dalam analisis data keuangan dan bidang lainnya, hal itu umum untuk menghitung matriks kovarians dan korelasi untuk kumpulan deret waktu. Seringkali seseorang juga tertarik pada kovarians bergerak-jendela dan matriks korelasi. Hal ini dapat dilakukan dengan melewatkan argumen kata kunci berpasangan, yang jika input DataFrame akan menghasilkan Panel yang itemnya adalah tanggal yang dimaksud. Dalam kasus argumen DataFrame tunggal argumen berpasangan bahkan dapat diabaikan: Nilai yang hilang diabaikan dan setiap entri dihitung dengan menggunakan pengamatan lengkap berpasangan. Silakan lihat bagian kovarian untuk peringatan yang terkait dengan metode penghitungan kovarians dan matriks korelasi ini. Selain tidak memiliki parameter jendela, fungsi ini memiliki antarmuka yang sama dengan rekan mereka. rolling. Seperti di atas, parameter yang mereka terima adalah: minperiods. Ambang data non-null diperlukan. Default ke minimum yang dibutuhkan untuk menghitung statistik. Tidak ada NaN yang akan menjadi output setelah titik data non-null minperiod terlihat. pusat. Boolean, apakah untuk mengatur label di bagian tengah (default adalah False) Output dari metode. rolling dan. expanding tidak mengembalikan NaN jika setidaknya ada nilai minperiods non-null di jendela aktif. Ini berbeda dari cumsum. Cumprod Cummax Dan cummin. Yang mengembalikan NaN ke output dimanapun NaN ditemui di input. Statistik jendela yang meluas akan lebih stabil (dan kurang responsif) daripada penggabungan window rolling karena meningkatnya ukuran jendela akan mengurangi dampak relatif dari titik data individual. Sebagai contoh, berikut ini adalah mean () output untuk dataset seri waktu sebelumnya: Windows yang tertimbang secara eksponensial Satu set fungsi yang terkait adalah versi tertimbang secara eksponensial dari beberapa statistik di atas. Antarmuka yang serupa dengan. rolling dan. expanding diakses melalui metode. ewm untuk menerima objek EWM. Sejumlah metode EW (exponentially weighted) yang berkembang juga disediakan:
No comments:
Post a Comment