Whitespace and documentation fixes

This commit is contained in:
bl 2017-07-04 17:42:58 -07:00
parent 19e95311c2
commit 373f543894
5 changed files with 45 additions and 27 deletions

View file

@ -1,9 +1,9 @@
# Generated by roxygen2: do not edit by hand # Generated by roxygen2: do not edit by hand
S3method(plot,prophet)
S3method(predict,prophet) S3method(predict,prophet)
export(fit.prophet) export(fit.prophet)
export(make_future_dataframe) export(make_future_dataframe)
export(plot.prophet)
export(predictive_samples) export(predictive_samples)
export(prophet) export(prophet)
export(prophet_plot_components) export(prophet_plot_components)

View file

@ -780,12 +780,12 @@ sample_posterior_predictive <- function(m, df) {
n.iterations <- length(m$params$k) n.iterations <- length(m$params$k)
samp.per.iter <- max(1, ceiling(m$uncertainty.samples / n.iterations)) samp.per.iter <- max(1, ceiling(m$uncertainty.samples / n.iterations))
nsamp <- n.iterations * samp.per.iter # The actual number of samples nsamp <- n.iterations * samp.per.iter # The actual number of samples
seasonal.features <- make_all_seasonality_features(m, df) seasonal.features <- make_all_seasonality_features(m, df)
sim.values <- list("trend" = matrix(, nrow = nrow(df), ncol = nsamp), sim.values <- list("trend" = matrix(, nrow = nrow(df), ncol = nsamp),
"seasonal" = matrix(, nrow = nrow(df), ncol = nsamp), "seasonal" = matrix(, nrow = nrow(df), ncol = nsamp),
"yhat" = matrix(, nrow = nrow(df), ncol = nsamp)) "yhat" = matrix(, nrow = nrow(df), ncol = nsamp))
for (i in 1:n.iterations) { for (i in 1:n.iterations) {
# For each set of parameters from MCMC (or just 1 set for MAP), # For each set of parameters from MCMC (or just 1 set for MAP),
for (j in 1:samp.per.iter) { for (j in 1:samp.per.iter) {
@ -799,7 +799,23 @@ sample_posterior_predictive <- function(m, df) {
} }
return(sim.values) return(sim.values)
} }
#' Sample from the posterior predictive distribution.
#'
#' @param m Prophet object.
#' @param df Dataframe with dates for predictions (column ds), and capacity
#' (column cap) if logistic growth.
#'
#' @return A list with items "trend", "seasonal", and "yhat" containing
#' posterior predictive samples for that component.
#'
#' @export
predictive_samples <- function(m, df) {
df <- setup_dataframe(m, df)$df
sim.values <- sample_posterior_predictive(m, df)
return(sim.values)
}
#' Prophet uncertainty intervals. #' Prophet uncertainty intervals.
#' #'
#' @param m Prophet object. #' @param m Prophet object.
@ -812,7 +828,7 @@ predict_uncertainty <- function(m, df) {
# Add uncertainty estimates # Add uncertainty estimates
lower.p <- (1 - m$interval.width)/2 lower.p <- (1 - m$interval.width)/2
upper.p <- (1 + m$interval.width)/2 upper.p <- (1 + m$interval.width)/2
intervals <- cbind( intervals <- cbind(
t(apply(t(sim.values$yhat), 2, stats::quantile, c(lower.p, upper.p), t(apply(t(sim.values$yhat), 2, stats::quantile, c(lower.p, upper.p),
na.rm = TRUE)), na.rm = TRUE)),
@ -821,13 +837,12 @@ predict_uncertainty <- function(m, df) {
t(apply(t(sim.values$seasonal), 2, stats::quantile, c(lower.p, upper.p), t(apply(t(sim.values$seasonal), 2, stats::quantile, c(lower.p, upper.p),
na.rm = TRUE)) na.rm = TRUE))
) %>% dplyr::as_data_frame() ) %>% dplyr::as_data_frame()
colnames(intervals) <- paste(rep(c('yhat', 'trend', 'seasonal'), each=2), colnames(intervals) <- paste(rep(c('yhat', 'trend', 'seasonal'), each=2),
c('lower', 'upper'), sep = "_") c('lower', 'upper'), sep = "_")
return(intervals) return(intervals)
} }
#' Simulate observations from the extrapolated generative model. #' Simulate observations from the extrapolated generative model.
#' #'
#' @param m Prophet object. #' @param m Prophet object.
@ -1175,20 +1190,4 @@ plot_yearly <- function(m, uncertainty = TRUE, yearly_start = 0) {
return(gg.yearly) return(gg.yearly)
} }
#' Sample from the posterior predictive distribution. # fb-block 3
#'
#' @param m Prophet object.
#' @param df Dataframe with dates for predictions (column ds), and capacity
#' (column cap) if logistic growth.
#'
#' @return A list with items "trend", "seasonal", and "yhat" containing
#' posterior predictive samples for that component.
#'
#' @export
predictive_samples <- function(m, df) {
df <- setup_dataframe(m, df)$df
sim.values <- sample_posterior_predictive(m, df)
return(sim.values)
}
# fb-block 3

View file

@ -4,8 +4,8 @@
\alias{plot.prophet} \alias{plot.prophet}
\title{Plot the prophet forecast.} \title{Plot the prophet forecast.}
\usage{ \usage{
plot.prophet(x, fcst, uncertainty = TRUE, plot_cap = TRUE, xlabel = "ds", \method{plot}{prophet}(x, fcst, uncertainty = TRUE, plot_cap = TRUE,
ylabel = "y", ...) xlabel = "ds", ylabel = "y", ...)
} }
\arguments{ \arguments{
\item{x}{Prophet object.} \item{x}{Prophet object.}

View file

@ -13,7 +13,7 @@ predictive_samples(m, df)
(column cap) if logistic growth.} (column cap) if logistic growth.}
} }
\value{ \value{
A list with items "trend", "seasonal", and "yhat" containing A list with items "trend", "seasonal", and "yhat" containing
posterior predictive samples for that component. posterior predictive samples for that component.
} }
\description{ \description{

View file

@ -0,0 +1,19 @@
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/prophet.R
\name{sample_posterior_predictive}
\alias{sample_posterior_predictive}
\title{Prophet posterior predictive samples.}
\usage{
sample_posterior_predictive(m, df)
}
\arguments{
\item{m}{Prophet object.}
\item{df}{Prediction dataframe.}
}
\value{
List with posterior predictive samples for each component.
}
\description{
Prophet posterior predictive samples.
}