Ich habe nicht sehr häufig mit Zeitreihendaten gearbeitet, daher suche ich nach Hinweisen, wie ich mit dieser speziellen Frage am besten umgehen kann.
Angenommen, ich habe die folgenden Daten - unten grafisch dargestellt:
Hier gibt es ein Jahr auf der x-Achse. Die y-Achse ist ein Maß für die „Ungleichheit“, z. B. könnte es sich um eine Einkommensungleichheit in einem Land handeln.
Bei dieser Frage möchte ich fragen, ob die Daten Jahr für Jahr einen Auf- / Ab-Charakter haben (mangels einer besseren Beschreibung). Im Wesentlichen möchte ich fragen, ob die Ungleichheit, wenn sie im letzten Jahr gegenüber dem Vorjahr gestiegen ist, jetzt wahrscheinlich wieder abnimmt. Die Größe der Höhen / Tiefen kann ebenfalls wichtig sein.
Ich denke, dass so etwas wie wavelet analysis
oder Fourier analysis
helfen könnte, obwohl ich diese noch nicht verwendet habe und ich glaube, dass eine Stichprobengröße wie diese zu klein ist.
Würde mich für Ideen / Vorschläge interessieren, die ich weiterverfolgen kann.
BEARBEITEN:
Dies sind die Daten für dieses Diagramm:
# year value
#1 1956 0.9570912
#2 1957 1.0303563
#3 1958 0.9568302
#4 1959 1.1449074
#5 1960 0.8962963
#6 1961 1.0431552
#7 1962 0.8050077
#8 1963 0.8533181
#9 1964 0.9971713
#10 1965 1.0453083
#11 1966 0.8221328
#12 1967 1.0594876
#13 1968 1.1244195
#14 1969 1.0705498
#15 1970 0.8669457
#16 1971 0.8757319
#17 1972 1.0815189
#18 1973 1.1458959
#19 1974 1.2782848
#20 1975 1.0729718
#21 1976 1.1569416
#22 1977 1.2063673
#23 1978 1.1509700
#24 1979 1.1172020
#25 1980 1.0691429
#26 1981 1.0907407
#27 1982 1.1753854
#28 1983 0.9440187
#29 1984 1.1214175
#30 1985 1.2777778
#31 1986 1.2141739
#32 1987 0.9481722
#33 1988 1.1484652
#34 1989 0.7968458
#35 1990 1.1721074
#36 1991 1.1569523
#37 1992 0.8160300
#38 1993 0.9483291
#39 1994 1.0898612
#40 1995 0.8196819
#41 1996 1.0297017
#42 1997 1.0207769
#43 1998 0.9720285
#44 1999 0.8685848
#45 2000 0.9228595
#46 2001 0.9171540
#47 2002 1.0470085
#48 2003 0.9313437
#49 2004 1.0943982
#50 2005 1.0248419
#51 2006 0.9392917
#52 2007 0.9666248
#53 2008 1.1243693
#54 2009 0.8829184
#55 2010 0.9619517
#56 2011 1.0030864
#57 2012 1.1576998
#58 2013 0.9944945
Hier sind sie im R
Format:
structure(list(year = structure(1:58, .Label = c("1956", "1957",
"1958", "1959", "1960", "1961", "1962", "1963", "1964", "1965",
"1966", "1967", "1968", "1969", "1970", "1971", "1972", "1973",
"1974", "1975", "1976", "1977", "1978", "1979", "1980", "1981",
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989",
"1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997",
"1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005",
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013"
), class = "factor"), value = c(0.957091237579043, 1.03035630567276,
0.956830206830207, 1.14490740740741, 0.896296296296296, 1.04315524964493,
0.805007684426229, 0.853318117977528, 0.997171336206897, 1.04530832219251,
0.822132760780104, 1.05948756976154, 1.1244195265602, 1.07054981337927,
0.866945712836124, 0.875731948296804, 1.081518931763, 1.1458958958959,
1.27828479729065, 1.07297178130511, 1.15694159981794, 1.20636732623034,
1.15097001763668, 1.11720201026986, 1.06914289768696, 1.09074074074074,
1.17538544689082, 0.944018731375053, 1.12141754850088, 1.27777777777778,
1.21417390277039, 0.948172198172198, 1.14846524606799, 0.796845829569407,
1.17210737869653, 1.15695226716732, 0.816029959161985, 0.94832907620264,
1.08986124767836, 0.819681861348528, 1.02970169141241, 1.02077687443541,
0.972028455959697, 0.868584838281808, 0.922859547859548, 0.917153996101365,
1.04700854700855, 0.931343718539713, 1.09439821062628, 1.02484191508582,
0.939291692822766, 0.966624816907303, 1.12436929683306, 0.882918437563246,
0.961951667980037, 1.00308641975309, 1.15769980506823, 0.994494494494494
)), row.names = c(NA, -58L), class = "data.frame", .Names = c("year",
"value"))
quelle
Antworten:
Wenn die Reihe nicht korreliert ist, führt die unnötige Aufnahme von Differenzen zu einer Autokorrelation. Selbst wenn die Serie autokorreliert ist, ist eine ungerechtfertigte Differenzierung unangemessen. Einfache Ideen und einfache Ansätze haben oft unerwünschte Nebenwirkungen. Der Modellidentifizierungsprozess (ARIMA) beginnt mit der Originalserie und kann zu einer Differenzierung führen, sollte jedoch niemals mit einer ungerechtfertigten Differenzierung beginnen, es sei denn, es liegt eine theoretische Begründung vor. Wenn Sie möchten, können Sie Ihre kurzen Zeitreihen veröffentlichen, und ich werde sie verwenden, um Ihnen zu erklären, wie Sie ein Modell für diese Reihe identifizieren können.
Nach Erhalt der Daten:
Der ACF Ihrer Daten zeigt anfangs (oder schließlich) keinen ARIMA-Prozess an, sowohl bei ACF als auch bei PACF
und hier nur bei ACF:
Es scheint jedoch zwei Ebenenverschiebungen in Ihren Daten zu geben ... eine bei 1972 und die andere bei 1992 .. Sie scheinen Pegelverschiebungen fast aufzuheben. Ein nützliches Modell könnte auch die Einbeziehung von drei ungewöhnlichen Werten in den Zeiträumen 1989, 1959 und 1983 umfassen. Die Gleichung lautet dann
und hier
mit Modellstatistiken hier:
Die tatsächliche / Anpassung und Prognose ist hier, wobei das Restdiagramm hier auf eine ausreichende Modellierung hinweist . Dies wird durch die ACF der Residuen bestätigt . Schließlich fassen die Passform und die Prognose die Ergebnisse zusammen .
Zusammenfassend ist die Reihe (wahrscheinlich ein Verhältnis) ohne signifikantes auto-regressives Gedächtnis, weist jedoch eine offensichtliche deterministische Struktur auf (statistisch signifikant). Alle Modelle sind falsch, aber einige sind nützlich (GEP Box).
Nach einiger Diskussion ... Wenn man Unterschiede modellieren würde, würde man das folgende Modell erhalten ... mit ACTUAL / FIT und FORECAST . Prognosen sehen unheimlich ähnlich aus ... der MA-Koeffizient hebt den Differenzierungsoperator effektiv auf.
quelle
Sie können das Auf und Ab als zufällige Sequenz betrachten, die durch einen zufälligen Prozess generiert wird. Nehmen wir zum Beispiel an, Sie haben es mit einer stationären Reihe tun , wobei eine Wahrscheinlichkeitsverteilung wie Gauß, Poisson oder irgendetwas anderes ist. Dies ist eine stationäre Serie. Jetzt können Sie neue Variable erstellen so dass und , das sind Ihre Höhen und Tiefen. Diese neue Sequenz wird eine eigene Zufallssequenz mit interessanten Eigenschaften bilden, siehe z. B. V Khil, Elena. "Markov-Eigenschaften von Lücken zwischen lokalen Maxima in einer Folge unabhängiger Zufallsvariablen." (2013).x1,x2,x3,...,xn∈f(x) f(x) yt yt=1:xt<xt+1 yt=0:xt≥xt+1
Schauen Sie sich zum Beispiel ACF und PACF Ihrer Serie an. Hier ist nichts. Dies scheint kein ARIMA-Modell zu sein. Es sieht aus wie eine unkorrelierte Folge von .xt
Dies bedeutet, dass wir versuchen könnten, bekannte Ergebnisse für , z. B. ist bekannt, dass der durchschnittliche Abstand zwischen zwei (Auf-Ab-) Paaren (oder , wie manche sie nennen) 3 beträgt. In Ihrem Datensatz ist der erste Peak (Auf-) down) ist 1957 und der letzte ist 2012 mit insgesamt 16 Peaks. Der durchschnittliche Abstand zwischen den Peaks beträgt also 15/55 = 3,67. Wir wissen, dass und mit 15 Beobachtungen . Der mittlere Abstand zwischen den Peaks liegt also innerhalb von vom theoretischen Mittelwert.yt σ=1.108 1,2σnσ15=σ/15−−√=0.29 1.2σn
UPDATE: in Zyklen
Die Grafik in der Frage von OP scheint darauf hinzudeuten, dass es einen langen Zyklus gibt. Hierbei gibt es mehrere Probleme.
quelle
Neben 1: Eine Sache, die wir sehen, ist das Auftreten eines langen zyklischen Trends in den Daten. Dies sollte die Analyse von Jahr zu Jahr nicht allzu sehr beeinflussen *. Bei dieser sehr grundlegenden Analyse werde ich dies ignorieren und die Daten so behandeln, als wären sie homogen, abgesehen von dem Effekt, an dem Sie interessiert sind.
* (Es wird dazu neigen, die Anzahl der Bewegungen in entgegengesetzter Richtung von dem zu verringern, was Sie mit Homogenität erwarten würden. Daher wird es dazu neigen, die Leistung dieses Tests etwas zu verringern. Wir könnten versuchen, diesen Einfluss zu quantifizieren, aber ich denke nicht Es besteht ein starker Bedarf, es sei denn, er scheint groß genug zu sein, um einen Unterschied zu bewirken. Wenn er bereits signifikant ist, wäre es eine Verschwendung von Aufwand, sich auf etwas einzustellen, das den p-Wert etwas kleiner macht.)
Neben 2: Wie bereits erwähnt, scheint Ihre Frage eine einseitige Alternative zu beinhalten. Ich werde auf der Grundlage arbeiten, dass dies das ist, was Sie wollen.
Beginnen wir mit einer einfachen Analyse, die sich direkt mit Ihrer Grundfrage befasst. Diese scheint im Sinne von "Ist es wahrscheinlicher, dass auf eine Zunahme eine Abnahme folgt?"
Es ist jedoch nicht so einfach, wie es zuerst erscheinen mag. In einer stabilen Serie, mit rein zufälligen Daten, ein Anstieg ist eher durch eine Abnahme folgen. Beachten Sie, dass die Hypothese, die wir betrachten, drei Beobachtungen umfasst, die auf sechs mögliche Arten geordnet werden können:
Von diesen sechs Möglichkeiten beinhalten 4 eine Richtungsänderung. Eine rein zufällige Reihe (unabhängig von der Verteilung) sollte also 2/3 der Zeit einen Flip in Richtung sehen.
[Dies hängt eng mit einem Run-Up-and-Down-Test zusammen, bei dem Sie daran interessiert sind, ob es zu viele Runs gibt, um zufällig zu sein. Sie könnten stattdessen diesen Test verwenden.]
Ich gehe davon aus, dass Ihr tatsächliches Interesse darin besteht, ob es höher als das zufällige 2/3 ist und nicht, ob es mehr als 1/2 ist, wie Sie zu fragen schienen.
Teststatistik: Anteil der Verschiebungen, gefolgt von Verschiebungen in die entgegengesetzte Richtung.
Da sich unsere Tripel überschneiden, glaube ich, dass wir eine gewisse Abhängigkeit zwischen Tripeln haben, sodass wir dies nicht als Binomial behandeln können (wir könnten es, wenn wir die Daten in nicht überlappende Tripel aufteilen; das würde gut funktionieren).
Unter Berücksichtigung dieser Abhängigkeit könnten wir die Verteilung der Teststatistik noch berechnen, müssen dies aber in diesem Fall nicht, da der beobachtete Anteil der dreifachen Richtungsumkehr knapp unter der erwarteten Anzahl von 2/3 für eine Zufallsreihe liegt und wir sind nur an mehr Umkehrungen interessiert.
Wir müssen also nicht weiter rechnen - es gibt überhaupt keine Hinweise darauf, dass die Tendenz besteht, mehr umzukehren (auf-ab oder ab-auf) als bei einer zufälligen Serie.
[Ich bezweifle wirklich, dass der vernachlässigte milde Zyklus genug Einfluss haben wird, um den erwarteten Anteil annähernd so weit nach unten zu bewegen, dass dies einen wesentlichen Unterschied macht.]
quelle
1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0
Eine 1 zeigt an, dass die Serie steigt, und eine 0, die sinkt. Unter Verwendungruns.test
destseries
R-Pakets ergibt dies eine Teststatistik von 1,81 und einen ap von 0,07. Obwohl ich mir über diese Beispieldaten keine allzu großen Sorgen mache, frage ich mich, ob dies die Art von Analyse ist, auf die Sie sich bezogen haben.Sie können ein Paket namens Strukturänderung verwenden, das nach Brüchen oder Ebenenverschiebungen in den Daten sucht. Es ist mir gelungen, Pegelverschiebungen für nicht saisonale Zeitreihen automatisch zu erkennen.
Ich habe Ihren "Wert" in Zeitreihendaten umgewandelt. und verwendete den folgenden Code, um nach Pegelverschiebungen oder Änderungspunkten oder Haltepunkten zu suchen. Das Paket hat auch nette Funktionen wie Chow-Test, um Chow-Test zu machen, um auf Strukturbrüche zu testen:
Es folgt die Zusammenfassung der Breakpont-Funktion:
Wie Sie sehen können, hat die Funktion mögliche Brüche in Ihren Daten identifiziert und 1971 und 1986 zwei Strukturbrüche ausgewählt, wie in der folgenden Darstellung basierend auf dem BIC-Kriterium gezeigt. Die Funktion stellte auch andere alternative Haltepunkte bereit, wie in der obigen Ausgabe aufgeführt.
Hoffe das ist hilfreich
quelle