Arima one step ahead forecast mit dynamischem Fenster

Fragen zu Stata Syntax und Do-Files.

Arima one step ahead forecast mit dynamischem Fenster

Beitragvon thomthom » Di 19. Jun 2012, 18:09

Hallo liebe Statafreunde,

folgendes Problem:
Stata soll mir eine "Arima one step ahead forecast mit dynamischem Fenster" machen, sprich:
Ein Arima (mit den effektiven Werten) bis zeitpunkt 600 rechnen, dann den Wert 601 prognostizieren
dann wiederum ein Arima (mit den effektiven Werten) diesmal bis zum Zeitpunkt 601 rechnen und den Wert 602 prognostizieren
usw...
und die einzelnen Werte die rauskommen in eine Variable (Spalte) packen

Mein Ansatz wäre:
Code: Alles auswählen
foreach z of numlist 600/619{
arima tren if zeit<`z' , arima(1,0,0)
//soweit müsste er passen
//hier sollte er nur einen Wert prognostizieren nicht für alle restlichen zeilen auch noch also nur den Wert für `z'+1
predict vorhersage`z' if zeit>`z', xb


Was rauskommt sind bei mir 20 variablen vorhersage 1 bis ...
Ich möchte diese einzelnen Prognostizierten Werte aber in einer Variable haben bzw sie gleich in eine reinschreiben ohne alle 20 Variablen zu erzeugen und dann zusammenzufügen
thomthom
 
Beiträge: 16
Registriert: Fr 13. Apr 2012, 17:03
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Arima one step ahead forecast mit dynamischem Fenster

Beitragvon daniel » Di 19. Jun 2012, 19:18

Verstehe das Problem bzw. die (gewünschte) Datenstruktur ich nicht ganz. Die Vorhergesagten Werte sind doch sicher für jede Zeile im Datensatz unterschiedlich? Du hast also nach jedem -predict- Befehl einen Vector an Werten, der die Zeilen, 1..n füllt. Wie willst Du 20 vectoren (je 1...n Zeilen) in eine Variable (= vector) mit 1..n Zeilen schreiben?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Arima one step ahead forecast mit dynamischem Fenster

Beitragvon thomthom » Mi 20. Jun 2012, 08:44

Genau, ich erhalte 20 Vectoren mit n Zeilen

Bild

1) Problem ich möchte, dass mir der Predict Befehl aber nur jeweils den ersten Wert des Vectors erstellt. Sprich
Code: Alles auswählen
predict vorhersage`z' if zeit=(`z'+1), xb
jedoch haut des mit zeit=(`z'+1) nicht hin.
2) Dann sollte eigentlich in jedem der 20 Vektoren (vorhersage600 bis n) nur mehr jeweils ein wert drinnen sein (sprich vorhersage600 ein Wert in zeile 601, vorhersage602 ein Wert in 603....)
3) Diese 20 Werte die in den 20 verschiedenen (Vorhersage) Vektoren sind möchte ich in einen fassen.

bzw. in der Datenstruktur wie sie oben im Bild ist, den jeweils ersten Wert der n Vektoren in einen Neuen schreiben, sodass ich einen Vektor mit den 20 ersten Verten der Vorhersage(n) Vektoren erhalte.
----------------------
Vielleicht noch meine Intention:
Ich möchte eine one Step ahead forecast mittels arima machen (des erledigt mir der -predict- Befehl)

dieser Prognostiziert mir den ersten Wert (601) auf Grundlage der im -arima- Befehl angegebenen Daten
Code: Alles auswählen
arima tren if zeit<600, arima(1,0,0)

den 2ten in der Zukunft liegenden Wert (602) prognostiziert mir -predict- aber wiederum nur mit wie oben 600 Daten er soll ihn mir aber mit 601 Daten als Grundlage pronostizieren (gleitendes Fenster), desshalb die Schleife:
Code: Alles auswählen
foreach z of numlist 600/619{
arima tren if zeit<`z' , arima(1,0,0)
predict vorhersage`z' if zeit>`z', xb


Sprich Stata soll arima auf Grundlage von 600 Daten rechnen, dann einen Wert (601) Prognostizieren (in einen Vektor X schreiben)
Dann ein arima mit 601 Daten rechnen, wiederum einen Wert (602) Prognostizieren, den wiederum in den Vektor X schreiben
usw....

Leider hab ich nicht rausgefunden wie ich Stata in denselben Vektor schreiben lasse, desshalb meine Intuition ihn 20 Vektoren (in denen jeweil 1 Wert steht) rechnen zu lassen und diese dann in einen zusammenzufassen.

lg und schönen Tag
Thomthom
thomthom
 
Beiträge: 16
Registriert: Fr 13. Apr 2012, 17:03
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Arima one step ahead forecast mit dynamischem Fenster

Beitragvon daniel » Mi 20. Jun 2012, 11:04

Ich muss sagen, ich habe mit Zeitreihen bisher wenig gearbeitet, und bin nicht sicher, ob ich es jetzt richtig verstanden habe, aber versuche etwas in der Richtung

Code: Alles auswählen
tempvar dmp
g vorhersage = .

foreach z of numlist 600/619{
arima tren if zeit<`z' , arima(1,0,0)
loc z1 = `z' + 1
predict `dmp' if zeit>`z' in `z1', xb
replace vorhersage = `dmp'[`z1'] in `z1'
drop `dmp'
}
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron