Sto lavorando ad un alogoritmo in R per automatizzare un calcolo mensile delle previsioni. Sto usando, tra gli altri, la funzione ets () dal pacchetto di previsione per calcolare la previsione. Funziona molto bene.
Sfortunatamente, per alcune serie storiche specifiche, il risultato che ottengo è strano.
Di seguito, trova il codice che sto utilizzando:
train_ts<- ts(values, frequency=12)
fit2<-ets(train_ts, model="ZZZ", damped=TRUE, alpha=NULL, beta=NULL, gamma=NULL,
phi=NULL, additive.only=FALSE, lambda=TRUE,
lower=c(0.0001,0.0001,0.0001,0.8),upper=c(0.9999,0.9999,0.9999,0.98),
opt.crit=c("lik","amse","mse","sigma","mae"), nmse=3,
bounds=c("both","usual","admissible"), ic=c("aicc","aic","bic"),
restrict=TRUE)
ets <- forecast(fit2,h=forecasthorizon,method ='ets')
Di seguito, troverai il set di dati cronologici in questione:
values <- c(27, 27, 7, 24, 39, 40, 24, 45, 36, 37, 31, 47, 16, 24, 6, 21,
35, 36, 21, 40, 32, 33, 27, 42, 14, 21, 5, 19, 31, 32, 19, 36,
29, 29, 24, 42, 15, 24, 21)
Qui, sul grafico, vedrai i dati storici (nero), il valore adattato (verde) e la previsione (blu). La previsione non è assolutamente in linea con il valore adattato.
Hai idea di come "vincolare" il pronostico per essere "in linea" con le vendite storiche?
ets
. La media / livello dei dati storici è di circa 20 e la media / livello di previsione è di circa 50. Non sei sicuro del perché ciò accada? puoi eseguire un basicets
e vedere se ottieni gli stessi risultati?