Come ottenere previsioni strettamente positive?


15

Sto lavorando a una serie storica i cui valori sono strettamente positivi . Lavorando con vari modelli tra cui AR, MA, ARMA, ecc., Non sono riuscito a trovare un modo semplice per ottenere previsioni strettamente positive.

Sto usando R per fare le mie previsioni, e tutto quello che ho potuto trovare era forecast.hts {hts} che ha un parametro positivo descritto qui:

Prevedere una serie temporale gerarchica o raggruppata, pacchetto hts

## S3 method for class 'gts':
forecast((object, h,
  method = c("comb", "bu", "mo", "tdgsf", "tdgsa", "tdfp", "all"),
  fmethod = c("ets", "rw", "arima"), level, positive = FALSE,
    xreg = NULL, newxreg = NULL, ...))

positive
    If TRUE, forecasts are forced to be strictly positive

http://www.inside-r.org/packages/cran/hts/docs/forecast.gts

Qualche suggerimento per le serie temporali non gerarchiche? Che dire della generalizzazione sull'uso di altri vincoli come minimo, massimo, ecc.?

Anche se non implementati in R, sarebbero apprezzati suggerimenti su articoli, modelli o utili trasformazioni di variabili generali.


3
Una delle cose più semplici, ma non sempre corrette da fare in tal caso è semplicemente la previsione del registro della variabile.
mpiktas,

4
Per fare eco in parte a @mpiktas, un approccio è lavorare sulla scala dei log. In pratica, ciò spesso migliora contemporaneamente diversi aspetti del modello. Mentre gli intervalli di previsione si trasformano di nuovo bene, devi fare attenzione alle previsioni medie (se la normalità è ragionevole sui registri, puoi ottenere una stima della media del lognormale che è generalmente ragionevole se le dimensioni del campione sono grandi). Un'alternativa che a volte può funzionare per alcuni semplici modelli di serie temporali è quella di utilizzare un modello Gamma.
Glen_b

Risposte:


13

Con il forecastpacchetto per R, impostare semplicemente lambda=0quando si monta un modello. Per esempio:

fit <- auto.arima(x, lambda=0)
forecast(fit)

Molte delle funzioni nel pacchetto consentono l' lambdaargomento. Quando lambdaviene specificato l' argomento, viene utilizzata una trasformazione Box-Cox. Il valore specifica una trasformazione del registro. Pertanto, l'impostazione indica che i dati registrati sono modellati e, quando vengono prodotte le previsioni, vengono nuovamente trasformate nello spazio originale.λ=0lambda=0

Vedi http://www.otexts.org/fpp/2/4 per ulteriori discussioni.


Grazie Prof. Hyndman per il tuo gentile aiuto. Penso che dovrei rileggere seriamente quel capitolo! Pensi che menzionarlo nel capitolo 2-4 possa essere d'aiuto? Credo di si! :-) Alcune domande rimangono per me: è possibile utilizzare un qualche tipo di trasformazione per valori minimi (o massimi) possibili? Sto provando a farlo con una funzione basata su log, ma dopo tutto l'intervallo di confidenza risultante è matematicamente corretto?
Ho1,

1
Si prega di porre la domanda min / max separatamente. Sì, gli intervalli di previsione sono corretti quando vengono trasformati all'indietro.
Rob Hyndman,

1
@ Ho1 Analisi delle serie storiche applicate per le previsioni gestionali di NELSON; Holden-Day 1973 pp162-165 ne discute in dettaglio ... con un'opinione diversa
IrishStat

Sfortunatamente non ha funzionato come previsto, poiché ha cambiato il metodo, e invece di una bella variazione y prevista sulle previsioni, ha appena fatto una linea piatta intorno alla media
Diego Duarte,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.