Skip to content

Instantly share code, notes, and snippets.

@alexhallam
Last active May 31, 2022 20:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexhallam/e3c53171379a7ea6638307a8f5abd1f0 to your computer and use it in GitHub Desktop.
Save alexhallam/e3c53171379a7ea6638307a8f5abd1f0 to your computer and use it in GitHub Desktop.
import pandas as pd
import tablespoon as tbsp
from tablespoon.data import WALMART
from mizani.breaks import date_breaks
from plotnine import *
from datetime import datetime
# make date string a date object
df_WALMART = WALMART
df_WALMART = df_WALMART.assign(ds = lambda df: pd.to_datetime(df.ds)).query("ds > '2016-03-01'")
df_WALMART
n = tbsp.Snaive()
df_n = (n.predict(df_WALMART, horizon=7*4, frequency="D", lag = 7, uncertainty_samples = 1000).assign(model = 'snaive'))
df_n.head(14)
theme_set(theme_538)
palette = ["#000000", "#ee1d52"]
df_actuals_forecasts_n = pd.concat([df_WALMART, df_n])
p = (
ggplot(df_actuals_forecasts_n, aes(x="ds", y="y"))
+ geom_line(aes(y = 'y'), color = palette[0])
+ geom_point(aes(y = 'y_sim'), color = palette[1], size = 0.1, alpha = 0.1)
+ scale_x_datetime(breaks=date_breaks("1 month"))
+ theme(axis_text_x=element_text(angle=45))
+ xlab("")
+ ggtitle("Log Sales (Snaive)")
+ scale_color_manual(palette)
)
p
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment