Binäre Zeitreihen


8

Ich habe eine binäre Zeitreihe: Wir haben 2160 Daten (0 = nicht passiert, 1 = passiert) für einen Zeitraum von einer Stunde in 90 Tagen.

Geben Sie hier die Bildbeschreibung ein

Ich möchte nach diesen 90 Tagen prognostizieren, wo die nächste 1 stattfinden wird, und diese Bestimmung auch für den nächsten Monat verlängern.


1
Könnten Sie Ihre Daten genauer beschreiben? Welche Art von Ereignissen beschreibt es? Was ist über den Prozess bekannt, der die Daten generiert hat (z. B. können wir eine Art von Saisonalität oder Mustern erwarten)? Könnten Sie Ihre Daten als Beispiel veröffentlichen?
Tim

Ich habe eine Untersuchung über Unfälle an einem bestimmten Ort.1 Ist, wir haben einen Unfall in einem Stundenintervall und 0 ansonsten. Wir möchten die nächsten Unfälle vorhersagen.
Amin Abdolahnejad

2
Wollen Sie damit sagen, wie lange es bis zum nächsten Unfall dauern wird, oder möchten Sie vorhersagen, wie sich die Wahrscheinlichkeit eines Unfalls im nächsten Zeitraum ändern wird / nicht?
Gung - Reinstate Monica

Sie müssen uns mehr über die Daten und die Annahmen erzählen, die Sie bereit sind zu treffen. Was ist der zugrunde liegende Prozess? Ändert es sich langsam im Laufe der Zeit? Ist es stationär? Hat es ein endliches Gedächtnis?
Memming

Wir haben einen Zeitraum von Stunde zu Stunde in 90 Tagen, in dem 2160 Daten vorliegen. Ich möchte einen Zeitraum von 2161 bis 2880 Stunden pro Stunde vorhersagen, dh die nächsten 30 Tage. Ich möchte vorhersagen, wann der nächste Unfall passieren wird, den wir darauf vorbereitet haben .
Amin Abdolahnejad

Antworten:


6

XtBernoulli(pt)ptΦ1(Yt)YN(μ,Σ)Yvariabel und verwenden dann Standard-Zeitreihentechniken, um zukünftige Beobachtungen vorherzusagen (z. B. Holt-Winters). Sollte möglich sein, so etwas in Stan oder JAGS zu codieren, aber angesichts der "Glasdunkel" -Ansicht, die der Bernoulli-Prozess Ihnen über den latenten Zustand gibt, erhalten Sie möglicherweise keine guten Vorhersagen.


1

Das einfachste Modell wäre die lineare Regression. Sie können Ihre Daten mit ggplot zeichnen:

#for reproducing
set.seed(200)
#simple example. Assume your data is simple binomial variable with probability 0.3
data <- data.frame(time = 1:200, val=sample(c(0,1), size = 200, replace = T, prob = c(0.3, 0.7)))

#plot using ggplot and add linear regression and confidence interval
ggplot(data, aes(x = time, y=val)) + geom_smooth(method=lm) +geom_point()

#Now we can try to create linear regression
y = data$time
    x = data$val
fitData <- lm(x ~ y)
predict(fitData, newdata = data.frame(y=201:224), interval="confidence")

Dies ist das einfachste Modell. Es gibt andere nichtlineare Modelle, die möglicherweise besser zu Ihren Daten passen. Denken Sie auch daran, dass Sie möglicherweise das Datumsprotokoll verwenden müssen, um eine bessere Passform zu erzielen. Über nichtlineare Regressionen wie die Polynomregression können Sie hier viel lesen

Jetzt wäre eine zusätzliche Analyse erforderlich, es ist jedoch wichtig festzustellen, ob Ihre Ereignisse unabhängig sind. Es ist möglich, dass es eine Art verwirrende Variable gibt, die Sie möglicherweise nicht berücksichtigen. Sie könnten lineare Regression in Bayesian aussehen sollen (da Sie mehr Dimensionen als nur Zeit und Ja / Nein - Werte zu erhalten) hier


tnx für Ihre Antwort. Zuerst möchte ich Stunde für Stunde für den nächsten Tag, Stunde für Stunde für die nächste Woche und Stunde für Stunde für den nächsten Monat vorhersagen.
Amin Abdolahnejad

Es kann nicht linear sein. Wir haben Binärcode und Polynommodell bis zum Grad 7 können uns keine gute Anpassung geben. Wir sollten uns auf das Binärmodell konzentrieren. Was ist mit dem Markov-Modell? Verstecktes Markov-Modell? Wenn wir die Wahrscheinlichkeit eines Unfalls in jeder Stunde haben im nächsten Monat kann es nützlich sein.
Amin Abdolahnejad

3
Die Antwortvariable ist binomial. Die lineare Regression setzt normale Fehler voraus. Die lineare Regression befasst sich auch nicht mit einer möglichen Autokorrelation in einer Zeitreihe. Dies ist vielleicht eine nützliche Annäherung erster Ordnung, aber nicht der beste Ansatz.
Dalton Hance

1
Das ist eine gute Bemerkung. Wie wäre es dann mit dieser Zeitreihe, der Gruppierung von Daten nach Tagesstunden (zum Beispiel) und dem anschließenden Durchschnitt? Sollten wir nicht den erwarteten Wert aufgrund von CLT erhalten, wenn wir bedenken, dass es sich um eine identisch verteilte Zufallsvariable handelt? Ich bin nicht sicher, ob dies als Prädiktor verwendet werden kann, aber es würde sicherlich eine gute Schätzung der Wahrscheinlichkeit geben, dass ein Unfall zu einer bestimmten Stunde passiert.
Zakkery

1
Xt=

1

Unfalldaten? Ich würde zunächst davon ausgehen, dass es stündliche Saisonalität und tägliche Saisonalität gibt. Ohne die Art des Unfalls zu kennen, kann es sein, dass Sie sich das stündliche Pooling von Montag bis Freitag ansehen und das stündliche Pooling für Samstag und Sonntag getrennt durchführen können, sodass Sie 3 Pools von Stunden haben, 24 (Mo-Fr), 24 (Sa) und 24 (So).

Eine weitere Datenreduktion ist möglicherweise möglich, aber unter der Annahme, dass dies nicht der Fall ist, nehmen Sie einfach die Durchschnittswerte. Beispielsweise könnte der Durchschnitt für Sonntag, 15 Uhr, 0,3 betragen (30% Unfallwahrscheinlichkeit). Der Durchschnitt für 16 Uhr könnte 0,2 sein und so weiter.

Die Wahrscheinlichkeit, dass zwischen 15 und 16 Uhr kein Unfall auftritt, wäre (1 - 0,3) (1 - 0,2) = 0,56, sodass die Wahrscheinlichkeit, in diesen zwei Stunden einen Unfall zu haben, 0,44 beträgt und so weiter.

Dies scheint ein guter, einfacher Ausgangspunkt zu sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.