Shoe Sales
Shoe Sales
<ipython-input-1-c8dcee756ab9>:5: FutureWarning: The pandas.datetime class is deprecated and will be removed from p
andas in a future version. Import from datetime module instead.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 1/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[18]:
Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
In [217]: df.head()
Out[217]: Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
In [3]: df.describe().T
Out[3]:
count mean std min 25% 50% 75% max
In [4]: df.shape
Out[4]: (187, 1)
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 2/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [219]: df.index
'1980-09-01', '1980-10-01',
...
'1995-06-01', '1995-07-01'],
Out[220]: 42
In [6]: df.drop_duplicates(inplace=True)
In [222]: df.duplicated().sum()
Out[222]: 0
Out[223]: Shoe_Sales 0
dtype: int64
In [ ]:
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 3/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 4/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [225]: df.describe()
Out[225]: Shoe_Sales
count 145.000000
mean 258.620690
std 123.428177
min 85.000000
25% 159.000000
50% 242.000000
75% 335.000000
max 662.000000
In [13]: df.index.month_name()
...
Yearly boxplot
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 5/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [15]: _, ax = plt.subplots(figsize=(22,8))
sns.boxplot(x = df.index.year,y = df.values[:,0],ax=ax)
plt.grid()
Monthly bOxplot
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 6/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [227]: _, ax = plt.subplots(figsize=(22,8))
sns.boxplot(x = df.index.month_name(),y = df.values[:,0],ax=ax)
plt.grid();
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 7/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[228]: YearMonth April August December February January July June March May November October September
YearMonth
1980 95.0 128.0 140.0 89.0 85.0 96.0 NaN 109.0 91.0 178.0 111.0 124.0
1981 NaN NaN 163.0 132.0 150.0 NaN 94.0 155.0 NaN NaN 130.0 123.0
1982 112.0 NaN 214.0 NaN 101.0 153.0 116.0 127.0 108.0 170.0 142.0 NaN
1983 156.0 165.0 197.0 122.0 134.0 NaN 169.0 NaN 145.0 NaN NaN NaN
1984 137.0 171.0 196.0 NaN NaN 136.0 NaN 139.0 NaN 147.0 110.0 NaN
1985 NaN 344.0 523.0 118.0 NaN 281.0 NaN 125.0 120.0 580.0 362.0 366.0
1986 306.0 431.0 579.0 246.0 348.0 358.0 280.0 NaN 279.0 504.0 433.0 448.0
1987 496.0 468.0 662.0 335.0 384.0 NaN 377.0 320.0 NaN 493.0 520.0 428.0
1988 328.0 355.0 454.0 308.0 304.0 483.0 338.0 313.0 354.0 352.0 290.0 439.0
1989 254.0 294.0 545.0 303.0 NaN 379.0 310.0 NaN 309.0 405.0 318.0 356.0
1990 NaN 285.0 471.0 243.0 268.0 302.0 222.0 273.0 236.0 NaN 322.0 NaN
1991 186.0 NaN 378.0 253.0 198.0 228.0 105.0 173.0 185.0 277.0 270.0 189.0
1992 179.0 211.0 347.0 182.0 NaN 250.0 168.0 258.0 NaN 305.0 234.0 260.0
1993 242.0 319.0 NaN 217.0 203.0 252.0 175.0 227.0 NaN 336.0 NaN 202.0
1994 NaN 205.0 394.0 NaN NaN 225.0 NaN 187.0 193.0 275.0 NaN 259.0
1995 195.0 NaN NaN 230.0 159.0 274.0 220.0 188.0 NaN NaN NaN NaN
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 8/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [229]: monthly_sales_across_years.plot(figsize=(20,10))
plt.grid()
plt.legend(loc='best');
ECDF PLOT
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 9/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
plt.subplot(312)
cdf = ECDF(df['Shoe_Sales'])
plt.plot(cdf.x, cdf.y, label = "statmodels", color = c)
plt.xlabel('Shoe_Sales');
Plot a time series monthplot to understand the spread of accidents across different
years and within different months across years.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 10/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 11/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [ ]: df.count()
Addictive Decomposition
In [19]: decomposition = seasonal_decompose(df,model='additive')
decomposition.plot();
Multipicative Decomposition
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 12/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Split the data into train and test and plot the training and test data.
In [21]: train = df[df.index.year<1991]
test = df[df.index.year>=1991]
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 13/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [237]: train.shape
Out[237]: (132, 1)
In [238]: test.shape
Out[238]: (55, 1)
In [22]: train.head()
Out[22]:
Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
In [23]: test.head()
Out[23]:
Shoe_Sales
YearMonth
1991-01-01 198
1991-02-01 253
1991-03-01 173
1991-04-01 186
1991-05-01 185
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 14/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [239]: train['Shoe_Sales'].plot(figsize=(13,6),fontsize=15)
test['Shoe_Sales'].plot(figsize=(13,6),fontsize=15)
plt.grid()
plt.legend(['Training Data','Test Data'])
plt.show()
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 15/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [240]: df['Shoe_Sales'].plot(figsize=(13,6),fontsize=15)
Out[240]: <AxesSubplot:xlabel='YearMonth'>
Linear Regression
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 16/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 3
1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 1
14, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132]
[133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 15
5, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 17
8, 179, 180, 181, 182, 183, 184, 185, 186, 187]
In [246]: lr = LinearRegression()
In [247]: lr.fit(LinearRegression_train[['time']],LinearRegression_train['Shoe_Sales'].values)
Out[247]: LinearRegression()
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 17/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 18/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 19/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
NAIVE APPROACH
In [252]: NaiveModel_train = train.copy()
NaiveModel_test = test.copy()
YearMonth
1980-01-01 471
1980-02-01 471
1980-03-01 471
1980-04-01 471
1980-05-01 471
Out[260]: YearMonth
1991-01-01 471
1991-02-01 471
1991-03-01 471
1991-04-01 471
1991-05-01 471
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 20/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [262]: NaiveModel_train['Shoe_Sales']
Out[262]: YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
...
1990-08-01 285
1990-09-01 309
1990-10-01 322
1990-11-01 362
1990-12-01 471
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 21/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [263]: plt.figure(figsize=(12,8))
plt.plot(NaiveModel_train['Shoe_Sales'], label='Train')
plt.plot(test['Shoe_Sales'], label='Test')
plt.plot(NaiveModel_test['naive'], label='Naive Forecast on Test Data')
plt.legend(loc='best')
plt.title("Naive Forecast")
plt.grid();
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 22/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
MODEL Evaluation
In [265]: rmse_model2_train = metrics.mean_squared_error(train['Shoe_Sales'],NaiveModel_train['naive'])
mape_model2_train = MAPE(train['Shoe_Sales'],NaiveModel_train['naive'])
print("For RegressionOnTime forecast on the Train Data, RMSE is %3.3f" %(rmse_model2_train))
print("For RegressionOnTime forecast on the Train Data, MAPE is %3.3f" %(mape_model2_train))
## Test Data - RMSE
rmse_model2_test = metrics.mean_squared_error(test['Shoe_Sales'],NaiveModel_test['naive'],squared=False)
mape_model2_test = MAPE(test['Shoe_Sales'],NaiveModel_test['naive'])
print("For RegressionOnTime forecast on the Test Data, RMSE is %3.3f" %(rmse_model2_test))
print("For RegressionOnTime forecast on the Test Data, MAPE is %3.3f" %(mape_model2_test))
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 23/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[35]:
Shoe_Sales mean_forecast
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 24/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[36]:
Shoe_Sales mean_forecast
YearMonth
1980-01-01 85 250.575758
1980-02-01 89 250.575758
1980-04-01 95 250.575758
1980-05-01 91 250.575758
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 25/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [34]: plt.figure(figsize=(12,8))
plt.plot(SimpleAverage_train['Shoe_Sales'], label='Train')
plt.plot(SimpleAverage_test['Shoe_Sales'], label='Test')
plt.plot(SimpleAverage_test['mean_forecast'], label='Simple Average on Test Data')
plt.legend(loc='best')
plt.title("Simple Average Forecast")
plt.grid();
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 26/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
MODEL EVALAUTION
In [32]: ## Test Data - RMSE
rmse_model3_test = metrics.mean_squared_error(test['Shoe_Sales'],SimpleAverage_test['mean_forecast'],squared=False)
mape_model3_test = MAPE(test['Shoe_Sales'],SimpleAverage_test['mean_forecast'])
print("For Simple Average forecast on the Test Data, RMSE is %3.3f" %(rmse_model3_test))
print("For RegressionOnTime forecast on the Test Data, MAPE is %3.3f" %(mape_model3_test))
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 27/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 28/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 29/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 30/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [279]:
trailing_MovingAverage_train['Trailing_2'] = MovingAverage['Shoe_Sales'].rolling(2).mean()
trailing_MovingAverage_train['Trailing_4'] = MovingAverage['Shoe_Sales'].rolling(4).mean()
trailing_MovingAverage_train['Trailing_6'] = MovingAverage['Shoe_Sales'].rolling(6).mean()
trailing_MovingAverage_train['Trailing_9'] = MovingAverage['Shoe_Sales'].rolling(9).mean()
trailing_MovingAverage_test['Trailing_2'] = MovingAverage['Shoe_Sales'].rolling(2).mean()
trailing_MovingAverage_test['Trailing_4'] = MovingAverage['Shoe_Sales'].rolling(4).mean()
trailing_MovingAverage_test['Trailing_6'] = MovingAverage['Shoe_Sales'].rolling(6).mean()
trailing_MovingAverage_test['Trailing_9'] = MovingAverage['Shoe_Sales'].rolling(9).mean()
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 31/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 32/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
MODEL EVALUATION
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 33/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
For 2 point Moving Average Model forecast on the Training Data, RMSE is 45.949
For 4 point Moving Average Model forecast on the Training Data, RMSE is 57.873
For 6 point Moving Average Model forecast on the Training Data, RMSE is 63.457
For 9 point Moving Average Model forecast on the Training Data, RMSE is 67.724
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 34/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 35/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 36/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[289]: Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 37/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [293]: model_SES_autofit.params
'smoothing_trend': nan,
'smoothing_seasonal': nan,
'damping_trend': nan,
'initial_level': 88.82911441760453,
'initial_trend': nan,
'use_boxcox': False,
'lamda': None,
'remove_bias': False}
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 38/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 39/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
For Alpha =0.995 Simple Exponential Smoothing Model forecast on the Test Data, RMSE is 196.405
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 40/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 41/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [300]: ## First we will define an empty dataframe to store our values from the loop
resultsDf_6 = pd.DataFrame({'Alpha Values':[],'Train RMSE':[],'Test RMSE': []})
resultsDf_6
SES_test
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 42/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Shoe_Sales predict
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 43/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Shoe_Sales predict
YearMonth
rmse_model5_train_i = metrics.mean_squared_error(SES_train['Shoe_Sales'],SES_train['predict',i],squared=False)
rmse_model5_test_i = metrics.mean_squared_error(SES_test['Shoe_Sales'],SES_test['predict',i],squared=False)
Model Evaluation
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 44/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 45/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 46/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 47/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 48/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[308]: Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
... ...
1990-08-01 285
1990-09-01 309
1990-10-01 322
1990-11-01 362
1990-12-01 471
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 49/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [324]: model_SES_autofit.params
'smoothing_trend': nan,
'smoothing_seasonal': nan,
'damping_trend': nan,
'initial_level': 88.82911441760453,
'initial_trend': nan,
'use_boxcox': False,
'lamda': None,
'remove_bias': False}
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 50/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 51/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
For Alpha =0.995 Simple Exponential Smoothing Model forecast on the Test Data, RMSE is 196.405
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 52/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 53/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [330]: ## First we will define an empty dataframe to store our values from the loop
resultsDf_6 = pd.DataFrame({'Alpha Values':[],'Train RMSE':[],'Test RMSE': []})
resultsDf_6
SES_test
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 54/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Shoe_Sales predict
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 55/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Shoe_Sales predict
YearMonth
MODEL EVALUATION
In [331]: resultsDf_6.sort_values(by=['Test RMSE'],ascending=True)
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 56/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 57/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [ ]:
Two parameters 𝛼 and 𝛽 are estimated in this model. Level and Trend are
accounted for in this model.
In [340]: DES_train = train.copy()
DES_test = test.copy()
In [343]: ## First we will define an empty dataframe to store our values from the loop
resultsDf_7 = pd.DataFrame({'Alpha Values':[],'Beta Values':[],'Train RMSE':[],'Test RMSE': []})
resultsDf_7
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 58/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
rmse_model6_train = metrics.mean_squared_error(DES_train['Shoe_Sales'],DES_train['predict',i,j],squared=False
rmse_model6_test = metrics.mean_squared_error(DES_test['Shoe_Sales'],DES_test['predict',i,j],squared=False)
In [347]: resultsDf_7
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 59/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 60/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 61/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Three parameters 𝛼 , 𝛽 and 𝛾 are estimated in this model. Level, Trend and
Seasonality are accounted for in this model.¶
In [356]: TES_train = train.copy()
TES_test = test.copy()
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 62/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [363]: TES_train.head()
Out[363]: Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
In [376]: model_TES_autofit.params
'smoothing_trend': 0.00014086793240142598,
'smoothing_seasonal': 0.24246164909614723,
'damping_trend': nan,
'initial_level': 210.39351963064775,
'initial_trend': 0.2802724231796019,
0.85449496, 0.86086391]),
'use_boxcox': False,
'lamda': None,
'remove_bias': False}
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 63/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
YearMonth
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 64/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 65/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
For Alpha=0.676,Beta=0.088,Gamma=0.323, Triple Exponential Smoothing Model forecast on the Test Data, RMSE is 84.9
14
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 66/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Section 2
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 67/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 68/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [45]: test_stationarity(train['Shoe_Sales'])
p-value 0.600763
dtype: float64
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 69/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [46]: test_stationarity(test['Shoe_Sales'])
p-value 0.575407
dtype: float64
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 70/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [386]: df.diff().dropna().plot(grid=True);
Plot the Autocorrelation and the Partial Autocorrelation function plots on the whole
data.
In [387]: from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 71/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [388]: plot_acf(df,alpha=0.05);
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 72/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [389]: plot_pacf(df,zero=False,alpha=0.05);
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 73/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [390]: plot_pacf(df,zero=False,alpha=0.05,method='ywmle');
In [392]: df.index.year.unique()
Out[392]: Int64Index([1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
dtype='int64', name='YearMonth')
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 74/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Out[394]: Shoe_Sales
YearMonth
1980-01-01 85
1980-02-01 89
1980-03-01 109
1980-04-01 95
1980-05-01 91
Out[397]: Shoe_Sales
YearMonth
1991-01-01 198
1991-02-01 253
1991-03-01 173
1991-04-01 186
1991-05-01 185
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 75/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [400]:
train.plot(grid=True,figsize=(20,8));
Model: (0, 1, 0)
Model: (0, 1, 1)
Model: (0, 1, 2)
Model: (0, 1, 3)
Model: (1, 1, 0)
Model: (1, 1, 1)
Model: (1, 1, 2)
Model: (1, 1, 3)
Model: (2, 1, 0)
Model: (2, 1, 1)
Model: (2, 1, 2)
Model: (2, 1, 3)
Model: (3, 1, 0)
Model: (3, 1, 1)
Model: (3, 1, 2)
Model: (3, 1, 3)
Out[50]:
param AIC
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 77/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
ARIMA(0, 1, 0) - AIC:1508.2837722095962
ARIMA(0, 1, 1) - AIC:1497.050322418796
ARIMA(0, 1, 2) - AIC:1494.964605366341
ARIMA(0, 1, 3) - AIC:1495.1484738738857
ARIMA(1, 1, 0) - AIC:1501.6431242011804
ARIMA(1, 1, 1) - AIC:1492.4871865078985
ARIMA(1, 1, 2) - AIC:1494.423859457242
ARIMA(1, 1, 3) - AIC:1496.385878255936
ARIMA(2, 1, 0) - AIC:1498.9504830259475
ARIMA(2, 1, 1) - AIC:1494.4314983035842
ARIMA(2, 1, 2) - AIC:1496.4107391804341
ARIMA(2, 1, 3) - AIC:1480.8640496603166
ARIMA(3, 1, 0) - AIC:1498.9303094231939
ARIMA(3, 1, 1) - AIC:1496.3468641049035
ARIMA(3, 1, 2) - AIC:1495.6558545472712
ARIMA(3, 1, 3) - AIC:1482.5631378700123
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 78/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [406]: ## Sort the above AIC values in the ascending order to get the parameters for the minimum AIC value
ARIMA_AIC.sort_values(by='AIC',ascending=True).head()
11 (2, 1, 3) 1480.864050
15 (3, 1, 3) 1482.563138
5 (1, 1, 1) 1492.487187
6 (1, 1, 2) 1494.423859
9 (2, 1, 1) 1494.431498
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 79/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
SARIMAX Results
==============================================================================
- 12-01-1990
==============================================================================
------------------------------------------------------------------------------
===================================================================================
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 80/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [416]: results_auto_ARIMA.plot_diagnostics(figsize=(15,5));
Predict on the Test Set using this model and evaluate the model.
In [54]: predicted_auto_ARIMA = results_auto_ARIMA.forecast(steps=len(test))
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 81/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
RMSE: 183.8987336906776
MAPE: 85.36879105091518
Out[57]:
RMSE MAPE
Build a version of the ARIMA model for which the best parameters are
selected by looking at the ACF and the PACF plots.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 82/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 83/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
The Auto-Regressive parameter in an ARIMA model is 'p' which comes from the significant lag before which the PACF plot cuts-off to 3.
The
Moving-Average parameter in an ARIMA model is 'q' which comes from the significant lag before the ACF plot cuts-off to 3.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 84/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
SARIMAX Results
==============================================================================
- 12-01-1990
==============================================================================
------------------------------------------------------------------------------
===================================================================================
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 85/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [64]: results_manual_ARIMA.plot_diagnostics(figsize=(15,5));
Predict on the Test Set using this model and evaluate the model.¶
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 86/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
RMSE: 143.25358508400214
MAPE: 66.47287651689274
Out[69]:
RMSE MAPE
Build an Automated version of a SARIMA model for which the best parameters are selected in accordance
with the lowest Akaike Information Criteria (AIC).
Let us look at the ACF plot once more to understand the seasonal parameter for the SARIMA model.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 87/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 88/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 89/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
results_SARIMA = SARIMA_model.fit(maxiter=1000)
print('SARIMA{}x{} - AIC:{}'.format(param, param_seasonal, results_SARIMA.aic))
SARIMA_AIC = SARIMA_AIC.append({'param':param,'seasonal':param_seasonal ,'AIC': results_SARIMA.aic}, ignore_i
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 90/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [438]: SARIMA_AIC.sort_values(by=['AIC']).head()
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 91/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
SARIMAX Results
=========================================================================================
- 12-01-1990
==============================================================================
------------------------------------------------------------------------------
===================================================================================
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 92/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [72]: results_auto_SARIMA.plot_diagnostics(figsize=(15,5));
Predict on the Test Set using this model and evaluate the model.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 93/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [75]: predicted_auto_SARIMA.summary_frame(alpha=0.05).head()
Out[75]:
Shoe_Sales mean mean_se mean_ci_lower mean_ci_upper
RMSE: 60.71587632681772
MAPE: 23.58195186032845
Out[77]:
RMSE MAPE
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 94/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
Build a version of the SARIMA model for which the best parameters are selected by looking at the ACF and
the PACF plots. - Seasonality at 6.
Let us look at the ACF and the PACF plots once more.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 95/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
We are going to take the seasonal period as 3 or its multiple e.g. 6. We are taking the p value to be 6 and the q value also to be 6 as the parameters
same as the ARIMA model.
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 96/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
The Auto-Regressive parameter in an SARIMA model is 'P' which comes from the significant lag after which the PACF plot cuts-off to 0.
The Moving-
Average parameter in an SARIMA model is 'Q' which comes from the significant lag after which the ACF plot cuts-off to 3.
Remember to check the
ACF and the PACF plots only at multiples of 3 (since 3 is the seasonal period).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 97/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
SARIMAX Results
=========================================================================================
- 12-01-1990
==============================================================================
------------------------------------------------------------------------------
===================================================================================
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 98/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [454]: results_manual_SARIMA.plot_diagnostics(figsize=(15,5))
plt.show()
Predict on the Test Set using this model and evaluate the model.
---------------------------------------------------------------------------
<ipython-input-79-2782ab37909c> in <module>
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 99/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
RMSE: 101.21577490213676
MAPE: 46.0819835423647
Out[78]:
RMSE MAPE
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 100/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
SARIMAX Results
=========================================================================================
- 07-01-1995
==============================================================================
------------------------------------------------------------------------------
===================================================================================
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 101/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [105]: results_full_data_model.plot_diagnostics(figsize=(15,5));
In [ ]:
# Evaluate the model on the whole and predict 12 months into the future
(till the end of next year).
In [93]: predicted_manual_SARIMA_6_full_data = results_full_data_model.get_forecast(steps=12)
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 102/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [95]: predicted_manual_SARIMA_6_full_data.summary_frame(alpha=0.05).head()
Out[95]:
Shoe_Sales mean mean_se mean_ci_lower mean_ci_upper
In [100]: df.tail()
Out[100]:
Shoe_Sales
YearMonth
1995-03-01 188
1995-04-01 195
1995-05-01 189
1995-06-01 220
1995-07-01 274
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 103/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
In [ ]:
In [ ]:
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 104/105
07/03/2022, 12:19 time_series_shoesales - Jupyter Notebook
localhost:8888/notebooks/time_series_shoesales.ipynb#Evaluate-the-model-on-the-whole-and-predict-17-months-into-the-future-(till-the-end-of-next-year). 105/105