From a3ae4715bbc0a18cde35f7b199a671f53df80168 Mon Sep 17 00:00:00 2001 From: Maxim Grishin Date: Sun, 29 Sep 2019 23:24:38 +0300 Subject: [PATCH] Make Python version consistent with R --- R/R/prophet.R | 12 ++++++------ python/fbprophet/forecaster.py | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/R/R/prophet.R b/R/R/prophet.R index fe851f4..c8c8948 100644 --- a/R/R/prophet.R +++ b/R/R/prophet.R @@ -1264,8 +1264,8 @@ fit.prophet <- function(m, df, ...) { iter = m$mcmc.samples ) args <- utils::modifyList(args, list(...)) - stan.fit <- do.call(rstan::sampling, args) - m$params <- rstan::extract(stan.fit) + m$stan.fit <- do.call(rstan::sampling, args) + m$params <- rstan::extract(m$stan.fit) n.iteration <- length(m$params$k) } else { args <- list( @@ -1277,15 +1277,15 @@ fit.prophet <- function(m, df, ...) { as_vector = FALSE ) args <- utils::modifyList(args, list(...)) - stan.fit <- do.call(rstan::optimizing, args) - if (stan.fit$return_code != 0) { + m$stan.fit <- do.call(rstan::optimizing, args) + if (m$stan.fit$return_code != 0) { message( 'Optimization terminated abnormally. Falling back to Newton optimizer.' ) args$algorithm = 'Newton' - stan.fit <- do.call(rstan::optimizing, args) + m$stan.fit <- do.call(rstan::optimizing, args) } - m$params <- stan.fit$par + m$params <- m$stan.fit$par n.iteration <- 1 } diff --git a/python/fbprophet/forecaster.py b/python/fbprophet/forecaster.py index 3635581..16086b2 100644 --- a/python/fbprophet/forecaster.py +++ b/python/fbprophet/forecaster.py @@ -1131,17 +1131,17 @@ class Prophet(object): ) args.update(kwargs) try: - params = model.optimizing(**args) + self.stan_fit = model.optimizing(**args) except RuntimeError: # Fall back on Newton logger.warning( 'Optimization terminated abnormally. Falling back to Newton.' ) args['algorithm'] = 'Newton' - params = model.optimizing(**args) + self.stan_fit = model.optimizing(**args) - for par in params: - self.params[par] = params[par].reshape((1, -1)) + for par in self.stan_fit: + self.params[par] = self.stan_fit[par].reshape((1, -1)) # If no changepoints were requested, replace delta with 0s if len(self.changepoints) == 0: