Misalkan saya mengikuti deret waktu non-periodik. Jelas trennya menurun dan saya ingin membuktikannya dengan beberapa tes (dengan p-value ). Saya tidak dapat menggunakan regresi linier klasik karena korelasi temporal (serial) yang kuat antar nilai.
library(forecast)
my.ts <- ts(c(10,11,11.5,10,10.1,9,11,10,8,9,9,
6,5,5,4,3,3,2,1,2,4,4,2,1,1,0.5,1),
start = 1, end = 27,frequency = 1)
plot(my.ts, col = "black", type = "p",
pch = 20, cex = 1.2, ylim = c(0,13))
# line of moving averages
lines(ma(my.ts,3),col="red", lty = 2, lwd = 2)
Apa saja pilihan saya?
r
time-series
Ladislav Naďo
sumber
sumber
frequency=1
) sedikit relevan di sini. Masalah yang lebih relevan adalah apakah Anda bersedia menentukan bentuk fungsional untuk model Anda.Jawaban:
Seperti yang Anda katakan, tren dalam contoh data Anda jelas. Jika Anda hanya ingin membenarkan fakta ini dengan uji hipotesis, selain menggunakan regresi linier (pilihan parametrik yang jelas), Anda dapat menggunakan uji Mann-Kendall non-parametrik untuk tren monotonik. Tes ini digunakan untuk
apalagi, seperti dicatat oleh Gilbert (1987), tes
Statistik uji adalah perbedaan antara perbedaan negatif dan positif di antara semua pasangan mungkin, yaituxj−xi n(n−1)/2
di mana adalah fungsi tanda . dapat digunakan untuk menghitung statistik yang mirip dengan korelasi karena berkisar dari ke , di mana tanda menunjukkan negatif, atau tren positif dan nilai dari sebanding dengan kemiringan tren.sgn(⋅) S τ −1 +1 τ
Akhirnya, Anda dapat menghitung nilai- . Untuk sampel ukuran Anda dapat menggunakan tabel nilai dikomputasi untuk nilai berbeda dan ukuran sampel yang berbeda (lihat Gilbert, 1987). Dengan sampel yang lebih besar, pertama-tama Anda harus menghitung varianp n≤10 p S S
dan kemudian menghitung statistik pengujianZMK
nilai dibandingkan dengan nilai normal standarZMK
Di utas ini Anda dapat menemukan kode R yang mengimplementasikan tes ini.
Karena statistik dibandingkan dengan semua pasangan pengamatan yang memungkinkan, alih-alih menggunakan perkiraan normal untuk nilai Anda dapat menggunakan tes permutasi yang jelas untuk kasus ini. Pertama, Anda menghitung statistik dari data Anda dan kemudian Anda mengacak data Anda secara acak beberapa kali dan menghitungnya untuk masing-masing sampel. hanyalah proporsi kasus ketika untuk tren naik atau untuk tren menurun.p S p S data ≥ S permutasi S data ≤ S permutasiS p S p Sdata≥Spermutation Sdata≤Spermutation
Gilbert, RO (1987). Metode Statistik untuk Pemantauan Pencemaran Lingkungan. Wiley, NY.
Önöz, B., & Bayazit, M. (2003). Kekuatan tes statistik untuk deteksi tren. Jurnal Turki Teknik dan Ilmu Lingkungan, 27 (4), 247-251.
sumber
Masalah yang Anda miliki "Saya tidak dapat menggunakan regresi linier klasik karena korelasi temporal (serial) yang kuat antar nilai." pada kenyataannya adalah sebuah peluang. Saya mengambil 27 nilai Anda dan menggunakan AUTOBOX perangkat lunak (yang telah saya bantu kembangkan) yang dapat (secara opsional) secara otomatis menentukan model yang memungkinkan. Berikut adalah grafik aktual / pas dan perkiraan . ACF residu ada di sini dengan plot residu di sini . Modelnya ada di sini dan di sini dan di sini. Dua koefisien tepat menggambarkan data dengan perkiraan "tren" alias "drift" yaitu periode ke periode diferensial -596. Perhatikan bahwa ini adalah salah satu jenis tren di mana model Anda menggunakan angka penghitungan 1,2, ... 27 sebagai variabel prediktor. Jika data Anda menyarankan tren semacam itu maka perangkat lunak akan menemukan itu lebih berlaku. Saya akan mencoba dan menemukan posting saya sebelumnya yang sepenuhnya detail / kontras dua jenis tren ini. Di sini Mengidentifikasi model tren stokastik dan Mendeteksi tren awal atau outlier
sumber
Anda dapat menggunakan koefisien korelasi peringkat Spearman untuk menentukan sejauh mana data Anda monoton. Ini mengembalikan nilai positif untuk data peningkatan monotonik dan nilai negatif untuk data penurunan monotonik (antara -1 dan +1). Berikut link di atas, ada juga pengujian signifikansi bagian dealing, meskipun saya yakin sebagian besar paket perangkat lunak akan memiliki p-value dilakukan untuk Anda ketika menghitung koefisien korelasi (misalnya di Matlab:
[RHO,PVAL] = corr(...)
; di R:cor.test(x,...)
)sumber
Anda dapat menggunakan OLS karena tidak ada autokorelasi serial (setidaknya dalam sampel yang Anda berikan); perhatikan statistik uji Durbin-Watson sebesar 1,966 (≈2).
Jadi, estimasi koefisien negatif signifikan untuk x1 adalah semua yang Anda butuhkan untuk mengatakan sesuatu seperti
atau
Ini mengasumsikan bahwa metodologi untuk menghitung spesies memiliki cakupan yang baik dan konsisten selama bertahun-tahun dalam sampel Anda.
Ini diproduksi dengan kode Python ini (maaf; tidak ada R berguna):
sumber
Mengetahui sumber data akan sangat membantu, dan juga informasi jika nilai-nilai
my.ts
bisa negatif atau tidak.Namun, melihat sekilas plot, daripada melihat tren linier yang konstan , saya lebih menyarankan bahwa deret waktu tidak stasioner, karenanya terintegrasi . Sebagai contoh, harga saham juga terintegrasi, tetapi pengembalian saham tidak lagi (mereka berfluktuasi mendekati 0).
Hipotesis ini juga dapat diuji menggunakan Augmented Dickey Fuller Test:
Mengingat p-value tidak lebih rendah 0,05, tidak ada bukti bahwa prosesnya diam.
Untuk mendapatkan data stasioner, Anda harus membedakannya:
Sekarang data tidak lagi menunjukkan tren , dan satu-satunya hal yang akan Anda temukan adalah istilah autoregresif pesanan 2 (menggunakan
acf(diff.ts)
).sumber