Ich habe vier verschiedene Zeitreihen von Stundenmessungen:
- Der Wärmeverbrauch in einem Haus
- Die Temperatur außerhalb des Hauses
- Die Sonnenstrahlung
- Die Windgeschwindigkeit
Ich möchte den Wärmeverbrauch im Haus vorhersagen können. Es gibt einen klaren saisonalen Trend, sowohl auf jährlicher Basis als auch auf täglicher Basis. Da es eine eindeutige Korrelation zwischen den verschiedenen Serien gibt, möchte ich sie mit einem ARIMAX-Modell anpassen. Dies kann in R mit der Funktion arimax aus dem Paket TSA erfolgen.
Ich habe versucht, die Dokumentation zu dieser Funktion und die Übertragungsfunktionen zu lesen, aber bisher meinen Code:
regParams = ts.union(ts(dayy))
transferParams = ts.union(ts(temp))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams,xtransf=transferParams,transfer=list(c(1,1))
pred10 = predict(model10, newxreg=regParams)
gibt mir:
wo die schwarze Linie die tatsächlichen gemessenen Daten sind und die grüne Linie mein angepasstes Modell im Vergleich ist. Es ist nicht nur kein gutes Modell, sondern offensichtlich stimmt etwas nicht.
Ich gebe zu, dass meine Kenntnisse über ARIMAX-Modelle und Übertragungsfunktionen begrenzt sind. In der Funktion arimax () ist xtransf (soweit ich verstanden habe) die exogene Zeitreihe, mit der ich (unter Verwendung von Übertragungsfunktionen) meine Hauptzeitreihe vorhersagen möchte. Aber was ist der Unterschied zwischen xreg und xtransf wirklich?
Was habe ich allgemein falsch gemacht? Ich möchte in der Lage sein, eine bessere Passform zu erreichen als die, die ich mit lm (wärmetemp. Radi wind * time) erreicht habe.
Änderungen: Aufgrund einiger Kommentare habe ich die Übertragung entfernt und stattdessen xreg hinzugefügt:
regParams = ts.union(ts(dayy), ts(temp), ts(time))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams)
Wobei dayy der "Zahlentag des Jahres" und time die Stunde des Tages ist. Temp ist wieder die Außentemperatur. Dies gibt mir das folgende Ergebnis:
Das ist besser, aber nicht annähernd das, was ich erwartet hatte.