Saya punya banyak data deret waktu - ketinggian dan kecepatan air vs waktu. Ini adalah output dari simulasi model hidrolik. Sebagai bagian dari proses peninjauan untuk mengonfirmasi bahwa model berkinerja seperti yang diharapkan, saya harus merencanakan setiap rangkaian waktu untuk memastikan bahwa tidak ada "goyangan" dalam data (lihat contoh goyangan kecil di bawah). Menggunakan UI perangkat lunak pemodelan adalah cara yang cukup lambat dan melelahkan untuk memeriksa data ini. Karena itu saya telah menulis makro VBA singkat untuk mengimpor berbagai bit data dari model termasuk hasil ke Excel dan plot semuanya sekaligus. Saya berharap dapat menulis makro VBA pendek lain untuk menganalisis data deret waktu dan menyoroti bagian mana pun yang dicurigai.
Satu-satunya pemikiran saya sejauh ini adalah bahwa saya bisa melakukan beberapa analisis pada kemiringan data. Di mana pun lereng cepat berubah dari positif ke negatif beberapa kali dalam jendela pencarian yang diberikan dapat digolongkan tidak stabil. Apakah saya melewatkan trik yang lebih sederhana? Pada dasarnya, simulasi "stabil" harus memberikan kurva yang sangat halus. Perubahan mendadak apa pun kemungkinan merupakan hasil dari ketidakstabilan dalam perhitungan.
sumber
Jawaban:
Detail dari smooth tidak terlalu penting. Dalam contoh ini loess sebuah halus (dilaksanakan
R
sebagailoess
denganspan=0.05
melokalisasi itu) digunakan, tetapi bahkan berjendela berarti harus dilakukan dengan baik. Untuk menghaluskan residu absolut, saya menjalankan rata-rata berjendela 17 (sekitar 24 menit) diikuti oleh median berjendela. Smoothing berjendela ini relatif mudah diimplementasikan di Excel. Implementasi VBA yang efisien (untuk versi Excel yang lebih lama, tetapi kode sumber harus bekerja bahkan dalam versi baru) tersedia di http://www.quantdec.com/Excel/smoothing.htm .R
Kodesumber