Visualize a Time Series Linear Regression Formula
A wrapper for stats::lm()
that overlays a
linear regression fitted model over a time series, which can help
show the effect of feature engineering
plot_time_series_regression( .data, .date_var, .formula, .show_summary = FALSE, ... )
.data |
A |
.date_var |
A column containing either date or date-time values |
.formula |
A linear regression formula. The left-hand side of the formula is used
as the y-axis value. The right-hand side of the formula is used to develop the linear regression model.
See |
.show_summary |
If |
... |
Additional arguments passed to |
plot_time_series_regression()
is a scalable function that works with both ungrouped and grouped
data.frame
objects (and tibbles
!).
Time Series Formula
The .formula
uses stats::lm()
to apply a linear regression, which is used to visualize
the effect of feature engineering on a time series.
The left-hand side of the formula is used as the y-axis value.
The right-hand side of the formula is used to develop the linear regression model.
Interactive by Default
plot_time_series_regression()
is built for exploration using:
Interactive Plots: plotly
(default) - Great for exploring!
Static Plots: ggplot2
(set .interactive = FALSE
) - Great for PDF Reports
By default, an interactive plotly
visualization is returned.
Scalable with Facets & Dplyr Groups
plot_time_series_regression()
returns multiple time series plots using ggplot2
facets:
group_by()
- If groups are detected, multiple facets are returned
plot_time_series_regression(.facet_vars)
- You can manually supply facets as well.
A static ggplot2
plot or an interactive plotly
plot
library(dplyr) library(lubridate) # ---- SINGLE SERIES ---- m4_monthly %>% filter(id == "M750") %>% plot_time_series_regression( .date_var = date, .formula = log(value) ~ as.numeric(date) + month(date, label = TRUE), .show_summary = TRUE, .facet_ncol = 2, .interactive = FALSE ) # ---- GROUPED SERIES ---- m4_monthly %>% group_by(id) %>% plot_time_series_regression( .date_var = date, .formula = log(value) ~ as.numeric(date) + month(date, label = TRUE), .facet_ncol = 2, .interactive = FALSE )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.