Comment réaliser des prévisions strictement positives?

15

Je travaille sur une série chronologique dont les valeurs sont strictement positives . En travaillant avec différents modèles, notamment AR, MA, ARMA, etc., je n'ai pas pu trouver de moyen simple d'obtenir des prévisions strictement positives.

J'utilise R pour faire mes prévisions, et tout ce que j'ai pu trouver était prevision.hts {hts} qui a un paramètre positif décrit ici:

Prévoir une série chronologique ou groupée, hts de package

## 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

Des suggestions pour des séries chronologiques non hiérarchiques? Qu'en est-il de la généralisation sur l'utilisation d'autres contraintes comme minimum, maximum, etc.?

Même s'ils ne sont pas implémentés dans R, des suggestions d'articles, de modèles ou de transformations de variables générales utiles seraient appréciées.

Ho1
la source
3
Dans ce cas, l'une des choses les plus simples, mais pas toujours correctes, consiste simplement à prévoir le journal de la variable.
mpiktas
4
Pour reprendre partiellement @mpiktas, une approche consiste à travailler à l'échelle logarithmique. En pratique, cela améliore souvent plusieurs aspects du modèle à la fois. Alors que les intervalles de prédiction se transforment très bien, vous devez faire attention aux prévisions moyennes (si la normalité est raisonnable sur les journaux, vous pouvez obtenir une estimation de la moyenne de la lognormale qui est généralement raisonnable si les tailles d'échantillon sont grandes). Une alternative qui peut parfois fonctionner pour certains modèles de séries chronologiques simples consiste à utiliser un modèle Gamma.
Glen_b -Reinstate Monica

Réponses:

13

Avec le forecastpackage pour R, il suffit de régler lambda=0lors du montage d'un modèle. Par exemple:

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

lambdalambdaλ=0lambda=0

Voir http://www.otexts.org/fpp/2/4 pour une discussion plus approfondie.

Rob Hyndman
la source
Merci le professeur Hyndman pour votre aimable aide. Je pense que je devrais relire ce chapitre sérieusement! Pensez-vous que le mentionner au chapitre 2-4 peut aider? Je le pense! :-) Certaines questions restent pour moi: une sorte de transformation peut-elle être utilisée pour les valeurs minimales (ou maximales) possibles? J'essaie de le faire avec une fonction basée sur le journal, mais après tout, l'intervalle de confiance résultant est-il mathématiquement correct?
Ho1
1
Veuillez poser la question min / max séparément. Oui, les intervalles de prédiction sont corrects lors d'une rétrotransformation.
Rob Hyndman
1
@ Ho1 Analyse des séries chronologiques appliquées pour les prévisions de gestion par NELSON; Holden-Day 1973 pp162-165 en discute en détail ... avec une opinion diverse
IrishStat
Malheureusement, cela n'a pas fonctionné comme prévu, car il a changé la méthode, et au lieu d'une belle variation y attendue sur les prédictions, il a juste fait une ligne plate autour de la moyenne
Diego Duarte