/ / forecast :: erreur thetaf - r, série chronologique, prévision

prévision :: erreur thetaf - r, série chronologique, prévision

J'ai actuellement des problèmes avec le paquet de prévisions 8.2 et la fonction thetaf:

dat<- structure(c(5, 0, 5, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0, 2, 0, 1,
0, 2.1, 0, 2, 0, 1, 0, 0, 0, 2.5, 2, 2, 0, 1.7, 0, 1.5, 0, 1,
0, 0, 0, 2.5, 0), .Tsp = c(1999, 2003.91666666667, 12), class = "ts")
library(forecast)
thetaf(dat,h = 1)$mean

donne l'erreur suivante

Error in ets(object, lambda = lambda, allow.multiplicative.trend =  allow.multiplicative.trend,  :
y should be a univariate time series
Additional: Warnings:
1: In ets(x, "ANN", alpha = alpha, opt.crit = "mse", lambda = lambda,  :
Missing values encountered. Using longest contiguous portion of time series
2: In fit$call <- match.call() : ...

L'erreur concerne la fréquence. Si c'est 1 au lieu de 12 alors ça marche. Je ne vois pas pourquoi cela pourrait causer une erreur. Des idées?

Réponses:

1 pour la réponse № 1

Appliquée aux données saisonnières, la méthode thêta utilise une décomposition classique multiplicative pour supprimer la saisonnalité. Dans ce cas, la décomposition échoue:

> decompose(dat, type="multiplicative")
$x
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1999 5.0 0.0 5.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0
2000 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2001 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9 0.0 2.0 0.0
2002 1.0 0.0 2.1 0.0 2.0 0.0 1.0 0.0 0.0 0.0 2.5 2.0
2003 2.0 0.0 1.7 0.0 1.5 0.0 1.0 0.0 0.0 0.0 2.5 0.0

$seasonal
Jan       Feb       Mar       Apr       May       Jun       Jul       Aug
1999 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
2000 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
2001 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
2002 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
2003 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
Sep       Oct       Nov       Dec
1999 0.7674245 0.0000000 2.1696136 0.7889410
2000 0.7674245 0.0000000 2.1696136 0.7889410
2001 0.7674245 0.0000000 2.1696136 0.7889410
2002 0.7674245 0.0000000 2.1696136 0.7889410
2003 0.7674245 0.0000000 2.1696136 0.7889410

$trend
Jan       Feb       Mar       Apr       May       Jun       Jul       Aug
1999        NA        NA        NA        NA        NA        NA 0.9583333 0.9166667
2000 0.3333333 0.3333333 0.3333333 0.3333333 0.3333333 0.3333333 0.1666667 0.0000000
2001 0.0000000 0.0000000 0.0375000 0.0750000 0.1583333 0.2416667 0.2833333 0.3250000
2002 0.7083333 0.7500000 0.7125000 0.6750000 0.6958333 0.8000000 0.9250000 0.9666667
2003 0.8916667 0.8916667 0.8916667 0.8916667 0.8916667 0.8083333        NA        NA
Sep       Oct       Nov       Dec
1999 0.7083333 0.5000000 0.5000000 0.4166667
2000 0.0000000 0.0000000 0.0000000 0.0000000
2001 0.4125000 0.5000000 0.5833333 0.6666667
2002 0.9500000 0.9333333 0.9125000 0.8916667
2003        NA        NA        NA        NA

$random
Jan       Feb       Mar       Apr       May       Jun       Jul       Aug
1999        NA       NaN        NA       NaN        NA        NA 0.0000000       NaN
2000 2.1793043       NaN 0.0000000       NaN 0.0000000       NaN 0.0000000       NaN
2001       NaN       NaN 0.0000000       NaN 0.0000000       NaN 0.0000000       NaN
2002 0.2563887       NaN 2.3017827       NaN 2.3911982       NaN 3.7907196       NaN
2003 0.4073466       NaN 1.4889369       NaN 1.3995214       NaN        NA       NaN
Sep       Oct       Nov       Dec
1999 0.0000000       NaN 0.0000000 0.0000000
2000       NaN       NaN       NaN       NaN
2001 2.8430397       NaN 1.5802682 0.0000000
2002 0.0000000       NaN 1.2627714 2.8430397
2003        NA       NaN        NA        NA

$figure
[1] 5.5063443 0.0000000 1.2804721 0.0000000 1.2020131 0.0000000 0.2851915 0.0000000
[9] 0.7674245 0.0000000 2.1696136 0.7889410

$type
[1] "multiplicative"

attr(,"class")
[1] "decomposed.ts"

Le problème se pose parce que les indices saisonniers sont nuls pour avril, juin, août et octobre. La division par l’indice saisonnier crée donc NaN valeurs.

J'ai résolu le problème (dans la v8.3 du paquet de prévisions) de procéder à une version non saisonnière de la méthode thêta lorsque cela se produit.