Jaka jest dobra wartość autokorelacji?
Mam zbiór danych obejmujący 400 szeregów czasowych. Chcę ocenić, czy istnieje związek między kolejnymi punktami danych. W ten sposób obliczyłem autokorelację (AC) szeregów czasowych z różnymi opóźnieniami. Aby uzyskać najlepszą wartość opóźnienia, otrzymuję autokorelację średnio około 0,59.
Teraz mój problem polega na tym, jak mogę sprawdzić, czy to dobra wartość AC? Czy istnieje sposób na ocenę, czy wartość autokorelacji, taka jak 0,59, jest dobra?
Wypróbowałem następujące podejścia, aby ocenić, czy jest to dobra wartość.
Obliczyłem AC losowych sekwencji, aby porównać je z AC moich szeregów czasowych. Odkryłem, że AC losowych sekwencji jest zawsze bliskie 0. Jest to interesujące, ponieważ 0,59 jest dalekie od 0, ale nadal nie mówi mi jasno, czy 0,59 jest dobrą wartością.
Dlatego zdecydowałem się przeprowadzić kolejny eksperyment, aby porównać AC mojego szeregu czasowego z autokorelacją rosnącego szeregu czasowego (funkcja, która rośnie liniowo) i losowego szeregu czasowego. W tym eksperymencie losowo manipuluję każdą sekwencją zgodnie ze współczynnikiem manipulacji, który waha się od 0 do 100%. Wynik jest taki:

Można zauważyć, że AC moich szeregów czasowych jest zbliżone do AC rosnących szeregów czasowych i szybko spada, gdy współczynnik manipulacji jest zwiększany. Wydaje się to wskazywać, że w moich szeregach czasowych jest dobry AC. Jednak tak naprawdę nie mówi mi, jaka jest dobra wartość dla klimatyzacji.
Zatem czy istnieją inne sposoby określenia dobrej wartości AC? A może masz jakieś inne sugestie, jak określić, jaka jest dobra wartość AC?
Odpowiedzi
Komentarz: Według danych zebranych w późnych latach siedemdziesiątych XX wieku na temat erupcji gejzeru Old Faithful w Parku Narodowym Yellowstone, długość erupcji wahała się między krótkimi$0$ (mniej niż 2 min.) i długi $1$ (więcej niż 2 min.) w przybliżeniu zgodnie z 2-stanowym łańcuchem Markowa, w którym nigdy nie występują dwie następujące po sobie krótkie erupcje, a krótkie erupcje następują po długich z prawdopodobieństwem $0.44.$ W konsekwencji można wykazać, że w dłuższej perspektywie około 70% erupcji jest długich.
Jednak krótkie i długie erupcje nie są niezależnymi próbami Bernoulliego, jak w przypadku monety z prawdopodobieństwem reszki 0,7, ale tworzą autokorelowaną serię zgodnie z 2-stanowym Łańcuchem Markowa.
Dwa tysiące kolejnych kroków takiego łańcucha można zasymulować w R, jak pokazano poniżej.
set.seed(2020)
n = 2000; x = numeric(n); x[1]=0
for (i in 2:n) {
if (x[i-1]==0) x[i] = 1
else x[i] = rbinom(1, 1, .56) }
mean(x)
[1] 0.7005
W R można wykonać wykres autokorelacji dla kilku opóźnień. Oczywiście autokorelacja dla opóźnienia$0$ jest $1.000.$ Uważa się, że autokorelacje wykraczające poza poziome niebieskie linie przerywane znacznie różnią się od $0.$ Tak więc wydaje się, że dla 2000 obserwacji z procesu Old Faithful autokorelacje są większe w wartości bezwzględnej niż około $0.035$ lub $0.04$ są uważane za znacząco różne od $0.$
acf(x)

Określone opóźnienia można uzyskać, używając acf
z parametrem plot=F
.
acf(x, plot=F)
Autocorrelations of series ‘x’, by lag
0 1 2 3 4 5 6 7
1.000 -0.426 0.203 -0.085 0.018 -0.009 0.016 -0.025
8 9 10 11 12 13 14 15
0.002 -0.030 -0.004 0.004 -0.025 0.033 -0.043 0.032
16 17 18 19 20 21 22 23
-0.006 0.006 0.009 -0.001 0.005 0.014 -0.028 0.002
24 25 26 27 28 29 30 31
-0.002 0.008 -0.018 -0.020 0.039 -0.009 0.013 0.010
32 33
0.005 -0.037
W ergodycznym (zbieżnym) łańcuchu Markowa zależność Markowa „zanika” po kilku opóźnieniach, tak że obserwacje wykonane daleko od siebie wzdłuż sekwencji są prawie niezależne.
W swojej aplikacji, aby stwierdzić, czy autokorelacja jest „dobra”, należy określić odpowiednie opóźnienie i mieć określone kryterium testowe dla „znaczącej” autokorelacji. Z Twojego pytania nie wiem wystarczająco dużo o Twoim procesie lub aplikacji, aby udzielić konkretnej odpowiedzi.