Bagaimana menganalisis tren dalam deret waktu non-periodik


12

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)

masukkan deskripsi gambar di sini

Apa saja pilihan saya?


4
Saya pikir fakta bahwa seri ini non-periodik ( frequency=1) sedikit relevan di sini. Masalah yang lebih relevan adalah apakah Anda bersedia menentukan bentuk fungsional untuk model Anda.
Richard Hardy

1
Beberapa informasi lebih lanjut tentang apa data itu mungkin akan berguna untuk pemodelan.
bdeonovic

Data adalah jumlah individu (dalam ribuan) spesies tertentu yang dihitung setiap tahun di reservoir air.
Ladislav Naďo

1
@LadislavNado adalah seri Anda yang pendek seperti pada contoh yang diberikan? Saya bertanya karena jika demikian, ini mengurangi jumlah metode yang dapat digunakan karena ukuran sampel.
Tim

1
Kejelasan dari aspek yang menurun sangat tergantung pada skala, yang, bagi saya, harus diperhitungkan
Laurent Duval

Jawaban:


7

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

menilai apakah ada tren monotonik naik atau turun dari variabel bunga dari waktu ke waktu. Tren naik monotonik (ke bawah) berarti bahwa variabel secara konsisten meningkat (menurun) sepanjang waktu, tetapi tren tersebut mungkin atau mungkin tidak linier. ( http://vsp.pnnl.gov/help/Vsample/Design_Trend_Mann_Kendall.htm )

apalagi, seperti dicatat oleh Gilbert (1987), tes

ini sangat berguna karena nilai-nilai yang hilang diizinkan dan data tidak perlu sesuai dengan distribusi tertentu

Statistik uji adalah perbedaan antara perbedaan negatif dan positif di antara semua pasangan mungkin, yaituxjxin(n1)/2

S=i=1n1j=i+1nsgn(xjxi)

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τ

τ=Sn(n1)/2

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 varianpn10pSS

var(S)=118[n(n1)(2n+5)p=1gtp(tp1)(2tp+5)]

dan kemudian menghitung statistik pengujianZMK

ZMK={S1var(S)if S>00if S=0S+1var(S)if S<0

nilai dibandingkan dengan nilai normal standar ZMK

  • ZMKZ1α untuk tren naik,
  • ZMKZ1α untuk tren menurun,
  • |ZMK|Z1α/2 untuk tren naik atau turun.

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 dataS permutasi S dataS permutasiSpSpSdataSpermutationSdataSpermutation


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.


1

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 masukkan deskripsi gambar di sini. ACF residu ada di sini dengan plot residu di sini masukkan deskripsi gambar di sini. Modelnya ada di sini masukkan deskripsi gambar di sinidan di sini masukkan deskripsi gambar di sinidan di sinimasukkan deskripsi gambar 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

masukkan deskripsi gambar di sini


2
Perkiraan Autobox kehilangan setiap titik menarik 1996, 1999, 2000, 2009 di mana tren baru-baru ini rusak. Ini hampir seperti pergeseran fase satu tahun. Dalam hal itu tidak menjelaskan apa pun.
Aksakal

Rekomendasi Anda sebelumnya (lidah di pipi) untuk memasukkan polinomial tingkat tinggi ke data akan melakukan apa yang Anda minta. Tapi kita tidak cocok, kita tentang pemodelan. Plot residual tampaknya cukup menggambarkan proses kesalahan karena beberapa faktor eksternal / tidak diketahui. Semua model salah tetapi beberapa berguna. Ini saya percaya adalah model yang berguna tetapi jika Anda berpikir Anda bisa melakukan yang lebih baik silakan posting hasil Anda sehingga kita semua bisa belajar. Tidak ada penjelasan dari model ARIMA karena masa lalu hanyalah proxy untuk variabel yang dihilangkan.
IrishStat

2
Dalam hal ini tampaknya tidak ada banyak hubungannya dengan statistik. Itu sama sekali bukan pertanyaan statistik yang menarik. Ada tren yang jelas, dan OP harus mempelajari fisika dari fenomena tersebut. Saya pikir model ini cocok seperti dari Autobox hanya memimpin OP ke arah yang salah. Mereka tidak mengungkapkan sesuatu yang bernilai melebihi apa yang sudah terbukti.
Aksakal

Pertanyaannya adalah apakah analitik dapat menggantikan mata manusia ... Analisis ini mengungkapkan apa yang didukung mata, Inilah sebabnya kami berlatih statistik agar dapat melakukan lebih dari yang dapat segera terlihat. Solusi AUTOBOX memimpin OP ke arah yang benar yaitu ke bawah. Komentar Anda sama sekali tidak produktif menurut saya TETAPI seperti yang saya tanyakan sebelumnya (dengan sopan) tolong berikan alternatif yang layak berdasarkan statistik. Menurut pendapat saya, ini adalah pertanyaan statistik yang sangat menarik dan membutuhkan jawaban. Harap berikan satu jika Anda bisa.
IrishStat

1

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,...))


0

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

Jumlah [spesies tertentu] yang diamati berkurang sekitar 1.000 per tahun.

atau

Jumlah [spesies tertentu] yang diamati menurun antara 628 dan 1.408 per tahun (dengan kepercayaan 95%).

Ini mengasumsikan bahwa metodologi untuk menghitung spesies memiliki cakupan yang baik dan konsisten selama bertahun-tahun dalam sampel Anda.

masukkan deskripsi gambar di sini

Ini diproduksi dengan kode Python ini (maaf; tidak ada R berguna):

import numpy as np
import statsmodels.api as sm

y = [10,12,10,11,8,9,6,4,2,4]
x = np.arange(len(y))
x = sm.add_constant(x)

mod = sm.OLS(y, x)
result = mod.fit()
print(result.summary())

0

Mengetahui sumber data akan sangat membantu, dan juga informasi jika nilai-nilai my.tsbisa 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:

require(tseries)
adf.test(my.ts)

Augmented Dickey-Fuller Test
Dickey-Fuller = -2.9557, Lag order = 2, p-value = 0.7727
alternative hypothesis: stationary

Mengingat p-value tidak lebih rendah 0,05, tidak ada bukti bahwa prosesnya diam.

Untuk mendapatkan data stasioner, Anda harus membedakannya:

diff.ts <- diff(my.ts)
plot(diff.ts)

masukkan deskripsi gambar di sini

Sekarang data tidak lagi menunjukkan tren , dan satu-satunya hal yang akan Anda temukan adalah istilah autoregresif pesanan 2 (menggunakan acf(diff.ts)).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.