2016-11-10 1 views
0

Dans la "tentative d'échec" ci-dessous, j'essaie de transmettre une liste de valeurs de paramètres à auto.arima comme l'exemple "Working Correctly". Dans la tentative "Failed Attempt", auto.arima semble ignorer toutes les autres valeurs sauf tsdat1.Passage de la liste des paramètres à Auto.Arima

Code: 
Tlambda <- 0.9999588 

##Working Correctly 
fit <- auto.arima(tsdat1, lambda = Tlambda, stepwise=TRUE, approximation = TRUE) 

##Failed attempt 
Param_List<-c(tsdat1, lambda = Tlambda, stepwise=TRUE, approximation = TRUE) 
fit2 <- auto.arima(Param_List) 



Data: 

dput(tsdat1) 
c(0.767202484266145, 2.96949977928183, 2.0671481782824, 3.66022236827445, 
1.01872427624301, 0, 4.45424966892274, 2.75619757104319, 1.83011118413722, 
1.01872427624301, 1.53440496853229, 1.48474988964091, 0, 1.83011118413722, 
2.03744855248601, 0, 1.48474988964091, 0.689049392760799, 1.83011118413722, 
0, 3.06880993706458, 0, 1.3780987855216, 1.83011118413722, 0, 
0.767202484266145, 4.45424966892274, 0.689049392760799, 3.66022236827445, 
1.01872427624301, 3.06880993706458, 1.48474988964091, 1.3780987855216, 
0, 4.07489710497203, 1.53440496853229, 4.45424966892274, 2.0671481782824, 
16.471000657235, 1.01872427624301, 3.06880993706458, 10.3932492274864, 
6.89049392760799, 3.66022236827445, 3.05617282872902, 0.767202484266145, 
4.45424966892274, 4.82334574932559, 7.32044473654889, 5.09362138121504, 
0.767202484266145, 10.3932492274864, 3.44524696380399, 9.15055592068612, 
7.13106993370105, 3.06880993706458, 10.3932492274864, 1.3780987855216, 
3.66022236827445, 7.13106993370105, 1.53440496853229, 5.93899955856366, 
4.13429635656479, 9.15055592068612, 6.11234565745804, 0.767202484266145, 
4.45424966892274, 2.0671481782824, 3.66022236827445, 5.09362138121504, 
3.83601242133072, 4.45424966892274, 2.0671481782824, 7.32044473654889, 
7.13106993370105, 4.60321490559687, 7.42374944820457, 6.20144453484719, 
7.32044473654889, 4.07489710497203, 1.53440496853229, 5.93899955856366, 
2.75619757104319, 5.49033355241167, 4.07489710497203, 1.53440496853229, 
5.93899955856366, 1.3780987855216, 1.83011118413722, 5.09362138121504, 
1.53440496853229, 2.96949977928183, 2.0671481782824, 7.32044473654889, 
3.05617282872902, 2.30160745279843, 8.90849933784549, 0, 3.66022236827445, 
1.01872427624301) 

Répondre

0

Si vous voulez passer des arguments comme une liste, utilisez do.call.

Param_List <- list(y=tsdat1, lambda = Tlambda, stepwise=TRUE, approximation = TRUE) 
fit2 <- do.call(auto.arima, args=Param_List) 
+0

@Rob Hyndman Merci d'avoir répondu à mes questions, ça a fait l'affaire. Mon objectif final est de paralléliser l'entraînement de plusieurs modèles auto.arima sur différents ensembles de cœurs. J'essaie donc de passer des listes de paramètres à parLapply, à partir du paquet parallèle. Avez-vous des conseils sur l'exécution de plusieurs prévisions auto.arima en parallèle? – user3476463

0

Vous pouvez le faire comme ceci:

Param_List<-list(x=tsdat1, lambda = Tlambda, stepwise=TRUE, approximation = TRUE) 
    fit2 <- auto.arima(x=Param_List$x, lambda = Param_List$lambda, stepwise=Param_List$stepwise, approximation = Param_List$approximation) 

Je ne sais pas si une solution plus jolie existe, bien que