ibnummuhammad commited on
Commit
bc7c2f9
1 Parent(s): 8590547

Add multiple_timeseries_forecast.ipynb

Browse files
autoregression.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
cross_validation.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
multiple_timeseries_forecast.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
partial_autocorrelation.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
residuals.ipynb ADDED
@@ -0,0 +1,2898 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 2,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "# Import packages\n",
10
+ "import plotly.graph_objects as go\n",
11
+ "import pandas as pd\n",
12
+ "import plotly.express as px\n",
13
+ "from statsmodels.tsa.holtwinters import ExponentialSmoothing"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": 3,
19
+ "metadata": {},
20
+ "outputs": [],
21
+ "source": [
22
+ "# Read in the data\n",
23
+ "data = pd.read_csv(\"../coal-price-data/AirPassengers.csv\")"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "code",
28
+ "execution_count": 4,
29
+ "metadata": {},
30
+ "outputs": [],
31
+ "source": [
32
+ "data[\"Month\"] = pd.to_datetime(data[\"Month\"])"
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "code",
37
+ "execution_count": 5,
38
+ "metadata": {},
39
+ "outputs": [],
40
+ "source": [
41
+ "# Split train and test\n",
42
+ "train = data.iloc[: -int(len(data) * 0.2)]\n",
43
+ "test = data.iloc[-int(len(data) * 0.2) :]"
44
+ ]
45
+ },
46
+ {
47
+ "cell_type": "code",
48
+ "execution_count": 6,
49
+ "metadata": {},
50
+ "outputs": [],
51
+ "source": [
52
+ "def plot_func(forecast: list[float], title: str, save_path: str = None) -> None:\n",
53
+ " \"\"\"Function to plot the forecasts.\"\"\"\n",
54
+ " fig = go.Figure()\n",
55
+ " fig.add_trace(\n",
56
+ " go.Scatter(x=train[\"Month\"], y=train[\"#Passengers\"], name=\"Train\")\n",
57
+ " )\n",
58
+ " fig.add_trace(\n",
59
+ " go.Scatter(x=test[\"Month\"], y=test[\"#Passengers\"], name=\"Test\")\n",
60
+ " )\n",
61
+ " fig.add_trace(go.Scatter(x=test[\"Month\"], y=forecast, name=\"Forecast\"))\n",
62
+ " fig.update_layout(\n",
63
+ " template=\"simple_white\",\n",
64
+ " font=dict(size=18),\n",
65
+ " title_text=title,\n",
66
+ " width=700,\n",
67
+ " title_x=0.5,\n",
68
+ " height=400,\n",
69
+ " xaxis_title=\"Date\",\n",
70
+ " yaxis_title=\"Passenger Volume\",\n",
71
+ " )\n",
72
+ "\n",
73
+ " return fig.show()"
74
+ ]
75
+ },
76
+ {
77
+ "cell_type": "code",
78
+ "execution_count": 7,
79
+ "metadata": {},
80
+ "outputs": [
81
+ {
82
+ "name": "stderr",
83
+ "output_type": "stream",
84
+ "text": [
85
+ "/home/ibnu/miniconda3/envs/py311-kfp240-airflow251/lib/python3.11/site-packages/statsmodels/tsa/holtwinters/model.py:83: RuntimeWarning: overflow encountered in matmul\n",
86
+ " return err.T @ err\n"
87
+ ]
88
+ }
89
+ ],
90
+ "source": [
91
+ "# Fit Holt Winters model and get forecasts\n",
92
+ "model = ExponentialSmoothing(\n",
93
+ " train[\"#Passengers\"], trend=\"mul\", seasonal=\"mul\", seasonal_periods=12\n",
94
+ ").fit(optimized=True)"
95
+ ]
96
+ },
97
+ {
98
+ "cell_type": "code",
99
+ "execution_count": 13,
100
+ "metadata": {},
101
+ "outputs": [
102
+ {
103
+ "data": {
104
+ "text/plain": [
105
+ "<statsmodels.tsa.holtwinters.results.HoltWintersResultsWrapper at 0x7fc76fba6ed0>"
106
+ ]
107
+ },
108
+ "execution_count": 13,
109
+ "metadata": {},
110
+ "output_type": "execute_result"
111
+ }
112
+ ],
113
+ "source": [
114
+ "model"
115
+ ]
116
+ },
117
+ {
118
+ "cell_type": "code",
119
+ "execution_count": 8,
120
+ "metadata": {},
121
+ "outputs": [],
122
+ "source": [
123
+ "forecasts = model.forecast(len(test))"
124
+ ]
125
+ },
126
+ {
127
+ "cell_type": "code",
128
+ "execution_count": 12,
129
+ "metadata": {},
130
+ "outputs": [
131
+ {
132
+ "data": {
133
+ "text/html": [
134
+ "<div>\n",
135
+ "<style scoped>\n",
136
+ " .dataframe tbody tr th:only-of-type {\n",
137
+ " vertical-align: middle;\n",
138
+ " }\n",
139
+ "\n",
140
+ " .dataframe tbody tr th {\n",
141
+ " vertical-align: top;\n",
142
+ " }\n",
143
+ "\n",
144
+ " .dataframe thead th {\n",
145
+ " text-align: right;\n",
146
+ " }\n",
147
+ "</style>\n",
148
+ "<table border=\"1\" class=\"dataframe\">\n",
149
+ " <thead>\n",
150
+ " <tr style=\"text-align: right;\">\n",
151
+ " <th></th>\n",
152
+ " <th>Month</th>\n",
153
+ " <th>#Passengers</th>\n",
154
+ " </tr>\n",
155
+ " </thead>\n",
156
+ " <tbody>\n",
157
+ " <tr>\n",
158
+ " <th>116</th>\n",
159
+ " <td>1958-09-01</td>\n",
160
+ " <td>404</td>\n",
161
+ " </tr>\n",
162
+ " <tr>\n",
163
+ " <th>117</th>\n",
164
+ " <td>1958-10-01</td>\n",
165
+ " <td>359</td>\n",
166
+ " </tr>\n",
167
+ " <tr>\n",
168
+ " <th>118</th>\n",
169
+ " <td>1958-11-01</td>\n",
170
+ " <td>310</td>\n",
171
+ " </tr>\n",
172
+ " <tr>\n",
173
+ " <th>119</th>\n",
174
+ " <td>1958-12-01</td>\n",
175
+ " <td>337</td>\n",
176
+ " </tr>\n",
177
+ " <tr>\n",
178
+ " <th>120</th>\n",
179
+ " <td>1959-01-01</td>\n",
180
+ " <td>360</td>\n",
181
+ " </tr>\n",
182
+ " <tr>\n",
183
+ " <th>121</th>\n",
184
+ " <td>1959-02-01</td>\n",
185
+ " <td>342</td>\n",
186
+ " </tr>\n",
187
+ " <tr>\n",
188
+ " <th>122</th>\n",
189
+ " <td>1959-03-01</td>\n",
190
+ " <td>406</td>\n",
191
+ " </tr>\n",
192
+ " <tr>\n",
193
+ " <th>123</th>\n",
194
+ " <td>1959-04-01</td>\n",
195
+ " <td>396</td>\n",
196
+ " </tr>\n",
197
+ " <tr>\n",
198
+ " <th>124</th>\n",
199
+ " <td>1959-05-01</td>\n",
200
+ " <td>420</td>\n",
201
+ " </tr>\n",
202
+ " <tr>\n",
203
+ " <th>125</th>\n",
204
+ " <td>1959-06-01</td>\n",
205
+ " <td>472</td>\n",
206
+ " </tr>\n",
207
+ " <tr>\n",
208
+ " <th>126</th>\n",
209
+ " <td>1959-07-01</td>\n",
210
+ " <td>548</td>\n",
211
+ " </tr>\n",
212
+ " <tr>\n",
213
+ " <th>127</th>\n",
214
+ " <td>1959-08-01</td>\n",
215
+ " <td>559</td>\n",
216
+ " </tr>\n",
217
+ " <tr>\n",
218
+ " <th>128</th>\n",
219
+ " <td>1959-09-01</td>\n",
220
+ " <td>463</td>\n",
221
+ " </tr>\n",
222
+ " <tr>\n",
223
+ " <th>129</th>\n",
224
+ " <td>1959-10-01</td>\n",
225
+ " <td>407</td>\n",
226
+ " </tr>\n",
227
+ " <tr>\n",
228
+ " <th>130</th>\n",
229
+ " <td>1959-11-01</td>\n",
230
+ " <td>362</td>\n",
231
+ " </tr>\n",
232
+ " <tr>\n",
233
+ " <th>131</th>\n",
234
+ " <td>1959-12-01</td>\n",
235
+ " <td>405</td>\n",
236
+ " </tr>\n",
237
+ " <tr>\n",
238
+ " <th>132</th>\n",
239
+ " <td>1960-01-01</td>\n",
240
+ " <td>417</td>\n",
241
+ " </tr>\n",
242
+ " <tr>\n",
243
+ " <th>133</th>\n",
244
+ " <td>1960-02-01</td>\n",
245
+ " <td>391</td>\n",
246
+ " </tr>\n",
247
+ " <tr>\n",
248
+ " <th>134</th>\n",
249
+ " <td>1960-03-01</td>\n",
250
+ " <td>419</td>\n",
251
+ " </tr>\n",
252
+ " <tr>\n",
253
+ " <th>135</th>\n",
254
+ " <td>1960-04-01</td>\n",
255
+ " <td>461</td>\n",
256
+ " </tr>\n",
257
+ " <tr>\n",
258
+ " <th>136</th>\n",
259
+ " <td>1960-05-01</td>\n",
260
+ " <td>472</td>\n",
261
+ " </tr>\n",
262
+ " <tr>\n",
263
+ " <th>137</th>\n",
264
+ " <td>1960-06-01</td>\n",
265
+ " <td>535</td>\n",
266
+ " </tr>\n",
267
+ " <tr>\n",
268
+ " <th>138</th>\n",
269
+ " <td>1960-07-01</td>\n",
270
+ " <td>622</td>\n",
271
+ " </tr>\n",
272
+ " <tr>\n",
273
+ " <th>139</th>\n",
274
+ " <td>1960-08-01</td>\n",
275
+ " <td>606</td>\n",
276
+ " </tr>\n",
277
+ " <tr>\n",
278
+ " <th>140</th>\n",
279
+ " <td>1960-09-01</td>\n",
280
+ " <td>508</td>\n",
281
+ " </tr>\n",
282
+ " <tr>\n",
283
+ " <th>141</th>\n",
284
+ " <td>1960-10-01</td>\n",
285
+ " <td>461</td>\n",
286
+ " </tr>\n",
287
+ " <tr>\n",
288
+ " <th>142</th>\n",
289
+ " <td>1960-11-01</td>\n",
290
+ " <td>390</td>\n",
291
+ " </tr>\n",
292
+ " <tr>\n",
293
+ " <th>143</th>\n",
294
+ " <td>1960-12-01</td>\n",
295
+ " <td>432</td>\n",
296
+ " </tr>\n",
297
+ " </tbody>\n",
298
+ "</table>\n",
299
+ "</div>"
300
+ ],
301
+ "text/plain": [
302
+ " Month #Passengers\n",
303
+ "116 1958-09-01 404\n",
304
+ "117 1958-10-01 359\n",
305
+ "118 1958-11-01 310\n",
306
+ "119 1958-12-01 337\n",
307
+ "120 1959-01-01 360\n",
308
+ "121 1959-02-01 342\n",
309
+ "122 1959-03-01 406\n",
310
+ "123 1959-04-01 396\n",
311
+ "124 1959-05-01 420\n",
312
+ "125 1959-06-01 472\n",
313
+ "126 1959-07-01 548\n",
314
+ "127 1959-08-01 559\n",
315
+ "128 1959-09-01 463\n",
316
+ "129 1959-10-01 407\n",
317
+ "130 1959-11-01 362\n",
318
+ "131 1959-12-01 405\n",
319
+ "132 1960-01-01 417\n",
320
+ "133 1960-02-01 391\n",
321
+ "134 1960-03-01 419\n",
322
+ "135 1960-04-01 461\n",
323
+ "136 1960-05-01 472\n",
324
+ "137 1960-06-01 535\n",
325
+ "138 1960-07-01 622\n",
326
+ "139 1960-08-01 606\n",
327
+ "140 1960-09-01 508\n",
328
+ "141 1960-10-01 461\n",
329
+ "142 1960-11-01 390\n",
330
+ "143 1960-12-01 432"
331
+ ]
332
+ },
333
+ "execution_count": 12,
334
+ "metadata": {},
335
+ "output_type": "execute_result"
336
+ }
337
+ ],
338
+ "source": [
339
+ "test"
340
+ ]
341
+ },
342
+ {
343
+ "cell_type": "code",
344
+ "execution_count": 10,
345
+ "metadata": {},
346
+ "outputs": [
347
+ {
348
+ "data": {
349
+ "text/plain": [
350
+ "116 421.344912\n",
351
+ "117 362.116133\n",
352
+ "118 318.903773\n",
353
+ "119 356.258190\n",
354
+ "120 366.281250\n",
355
+ "121 349.727205\n",
356
+ "122 408.310119\n",
357
+ "123 402.054810\n",
358
+ "124 422.533093\n",
359
+ "125 506.604413\n",
360
+ "126 566.761747\n",
361
+ "127 553.397062\n",
362
+ "128 476.524463\n",
363
+ "129 409.539052\n",
364
+ "130 360.667579\n",
365
+ "131 402.913950\n",
366
+ "132 414.249635\n",
367
+ "133 395.527664\n",
368
+ "134 461.782627\n",
369
+ "135 454.708120\n",
370
+ "136 477.868249\n",
371
+ "137 572.949593\n",
372
+ "138 640.985163\n",
373
+ "139 625.870233\n",
374
+ "140 538.930358\n",
375
+ "141 463.172502\n",
376
+ "142 407.900795\n",
377
+ "143 455.679773\n",
378
+ "dtype: float64"
379
+ ]
380
+ },
381
+ "execution_count": 10,
382
+ "metadata": {},
383
+ "output_type": "execute_result"
384
+ }
385
+ ],
386
+ "source": [
387
+ "forecasts"
388
+ ]
389
+ },
390
+ {
391
+ "cell_type": "code",
392
+ "execution_count": 9,
393
+ "metadata": {},
394
+ "outputs": [
395
+ {
396
+ "data": {
397
+ "application/vnd.plotly.v1+json": {
398
+ "config": {
399
+ "plotlyServerURL": "https://plot.ly"
400
+ },
401
+ "data": [
402
+ {
403
+ "name": "Train",
404
+ "type": "scatter",
405
+ "x": [
406
+ "1949-01-01T00:00:00",
407
+ "1949-02-01T00:00:00",
408
+ "1949-03-01T00:00:00",
409
+ "1949-04-01T00:00:00",
410
+ "1949-05-01T00:00:00",
411
+ "1949-06-01T00:00:00",
412
+ "1949-07-01T00:00:00",
413
+ "1949-08-01T00:00:00",
414
+ "1949-09-01T00:00:00",
415
+ "1949-10-01T00:00:00",
416
+ "1949-11-01T00:00:00",
417
+ "1949-12-01T00:00:00",
418
+ "1950-01-01T00:00:00",
419
+ "1950-02-01T00:00:00",
420
+ "1950-03-01T00:00:00",
421
+ "1950-04-01T00:00:00",
422
+ "1950-05-01T00:00:00",
423
+ "1950-06-01T00:00:00",
424
+ "1950-07-01T00:00:00",
425
+ "1950-08-01T00:00:00",
426
+ "1950-09-01T00:00:00",
427
+ "1950-10-01T00:00:00",
428
+ "1950-11-01T00:00:00",
429
+ "1950-12-01T00:00:00",
430
+ "1951-01-01T00:00:00",
431
+ "1951-02-01T00:00:00",
432
+ "1951-03-01T00:00:00",
433
+ "1951-04-01T00:00:00",
434
+ "1951-05-01T00:00:00",
435
+ "1951-06-01T00:00:00",
436
+ "1951-07-01T00:00:00",
437
+ "1951-08-01T00:00:00",
438
+ "1951-09-01T00:00:00",
439
+ "1951-10-01T00:00:00",
440
+ "1951-11-01T00:00:00",
441
+ "1951-12-01T00:00:00",
442
+ "1952-01-01T00:00:00",
443
+ "1952-02-01T00:00:00",
444
+ "1952-03-01T00:00:00",
445
+ "1952-04-01T00:00:00",
446
+ "1952-05-01T00:00:00",
447
+ "1952-06-01T00:00:00",
448
+ "1952-07-01T00:00:00",
449
+ "1952-08-01T00:00:00",
450
+ "1952-09-01T00:00:00",
451
+ "1952-10-01T00:00:00",
452
+ "1952-11-01T00:00:00",
453
+ "1952-12-01T00:00:00",
454
+ "1953-01-01T00:00:00",
455
+ "1953-02-01T00:00:00",
456
+ "1953-03-01T00:00:00",
457
+ "1953-04-01T00:00:00",
458
+ "1953-05-01T00:00:00",
459
+ "1953-06-01T00:00:00",
460
+ "1953-07-01T00:00:00",
461
+ "1953-08-01T00:00:00",
462
+ "1953-09-01T00:00:00",
463
+ "1953-10-01T00:00:00",
464
+ "1953-11-01T00:00:00",
465
+ "1953-12-01T00:00:00",
466
+ "1954-01-01T00:00:00",
467
+ "1954-02-01T00:00:00",
468
+ "1954-03-01T00:00:00",
469
+ "1954-04-01T00:00:00",
470
+ "1954-05-01T00:00:00",
471
+ "1954-06-01T00:00:00",
472
+ "1954-07-01T00:00:00",
473
+ "1954-08-01T00:00:00",
474
+ "1954-09-01T00:00:00",
475
+ "1954-10-01T00:00:00",
476
+ "1954-11-01T00:00:00",
477
+ "1954-12-01T00:00:00",
478
+ "1955-01-01T00:00:00",
479
+ "1955-02-01T00:00:00",
480
+ "1955-03-01T00:00:00",
481
+ "1955-04-01T00:00:00",
482
+ "1955-05-01T00:00:00",
483
+ "1955-06-01T00:00:00",
484
+ "1955-07-01T00:00:00",
485
+ "1955-08-01T00:00:00",
486
+ "1955-09-01T00:00:00",
487
+ "1955-10-01T00:00:00",
488
+ "1955-11-01T00:00:00",
489
+ "1955-12-01T00:00:00",
490
+ "1956-01-01T00:00:00",
491
+ "1956-02-01T00:00:00",
492
+ "1956-03-01T00:00:00",
493
+ "1956-04-01T00:00:00",
494
+ "1956-05-01T00:00:00",
495
+ "1956-06-01T00:00:00",
496
+ "1956-07-01T00:00:00",
497
+ "1956-08-01T00:00:00",
498
+ "1956-09-01T00:00:00",
499
+ "1956-10-01T00:00:00",
500
+ "1956-11-01T00:00:00",
501
+ "1956-12-01T00:00:00",
502
+ "1957-01-01T00:00:00",
503
+ "1957-02-01T00:00:00",
504
+ "1957-03-01T00:00:00",
505
+ "1957-04-01T00:00:00",
506
+ "1957-05-01T00:00:00",
507
+ "1957-06-01T00:00:00",
508
+ "1957-07-01T00:00:00",
509
+ "1957-08-01T00:00:00",
510
+ "1957-09-01T00:00:00",
511
+ "1957-10-01T00:00:00",
512
+ "1957-11-01T00:00:00",
513
+ "1957-12-01T00:00:00",
514
+ "1958-01-01T00:00:00",
515
+ "1958-02-01T00:00:00",
516
+ "1958-03-01T00:00:00",
517
+ "1958-04-01T00:00:00",
518
+ "1958-05-01T00:00:00",
519
+ "1958-06-01T00:00:00",
520
+ "1958-07-01T00:00:00",
521
+ "1958-08-01T00:00:00"
522
+ ],
523
+ "y": [
524
+ 112,
525
+ 118,
526
+ 132,
527
+ 129,
528
+ 121,
529
+ 135,
530
+ 148,
531
+ 148,
532
+ 136,
533
+ 119,
534
+ 104,
535
+ 118,
536
+ 115,
537
+ 126,
538
+ 141,
539
+ 135,
540
+ 125,
541
+ 149,
542
+ 170,
543
+ 170,
544
+ 158,
545
+ 133,
546
+ 114,
547
+ 140,
548
+ 145,
549
+ 150,
550
+ 178,
551
+ 163,
552
+ 172,
553
+ 178,
554
+ 199,
555
+ 199,
556
+ 184,
557
+ 162,
558
+ 146,
559
+ 166,
560
+ 171,
561
+ 180,
562
+ 193,
563
+ 181,
564
+ 183,
565
+ 218,
566
+ 230,
567
+ 242,
568
+ 209,
569
+ 191,
570
+ 172,
571
+ 194,
572
+ 196,
573
+ 196,
574
+ 236,
575
+ 235,
576
+ 229,
577
+ 243,
578
+ 264,
579
+ 272,
580
+ 237,
581
+ 211,
582
+ 180,
583
+ 201,
584
+ 204,
585
+ 188,
586
+ 235,
587
+ 227,
588
+ 234,
589
+ 264,
590
+ 302,
591
+ 293,
592
+ 259,
593
+ 229,
594
+ 203,
595
+ 229,
596
+ 242,
597
+ 233,
598
+ 267,
599
+ 269,
600
+ 270,
601
+ 315,
602
+ 364,
603
+ 347,
604
+ 312,
605
+ 274,
606
+ 237,
607
+ 278,
608
+ 284,
609
+ 277,
610
+ 317,
611
+ 313,
612
+ 318,
613
+ 374,
614
+ 413,
615
+ 405,
616
+ 355,
617
+ 306,
618
+ 271,
619
+ 306,
620
+ 315,
621
+ 301,
622
+ 356,
623
+ 348,
624
+ 355,
625
+ 422,
626
+ 465,
627
+ 467,
628
+ 404,
629
+ 347,
630
+ 305,
631
+ 336,
632
+ 340,
633
+ 318,
634
+ 362,
635
+ 348,
636
+ 363,
637
+ 435,
638
+ 491,
639
+ 505
640
+ ]
641
+ },
642
+ {
643
+ "name": "Test",
644
+ "type": "scatter",
645
+ "x": [
646
+ "1958-09-01T00:00:00",
647
+ "1958-10-01T00:00:00",
648
+ "1958-11-01T00:00:00",
649
+ "1958-12-01T00:00:00",
650
+ "1959-01-01T00:00:00",
651
+ "1959-02-01T00:00:00",
652
+ "1959-03-01T00:00:00",
653
+ "1959-04-01T00:00:00",
654
+ "1959-05-01T00:00:00",
655
+ "1959-06-01T00:00:00",
656
+ "1959-07-01T00:00:00",
657
+ "1959-08-01T00:00:00",
658
+ "1959-09-01T00:00:00",
659
+ "1959-10-01T00:00:00",
660
+ "1959-11-01T00:00:00",
661
+ "1959-12-01T00:00:00",
662
+ "1960-01-01T00:00:00",
663
+ "1960-02-01T00:00:00",
664
+ "1960-03-01T00:00:00",
665
+ "1960-04-01T00:00:00",
666
+ "1960-05-01T00:00:00",
667
+ "1960-06-01T00:00:00",
668
+ "1960-07-01T00:00:00",
669
+ "1960-08-01T00:00:00",
670
+ "1960-09-01T00:00:00",
671
+ "1960-10-01T00:00:00",
672
+ "1960-11-01T00:00:00",
673
+ "1960-12-01T00:00:00"
674
+ ],
675
+ "y": [
676
+ 404,
677
+ 359,
678
+ 310,
679
+ 337,
680
+ 360,
681
+ 342,
682
+ 406,
683
+ 396,
684
+ 420,
685
+ 472,
686
+ 548,
687
+ 559,
688
+ 463,
689
+ 407,
690
+ 362,
691
+ 405,
692
+ 417,
693
+ 391,
694
+ 419,
695
+ 461,
696
+ 472,
697
+ 535,
698
+ 622,
699
+ 606,
700
+ 508,
701
+ 461,
702
+ 390,
703
+ 432
704
+ ]
705
+ },
706
+ {
707
+ "name": "Forecast",
708
+ "type": "scatter",
709
+ "x": [
710
+ "1958-09-01T00:00:00",
711
+ "1958-10-01T00:00:00",
712
+ "1958-11-01T00:00:00",
713
+ "1958-12-01T00:00:00",
714
+ "1959-01-01T00:00:00",
715
+ "1959-02-01T00:00:00",
716
+ "1959-03-01T00:00:00",
717
+ "1959-04-01T00:00:00",
718
+ "1959-05-01T00:00:00",
719
+ "1959-06-01T00:00:00",
720
+ "1959-07-01T00:00:00",
721
+ "1959-08-01T00:00:00",
722
+ "1959-09-01T00:00:00",
723
+ "1959-10-01T00:00:00",
724
+ "1959-11-01T00:00:00",
725
+ "1959-12-01T00:00:00",
726
+ "1960-01-01T00:00:00",
727
+ "1960-02-01T00:00:00",
728
+ "1960-03-01T00:00:00",
729
+ "1960-04-01T00:00:00",
730
+ "1960-05-01T00:00:00",
731
+ "1960-06-01T00:00:00",
732
+ "1960-07-01T00:00:00",
733
+ "1960-08-01T00:00:00",
734
+ "1960-09-01T00:00:00",
735
+ "1960-10-01T00:00:00",
736
+ "1960-11-01T00:00:00",
737
+ "1960-12-01T00:00:00"
738
+ ],
739
+ "y": [
740
+ 421.34491174994423,
741
+ 362.11613305869326,
742
+ 318.90377321002904,
743
+ 356.258190007722,
744
+ 366.2812497027325,
745
+ 349.72720536821623,
746
+ 408.31011882844285,
747
+ 402.05481024174316,
748
+ 422.53309317530835,
749
+ 506.6044129226578,
750
+ 566.7617466950583,
751
+ 553.3970624385711,
752
+ 476.5244631477535,
753
+ 409.53905242682004,
754
+ 360.66757918958575,
755
+ 402.91395007084134,
756
+ 414.24963493867546,
757
+ 395.52766424567,
758
+ 461.7826268850033,
759
+ 454.7081197936026,
760
+ 477.8682494379266,
761
+ 572.9495934663657,
762
+ 640.9851633305773,
763
+ 625.870232989989,
764
+ 538.9303576377762,
765
+ 463.1725022742153,
766
+ 407.90079518063607,
767
+ 455.67977302688723
768
+ ]
769
+ }
770
+ ],
771
+ "layout": {
772
+ "font": {
773
+ "size": 18
774
+ },
775
+ "height": 400,
776
+ "template": {
777
+ "data": {
778
+ "bar": [
779
+ {
780
+ "error_x": {
781
+ "color": "rgb(36,36,36)"
782
+ },
783
+ "error_y": {
784
+ "color": "rgb(36,36,36)"
785
+ },
786
+ "marker": {
787
+ "line": {
788
+ "color": "white",
789
+ "width": 0.5
790
+ },
791
+ "pattern": {
792
+ "fillmode": "overlay",
793
+ "size": 10,
794
+ "solidity": 0.2
795
+ }
796
+ },
797
+ "type": "bar"
798
+ }
799
+ ],
800
+ "barpolar": [
801
+ {
802
+ "marker": {
803
+ "line": {
804
+ "color": "white",
805
+ "width": 0.5
806
+ },
807
+ "pattern": {
808
+ "fillmode": "overlay",
809
+ "size": 10,
810
+ "solidity": 0.2
811
+ }
812
+ },
813
+ "type": "barpolar"
814
+ }
815
+ ],
816
+ "carpet": [
817
+ {
818
+ "aaxis": {
819
+ "endlinecolor": "rgb(36,36,36)",
820
+ "gridcolor": "white",
821
+ "linecolor": "white",
822
+ "minorgridcolor": "white",
823
+ "startlinecolor": "rgb(36,36,36)"
824
+ },
825
+ "baxis": {
826
+ "endlinecolor": "rgb(36,36,36)",
827
+ "gridcolor": "white",
828
+ "linecolor": "white",
829
+ "minorgridcolor": "white",
830
+ "startlinecolor": "rgb(36,36,36)"
831
+ },
832
+ "type": "carpet"
833
+ }
834
+ ],
835
+ "choropleth": [
836
+ {
837
+ "colorbar": {
838
+ "outlinewidth": 1,
839
+ "tickcolor": "rgb(36,36,36)",
840
+ "ticks": "outside"
841
+ },
842
+ "type": "choropleth"
843
+ }
844
+ ],
845
+ "contour": [
846
+ {
847
+ "colorbar": {
848
+ "outlinewidth": 1,
849
+ "tickcolor": "rgb(36,36,36)",
850
+ "ticks": "outside"
851
+ },
852
+ "colorscale": [
853
+ [
854
+ 0,
855
+ "#440154"
856
+ ],
857
+ [
858
+ 0.1111111111111111,
859
+ "#482878"
860
+ ],
861
+ [
862
+ 0.2222222222222222,
863
+ "#3e4989"
864
+ ],
865
+ [
866
+ 0.3333333333333333,
867
+ "#31688e"
868
+ ],
869
+ [
870
+ 0.4444444444444444,
871
+ "#26828e"
872
+ ],
873
+ [
874
+ 0.5555555555555556,
875
+ "#1f9e89"
876
+ ],
877
+ [
878
+ 0.6666666666666666,
879
+ "#35b779"
880
+ ],
881
+ [
882
+ 0.7777777777777778,
883
+ "#6ece58"
884
+ ],
885
+ [
886
+ 0.8888888888888888,
887
+ "#b5de2b"
888
+ ],
889
+ [
890
+ 1,
891
+ "#fde725"
892
+ ]
893
+ ],
894
+ "type": "contour"
895
+ }
896
+ ],
897
+ "contourcarpet": [
898
+ {
899
+ "colorbar": {
900
+ "outlinewidth": 1,
901
+ "tickcolor": "rgb(36,36,36)",
902
+ "ticks": "outside"
903
+ },
904
+ "type": "contourcarpet"
905
+ }
906
+ ],
907
+ "heatmap": [
908
+ {
909
+ "colorbar": {
910
+ "outlinewidth": 1,
911
+ "tickcolor": "rgb(36,36,36)",
912
+ "ticks": "outside"
913
+ },
914
+ "colorscale": [
915
+ [
916
+ 0,
917
+ "#440154"
918
+ ],
919
+ [
920
+ 0.1111111111111111,
921
+ "#482878"
922
+ ],
923
+ [
924
+ 0.2222222222222222,
925
+ "#3e4989"
926
+ ],
927
+ [
928
+ 0.3333333333333333,
929
+ "#31688e"
930
+ ],
931
+ [
932
+ 0.4444444444444444,
933
+ "#26828e"
934
+ ],
935
+ [
936
+ 0.5555555555555556,
937
+ "#1f9e89"
938
+ ],
939
+ [
940
+ 0.6666666666666666,
941
+ "#35b779"
942
+ ],
943
+ [
944
+ 0.7777777777777778,
945
+ "#6ece58"
946
+ ],
947
+ [
948
+ 0.8888888888888888,
949
+ "#b5de2b"
950
+ ],
951
+ [
952
+ 1,
953
+ "#fde725"
954
+ ]
955
+ ],
956
+ "type": "heatmap"
957
+ }
958
+ ],
959
+ "heatmapgl": [
960
+ {
961
+ "colorbar": {
962
+ "outlinewidth": 1,
963
+ "tickcolor": "rgb(36,36,36)",
964
+ "ticks": "outside"
965
+ },
966
+ "colorscale": [
967
+ [
968
+ 0,
969
+ "#440154"
970
+ ],
971
+ [
972
+ 0.1111111111111111,
973
+ "#482878"
974
+ ],
975
+ [
976
+ 0.2222222222222222,
977
+ "#3e4989"
978
+ ],
979
+ [
980
+ 0.3333333333333333,
981
+ "#31688e"
982
+ ],
983
+ [
984
+ 0.4444444444444444,
985
+ "#26828e"
986
+ ],
987
+ [
988
+ 0.5555555555555556,
989
+ "#1f9e89"
990
+ ],
991
+ [
992
+ 0.6666666666666666,
993
+ "#35b779"
994
+ ],
995
+ [
996
+ 0.7777777777777778,
997
+ "#6ece58"
998
+ ],
999
+ [
1000
+ 0.8888888888888888,
1001
+ "#b5de2b"
1002
+ ],
1003
+ [
1004
+ 1,
1005
+ "#fde725"
1006
+ ]
1007
+ ],
1008
+ "type": "heatmapgl"
1009
+ }
1010
+ ],
1011
+ "histogram": [
1012
+ {
1013
+ "marker": {
1014
+ "line": {
1015
+ "color": "white",
1016
+ "width": 0.6
1017
+ }
1018
+ },
1019
+ "type": "histogram"
1020
+ }
1021
+ ],
1022
+ "histogram2d": [
1023
+ {
1024
+ "colorbar": {
1025
+ "outlinewidth": 1,
1026
+ "tickcolor": "rgb(36,36,36)",
1027
+ "ticks": "outside"
1028
+ },
1029
+ "colorscale": [
1030
+ [
1031
+ 0,
1032
+ "#440154"
1033
+ ],
1034
+ [
1035
+ 0.1111111111111111,
1036
+ "#482878"
1037
+ ],
1038
+ [
1039
+ 0.2222222222222222,
1040
+ "#3e4989"
1041
+ ],
1042
+ [
1043
+ 0.3333333333333333,
1044
+ "#31688e"
1045
+ ],
1046
+ [
1047
+ 0.4444444444444444,
1048
+ "#26828e"
1049
+ ],
1050
+ [
1051
+ 0.5555555555555556,
1052
+ "#1f9e89"
1053
+ ],
1054
+ [
1055
+ 0.6666666666666666,
1056
+ "#35b779"
1057
+ ],
1058
+ [
1059
+ 0.7777777777777778,
1060
+ "#6ece58"
1061
+ ],
1062
+ [
1063
+ 0.8888888888888888,
1064
+ "#b5de2b"
1065
+ ],
1066
+ [
1067
+ 1,
1068
+ "#fde725"
1069
+ ]
1070
+ ],
1071
+ "type": "histogram2d"
1072
+ }
1073
+ ],
1074
+ "histogram2dcontour": [
1075
+ {
1076
+ "colorbar": {
1077
+ "outlinewidth": 1,
1078
+ "tickcolor": "rgb(36,36,36)",
1079
+ "ticks": "outside"
1080
+ },
1081
+ "colorscale": [
1082
+ [
1083
+ 0,
1084
+ "#440154"
1085
+ ],
1086
+ [
1087
+ 0.1111111111111111,
1088
+ "#482878"
1089
+ ],
1090
+ [
1091
+ 0.2222222222222222,
1092
+ "#3e4989"
1093
+ ],
1094
+ [
1095
+ 0.3333333333333333,
1096
+ "#31688e"
1097
+ ],
1098
+ [
1099
+ 0.4444444444444444,
1100
+ "#26828e"
1101
+ ],
1102
+ [
1103
+ 0.5555555555555556,
1104
+ "#1f9e89"
1105
+ ],
1106
+ [
1107
+ 0.6666666666666666,
1108
+ "#35b779"
1109
+ ],
1110
+ [
1111
+ 0.7777777777777778,
1112
+ "#6ece58"
1113
+ ],
1114
+ [
1115
+ 0.8888888888888888,
1116
+ "#b5de2b"
1117
+ ],
1118
+ [
1119
+ 1,
1120
+ "#fde725"
1121
+ ]
1122
+ ],
1123
+ "type": "histogram2dcontour"
1124
+ }
1125
+ ],
1126
+ "mesh3d": [
1127
+ {
1128
+ "colorbar": {
1129
+ "outlinewidth": 1,
1130
+ "tickcolor": "rgb(36,36,36)",
1131
+ "ticks": "outside"
1132
+ },
1133
+ "type": "mesh3d"
1134
+ }
1135
+ ],
1136
+ "parcoords": [
1137
+ {
1138
+ "line": {
1139
+ "colorbar": {
1140
+ "outlinewidth": 1,
1141
+ "tickcolor": "rgb(36,36,36)",
1142
+ "ticks": "outside"
1143
+ }
1144
+ },
1145
+ "type": "parcoords"
1146
+ }
1147
+ ],
1148
+ "pie": [
1149
+ {
1150
+ "automargin": true,
1151
+ "type": "pie"
1152
+ }
1153
+ ],
1154
+ "scatter": [
1155
+ {
1156
+ "fillpattern": {
1157
+ "fillmode": "overlay",
1158
+ "size": 10,
1159
+ "solidity": 0.2
1160
+ },
1161
+ "type": "scatter"
1162
+ }
1163
+ ],
1164
+ "scatter3d": [
1165
+ {
1166
+ "line": {
1167
+ "colorbar": {
1168
+ "outlinewidth": 1,
1169
+ "tickcolor": "rgb(36,36,36)",
1170
+ "ticks": "outside"
1171
+ }
1172
+ },
1173
+ "marker": {
1174
+ "colorbar": {
1175
+ "outlinewidth": 1,
1176
+ "tickcolor": "rgb(36,36,36)",
1177
+ "ticks": "outside"
1178
+ }
1179
+ },
1180
+ "type": "scatter3d"
1181
+ }
1182
+ ],
1183
+ "scattercarpet": [
1184
+ {
1185
+ "marker": {
1186
+ "colorbar": {
1187
+ "outlinewidth": 1,
1188
+ "tickcolor": "rgb(36,36,36)",
1189
+ "ticks": "outside"
1190
+ }
1191
+ },
1192
+ "type": "scattercarpet"
1193
+ }
1194
+ ],
1195
+ "scattergeo": [
1196
+ {
1197
+ "marker": {
1198
+ "colorbar": {
1199
+ "outlinewidth": 1,
1200
+ "tickcolor": "rgb(36,36,36)",
1201
+ "ticks": "outside"
1202
+ }
1203
+ },
1204
+ "type": "scattergeo"
1205
+ }
1206
+ ],
1207
+ "scattergl": [
1208
+ {
1209
+ "marker": {
1210
+ "colorbar": {
1211
+ "outlinewidth": 1,
1212
+ "tickcolor": "rgb(36,36,36)",
1213
+ "ticks": "outside"
1214
+ }
1215
+ },
1216
+ "type": "scattergl"
1217
+ }
1218
+ ],
1219
+ "scattermapbox": [
1220
+ {
1221
+ "marker": {
1222
+ "colorbar": {
1223
+ "outlinewidth": 1,
1224
+ "tickcolor": "rgb(36,36,36)",
1225
+ "ticks": "outside"
1226
+ }
1227
+ },
1228
+ "type": "scattermapbox"
1229
+ }
1230
+ ],
1231
+ "scatterpolar": [
1232
+ {
1233
+ "marker": {
1234
+ "colorbar": {
1235
+ "outlinewidth": 1,
1236
+ "tickcolor": "rgb(36,36,36)",
1237
+ "ticks": "outside"
1238
+ }
1239
+ },
1240
+ "type": "scatterpolar"
1241
+ }
1242
+ ],
1243
+ "scatterpolargl": [
1244
+ {
1245
+ "marker": {
1246
+ "colorbar": {
1247
+ "outlinewidth": 1,
1248
+ "tickcolor": "rgb(36,36,36)",
1249
+ "ticks": "outside"
1250
+ }
1251
+ },
1252
+ "type": "scatterpolargl"
1253
+ }
1254
+ ],
1255
+ "scatterternary": [
1256
+ {
1257
+ "marker": {
1258
+ "colorbar": {
1259
+ "outlinewidth": 1,
1260
+ "tickcolor": "rgb(36,36,36)",
1261
+ "ticks": "outside"
1262
+ }
1263
+ },
1264
+ "type": "scatterternary"
1265
+ }
1266
+ ],
1267
+ "surface": [
1268
+ {
1269
+ "colorbar": {
1270
+ "outlinewidth": 1,
1271
+ "tickcolor": "rgb(36,36,36)",
1272
+ "ticks": "outside"
1273
+ },
1274
+ "colorscale": [
1275
+ [
1276
+ 0,
1277
+ "#440154"
1278
+ ],
1279
+ [
1280
+ 0.1111111111111111,
1281
+ "#482878"
1282
+ ],
1283
+ [
1284
+ 0.2222222222222222,
1285
+ "#3e4989"
1286
+ ],
1287
+ [
1288
+ 0.3333333333333333,
1289
+ "#31688e"
1290
+ ],
1291
+ [
1292
+ 0.4444444444444444,
1293
+ "#26828e"
1294
+ ],
1295
+ [
1296
+ 0.5555555555555556,
1297
+ "#1f9e89"
1298
+ ],
1299
+ [
1300
+ 0.6666666666666666,
1301
+ "#35b779"
1302
+ ],
1303
+ [
1304
+ 0.7777777777777778,
1305
+ "#6ece58"
1306
+ ],
1307
+ [
1308
+ 0.8888888888888888,
1309
+ "#b5de2b"
1310
+ ],
1311
+ [
1312
+ 1,
1313
+ "#fde725"
1314
+ ]
1315
+ ],
1316
+ "type": "surface"
1317
+ }
1318
+ ],
1319
+ "table": [
1320
+ {
1321
+ "cells": {
1322
+ "fill": {
1323
+ "color": "rgb(237,237,237)"
1324
+ },
1325
+ "line": {
1326
+ "color": "white"
1327
+ }
1328
+ },
1329
+ "header": {
1330
+ "fill": {
1331
+ "color": "rgb(217,217,217)"
1332
+ },
1333
+ "line": {
1334
+ "color": "white"
1335
+ }
1336
+ },
1337
+ "type": "table"
1338
+ }
1339
+ ]
1340
+ },
1341
+ "layout": {
1342
+ "annotationdefaults": {
1343
+ "arrowhead": 0,
1344
+ "arrowwidth": 1
1345
+ },
1346
+ "autotypenumbers": "strict",
1347
+ "coloraxis": {
1348
+ "colorbar": {
1349
+ "outlinewidth": 1,
1350
+ "tickcolor": "rgb(36,36,36)",
1351
+ "ticks": "outside"
1352
+ }
1353
+ },
1354
+ "colorscale": {
1355
+ "diverging": [
1356
+ [
1357
+ 0,
1358
+ "rgb(103,0,31)"
1359
+ ],
1360
+ [
1361
+ 0.1,
1362
+ "rgb(178,24,43)"
1363
+ ],
1364
+ [
1365
+ 0.2,
1366
+ "rgb(214,96,77)"
1367
+ ],
1368
+ [
1369
+ 0.3,
1370
+ "rgb(244,165,130)"
1371
+ ],
1372
+ [
1373
+ 0.4,
1374
+ "rgb(253,219,199)"
1375
+ ],
1376
+ [
1377
+ 0.5,
1378
+ "rgb(247,247,247)"
1379
+ ],
1380
+ [
1381
+ 0.6,
1382
+ "rgb(209,229,240)"
1383
+ ],
1384
+ [
1385
+ 0.7,
1386
+ "rgb(146,197,222)"
1387
+ ],
1388
+ [
1389
+ 0.8,
1390
+ "rgb(67,147,195)"
1391
+ ],
1392
+ [
1393
+ 0.9,
1394
+ "rgb(33,102,172)"
1395
+ ],
1396
+ [
1397
+ 1,
1398
+ "rgb(5,48,97)"
1399
+ ]
1400
+ ],
1401
+ "sequential": [
1402
+ [
1403
+ 0,
1404
+ "#440154"
1405
+ ],
1406
+ [
1407
+ 0.1111111111111111,
1408
+ "#482878"
1409
+ ],
1410
+ [
1411
+ 0.2222222222222222,
1412
+ "#3e4989"
1413
+ ],
1414
+ [
1415
+ 0.3333333333333333,
1416
+ "#31688e"
1417
+ ],
1418
+ [
1419
+ 0.4444444444444444,
1420
+ "#26828e"
1421
+ ],
1422
+ [
1423
+ 0.5555555555555556,
1424
+ "#1f9e89"
1425
+ ],
1426
+ [
1427
+ 0.6666666666666666,
1428
+ "#35b779"
1429
+ ],
1430
+ [
1431
+ 0.7777777777777778,
1432
+ "#6ece58"
1433
+ ],
1434
+ [
1435
+ 0.8888888888888888,
1436
+ "#b5de2b"
1437
+ ],
1438
+ [
1439
+ 1,
1440
+ "#fde725"
1441
+ ]
1442
+ ],
1443
+ "sequentialminus": [
1444
+ [
1445
+ 0,
1446
+ "#440154"
1447
+ ],
1448
+ [
1449
+ 0.1111111111111111,
1450
+ "#482878"
1451
+ ],
1452
+ [
1453
+ 0.2222222222222222,
1454
+ "#3e4989"
1455
+ ],
1456
+ [
1457
+ 0.3333333333333333,
1458
+ "#31688e"
1459
+ ],
1460
+ [
1461
+ 0.4444444444444444,
1462
+ "#26828e"
1463
+ ],
1464
+ [
1465
+ 0.5555555555555556,
1466
+ "#1f9e89"
1467
+ ],
1468
+ [
1469
+ 0.6666666666666666,
1470
+ "#35b779"
1471
+ ],
1472
+ [
1473
+ 0.7777777777777778,
1474
+ "#6ece58"
1475
+ ],
1476
+ [
1477
+ 0.8888888888888888,
1478
+ "#b5de2b"
1479
+ ],
1480
+ [
1481
+ 1,
1482
+ "#fde725"
1483
+ ]
1484
+ ]
1485
+ },
1486
+ "colorway": [
1487
+ "#1F77B4",
1488
+ "#FF7F0E",
1489
+ "#2CA02C",
1490
+ "#D62728",
1491
+ "#9467BD",
1492
+ "#8C564B",
1493
+ "#E377C2",
1494
+ "#7F7F7F",
1495
+ "#BCBD22",
1496
+ "#17BECF"
1497
+ ],
1498
+ "font": {
1499
+ "color": "rgb(36,36,36)"
1500
+ },
1501
+ "geo": {
1502
+ "bgcolor": "white",
1503
+ "lakecolor": "white",
1504
+ "landcolor": "white",
1505
+ "showlakes": true,
1506
+ "showland": true,
1507
+ "subunitcolor": "white"
1508
+ },
1509
+ "hoverlabel": {
1510
+ "align": "left"
1511
+ },
1512
+ "hovermode": "closest",
1513
+ "mapbox": {
1514
+ "style": "light"
1515
+ },
1516
+ "paper_bgcolor": "white",
1517
+ "plot_bgcolor": "white",
1518
+ "polar": {
1519
+ "angularaxis": {
1520
+ "gridcolor": "rgb(232,232,232)",
1521
+ "linecolor": "rgb(36,36,36)",
1522
+ "showgrid": false,
1523
+ "showline": true,
1524
+ "ticks": "outside"
1525
+ },
1526
+ "bgcolor": "white",
1527
+ "radialaxis": {
1528
+ "gridcolor": "rgb(232,232,232)",
1529
+ "linecolor": "rgb(36,36,36)",
1530
+ "showgrid": false,
1531
+ "showline": true,
1532
+ "ticks": "outside"
1533
+ }
1534
+ },
1535
+ "scene": {
1536
+ "xaxis": {
1537
+ "backgroundcolor": "white",
1538
+ "gridcolor": "rgb(232,232,232)",
1539
+ "gridwidth": 2,
1540
+ "linecolor": "rgb(36,36,36)",
1541
+ "showbackground": true,
1542
+ "showgrid": false,
1543
+ "showline": true,
1544
+ "ticks": "outside",
1545
+ "zeroline": false,
1546
+ "zerolinecolor": "rgb(36,36,36)"
1547
+ },
1548
+ "yaxis": {
1549
+ "backgroundcolor": "white",
1550
+ "gridcolor": "rgb(232,232,232)",
1551
+ "gridwidth": 2,
1552
+ "linecolor": "rgb(36,36,36)",
1553
+ "showbackground": true,
1554
+ "showgrid": false,
1555
+ "showline": true,
1556
+ "ticks": "outside",
1557
+ "zeroline": false,
1558
+ "zerolinecolor": "rgb(36,36,36)"
1559
+ },
1560
+ "zaxis": {
1561
+ "backgroundcolor": "white",
1562
+ "gridcolor": "rgb(232,232,232)",
1563
+ "gridwidth": 2,
1564
+ "linecolor": "rgb(36,36,36)",
1565
+ "showbackground": true,
1566
+ "showgrid": false,
1567
+ "showline": true,
1568
+ "ticks": "outside",
1569
+ "zeroline": false,
1570
+ "zerolinecolor": "rgb(36,36,36)"
1571
+ }
1572
+ },
1573
+ "shapedefaults": {
1574
+ "fillcolor": "black",
1575
+ "line": {
1576
+ "width": 0
1577
+ },
1578
+ "opacity": 0.3
1579
+ },
1580
+ "ternary": {
1581
+ "aaxis": {
1582
+ "gridcolor": "rgb(232,232,232)",
1583
+ "linecolor": "rgb(36,36,36)",
1584
+ "showgrid": false,
1585
+ "showline": true,
1586
+ "ticks": "outside"
1587
+ },
1588
+ "baxis": {
1589
+ "gridcolor": "rgb(232,232,232)",
1590
+ "linecolor": "rgb(36,36,36)",
1591
+ "showgrid": false,
1592
+ "showline": true,
1593
+ "ticks": "outside"
1594
+ },
1595
+ "bgcolor": "white",
1596
+ "caxis": {
1597
+ "gridcolor": "rgb(232,232,232)",
1598
+ "linecolor": "rgb(36,36,36)",
1599
+ "showgrid": false,
1600
+ "showline": true,
1601
+ "ticks": "outside"
1602
+ }
1603
+ },
1604
+ "title": {
1605
+ "x": 0.05
1606
+ },
1607
+ "xaxis": {
1608
+ "automargin": true,
1609
+ "gridcolor": "rgb(232,232,232)",
1610
+ "linecolor": "rgb(36,36,36)",
1611
+ "showgrid": false,
1612
+ "showline": true,
1613
+ "ticks": "outside",
1614
+ "title": {
1615
+ "standoff": 15
1616
+ },
1617
+ "zeroline": false,
1618
+ "zerolinecolor": "rgb(36,36,36)"
1619
+ },
1620
+ "yaxis": {
1621
+ "automargin": true,
1622
+ "gridcolor": "rgb(232,232,232)",
1623
+ "linecolor": "rgb(36,36,36)",
1624
+ "showgrid": false,
1625
+ "showline": true,
1626
+ "ticks": "outside",
1627
+ "title": {
1628
+ "standoff": 15
1629
+ },
1630
+ "zeroline": false,
1631
+ "zerolinecolor": "rgb(36,36,36)"
1632
+ }
1633
+ }
1634
+ },
1635
+ "title": {
1636
+ "text": "Holt Winters Forecast",
1637
+ "x": 0.5
1638
+ },
1639
+ "width": 700,
1640
+ "xaxis": {
1641
+ "title": {
1642
+ "text": "Date"
1643
+ }
1644
+ },
1645
+ "yaxis": {
1646
+ "title": {
1647
+ "text": "Passenger Volume"
1648
+ }
1649
+ }
1650
+ }
1651
+ }
1652
+ },
1653
+ "metadata": {},
1654
+ "output_type": "display_data"
1655
+ }
1656
+ ],
1657
+ "source": [
1658
+ "# Plot the forecasts\n",
1659
+ "plot_func(forecasts, \"Holt Winters Forecast\")"
1660
+ ]
1661
+ },
1662
+ {
1663
+ "cell_type": "code",
1664
+ "execution_count": 3,
1665
+ "metadata": {},
1666
+ "outputs": [
1667
+ {
1668
+ "name": "stdout",
1669
+ "output_type": "stream",
1670
+ "text": [
1671
+ " Month #Passengers fittedvalues residuals\n",
1672
+ "0 1949-01-01 112 111.997011 0.002989\n",
1673
+ "1 1949-02-01 118 119.397772 -1.397772\n",
1674
+ "2 1949-03-01 132 132.485694 -0.485694\n",
1675
+ "3 1949-04-01 129 126.790028 2.209972\n",
1676
+ "4 1949-05-01 121 118.553190 2.446810\n",
1677
+ ".. ... ... ... ...\n",
1678
+ "111 1958-04-01 348 370.894734 -22.894734\n",
1679
+ "112 1958-05-01 363 370.984509 -7.984509\n",
1680
+ "113 1958-06-01 435 435.713085 -0.713085\n",
1681
+ "114 1958-07-01 491 479.724073 11.275927\n",
1682
+ "115 1958-08-01 505 479.483081 25.516919\n",
1683
+ "\n",
1684
+ "[116 rows x 4 columns]\n"
1685
+ ]
1686
+ },
1687
+ {
1688
+ "name": "stderr",
1689
+ "output_type": "stream",
1690
+ "text": [
1691
+ "/tmp/ipykernel_68203/2996281503.py:2: SettingWithCopyWarning:\n",
1692
+ "\n",
1693
+ "\n",
1694
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
1695
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
1696
+ "\n",
1697
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
1698
+ "\n",
1699
+ "/tmp/ipykernel_68203/2996281503.py:3: SettingWithCopyWarning:\n",
1700
+ "\n",
1701
+ "\n",
1702
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
1703
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
1704
+ "\n",
1705
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
1706
+ "\n"
1707
+ ]
1708
+ }
1709
+ ],
1710
+ "source": [
1711
+ "# Appending residuals and fitted values to the train dataframe\n",
1712
+ "train[\"fittedvalues\"] = model.fittedvalues\n",
1713
+ "train[\"residuals\"] = model.resid\n",
1714
+ "print(train)"
1715
+ ]
1716
+ },
1717
+ {
1718
+ "cell_type": "code",
1719
+ "execution_count": 4,
1720
+ "metadata": {},
1721
+ "outputs": [
1722
+ {
1723
+ "data": {
1724
+ "image/png": "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iORj0aThzp07SE5ORnJyMoCy7vKSk5Nx6dIlAGWnjceMGaObfuLEiTh//jxmzpyJM2fOYMmSJVizZg2mTZtmyWJiROcA/PhaD937sT2CsHtGJEZ0DrDocomI6jPGCCIi22HRy5OOHDmC3r17695rryuNjY1FQkIC0tPTdcEBAIKDg/Hjjz9i2rRp+Pzzz9G8eXP861//QnR0tCWLCQAIbPqgtWh631ZwcVTUlVtERHUOYwQRke2w6FEvMjISUo+BMPQkz8jISBw/ftyCpSIiIiVgjCAish2KuqeBiIiIiIiUh0kDERERERFJYtJARERERESSmDQQEREREZEkJg1ERERERCSJSQMREREREUli0kBERERERJKYNBARERERkSQmDUREREREJIlJAxERERERSWLSQEREREREkpg0EBERERGRJCYNREREREQkiUkDERERERFJYtJARERERESSmDQQEREREZEkJg1ERERERCSJSQMREREREUli0kBERERERJKYNBARERERkSQmDUREREREJIlJAxERERERSWLSQEREREREkpg0EBERERGRJCYNREREREQkiUkDERERERFJYtJARERERESSmDQQEREREZEkJg1ERERERCSJSQMREREREUli0kBERERERJKYNBARERERkSQmDUREREREJIlJAxERERERSWLSQEREREREkpg0EBERERGRJCYNREREREQkiUkDERERERFJYtJARERERESSmDQQEREREZEkqyQNixcvRlBQEJycnNC1a1ccOnSoymkTEhKgUqn0/pycnKxRTCIisjLGByIi22DxpGH16tWYPn065s6di2PHjqFjx46Ijo5GVlZWlZ9xc3NDenq67u/ixYuWLiYREVkZ4wMRke2weNKwcOFCjB8/HmPHjkWbNm2wdOlSuLi4YPny5VV+RqVSwdfXV/fn4+Nj6WISEZGVMT4QEdkOiyYNJSUlOHr0KKKioh4s0M4OUVFRSEpKqvJzd+7cQWBgIAICAvD000/j1KlTVU5bXFyM3NxcvT8iIlI2a8QHgDGCiMhcLJo03LhxA6WlpZVagnx8fJCRkWHwM61bt8by5cvx/fff45tvvoFGo0G3bt1w5coVg9PHx8fD3d1d9xcQEGD29SAiIvOyRnwAGCOIiMxFcb0nhYeHY8yYMejUqRMiIiKwYcMGeHl54euvvzY4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",
1725
+ "text/plain": [
1726
+ "<Figure size 800x300 with 2 Axes>"
1727
+ ]
1728
+ },
1729
+ "metadata": {},
1730
+ "output_type": "display_data"
1731
+ }
1732
+ ],
1733
+ "source": [
1734
+ "# Import packages\n",
1735
+ "from statsmodels.tsa.holtwinters import ExponentialSmoothing\n",
1736
+ "from statsmodels.graphics.tsaplots import plot_pacf, plot_acf\n",
1737
+ "import matplotlib.pyplot as plt\n",
1738
+ "\n",
1739
+ "# Plot ACF and PACF\n",
1740
+ "fig, ax = plt.subplots(1, 2, figsize=(8, 3))\n",
1741
+ "plot_acf(train[\"residuals\"], lags=30, ax=ax[0])\n",
1742
+ "ax[0].set_xlabel(\"Lags\")\n",
1743
+ "plot_pacf(train[\"residuals\"], lags=30, ax=ax[1])\n",
1744
+ "ax[1].set_xlabel(\"Lags\")\n",
1745
+ "plt.tight_layout()\n",
1746
+ "plt.show()"
1747
+ ]
1748
+ },
1749
+ {
1750
+ "cell_type": "code",
1751
+ "execution_count": 5,
1752
+ "metadata": {},
1753
+ "outputs": [
1754
+ {
1755
+ "name": "stdout",
1756
+ "output_type": "stream",
1757
+ "text": [
1758
+ " lb_stat lb_pvalue\n",
1759
+ "1 13.917146 0.000191\n",
1760
+ "2 16.931975 0.000211\n",
1761
+ "3 18.861072 0.000292\n",
1762
+ "4 22.061208 0.000195\n",
1763
+ "5 23.398389 0.000283\n",
1764
+ "6 24.627916 0.000400\n",
1765
+ "7 27.059270 0.000325\n",
1766
+ "8 29.031125 0.000313\n",
1767
+ "9 29.344194 0.000567\n",
1768
+ "10 30.414797 0.000733\n"
1769
+ ]
1770
+ }
1771
+ ],
1772
+ "source": [
1773
+ "# Import packages\n",
1774
+ "from statsmodels.stats.diagnostic import acorr_ljungbox\n",
1775
+ "\n",
1776
+ "# Carry out Ljung-Box test\n",
1777
+ "print(acorr_ljungbox(train[\"residuals\"], return_df=True))"
1778
+ ]
1779
+ },
1780
+ {
1781
+ "cell_type": "code",
1782
+ "execution_count": 6,
1783
+ "metadata": {},
1784
+ "outputs": [
1785
+ {
1786
+ "data": {
1787
+ "application/vnd.plotly.v1+json": {
1788
+ "config": {
1789
+ "plotlyServerURL": "https://plot.ly"
1790
+ },
1791
+ "data": [
1792
+ {
1793
+ "alignmentgroup": "True",
1794
+ "bingroup": "x",
1795
+ "hovertemplate": "residuals=%{x}<br>count=%{y}<extra></extra>",
1796
+ "legendgroup": "",
1797
+ "marker": {
1798
+ "color": "#636efa",
1799
+ "pattern": {
1800
+ "shape": ""
1801
+ }
1802
+ },
1803
+ "name": "",
1804
+ "offsetgroup": "",
1805
+ "orientation": "v",
1806
+ "showlegend": false,
1807
+ "type": "histogram",
1808
+ "x": [
1809
+ 0.0029885509041491787,
1810
+ -1.3977715272270643,
1811
+ -0.48569421554674364,
1812
+ 2.2099717953831686,
1813
+ 2.446809977007419,
1814
+ 2.3144994254786297,
1815
+ 0.28556472864667626,
1816
+ 0.40306903295868324,
1817
+ 0.18403920366532134,
1818
+ -0.04208236753810013,
1819
+ -2.5501023923200705,
1820
+ -6.29759906988788,
1821
+ -10.229186708520444,
1822
+ -2.368196190757004,
1823
+ -1.774909044075656,
1824
+ -2.944427246017426,
1825
+ -2.3164716464191315,
1826
+ 8.894391720365405,
1827
+ 12.773425732045155,
1828
+ 8.021542496626495,
1829
+ 6.3938451376440355,
1830
+ -1.8295756887681591,
1831
+ -4.325666783707902,
1832
+ 4.933776860742455,
1833
+ 7.027712806164146,
1834
+ -4.986483130472379,
1835
+ 5.896239262631809,
1836
+ -5.3526516357399885,
1837
+ 16.945257143276194,
1838
+ -10.16330949640988,
1839
+ -4.944998899610738,
1840
+ 0.9205502968079884,
1841
+ 2.5492987644452683,
1842
+ 7.6812334267379185,
1843
+ 9.22451433413886,
1844
+ -3.939135589356937,
1845
+ -0.12621848703417982,
1846
+ 0.8607821050434552,
1847
+ -17.2004360249843,
1848
+ -7.725564224913484,
1849
+ -5.516814147104384,
1850
+ 21.364441470705543,
1851
+ -1.0625794875336965,
1852
+ 11.790871781967894,
1853
+ -6.8978711263413,
1854
+ 6.695076515136606,
1855
+ 7.765379650379913,
1856
+ 2.3199950587865033,
1857
+ -2.40502910993294,
1858
+ -11.48877789361913,
1859
+ 10.79669447458474,
1860
+ 16.736190534408593,
1861
+ -0.7404245436632664,
1862
+ -19.962443055120275,
1863
+ -5.122304781654179,
1864
+ -3.807795791922274,
1865
+ -2.801989236121443,
1866
+ -4.161863475942425,
1867
+ -8.911321173661918,
1868
+ -7.131878723540041,
1869
+ -4.474931923945718,
1870
+ -23.413031761022665,
1871
+ -4.2149616939771875,
1872
+ -2.9716710867565155,
1873
+ 11.026545675063062,
1874
+ 15.254104664253504,
1875
+ 23.7142825013604,
1876
+ -4.70522614277229,
1877
+ 0.01958530302596273,
1878
+ -3.3207064444839034,
1879
+ 2.1613915180581387,
1880
+ 0.8472323030811424,
1881
+ 8.21777781178784,
1882
+ 4.181389874460734,
1883
+ -22.0839071802676,
1884
+ -3.3693400826678612,
1885
+ -4.3450525751828195,
1886
+ 14.386970324000288,
1887
+ 24.657192016498527,
1888
+ 6.996032443646584,
1889
+ 9.094338914261755,
1890
+ 1.567450154167318,
1891
+ -4.031945907366662,
1892
+ 8.242082877409644,
1893
+ -0.6529483997401258,
1894
+ 5.145992785955741,
1895
+ -6.772498617345718,
1896
+ -11.644406877619758,
1897
+ -5.328418703681336,
1898
+ 5.798031620809638,
1899
+ -3.670207724448119,
1900
+ 12.670803302810725,
1901
+ 1.899004592682786,
1902
+ -3.9885106693641887,
1903
+ 2.4537054522558037,
1904
+ -6.480207447525345,
1905
+ -1.885911533008482,
1906
+ -5.1585668701517875,
1907
+ 5.069210384357689,
1908
+ -5.389074626082618,
1909
+ -4.115533130982101,
1910
+ 4.048543178694501,
1911
+ 0.18305617021218268,
1912
+ 16.622084122662272,
1913
+ 4.530722394100678,
1914
+ -0.5708764645976885,
1915
+ -1.5357322325141922,
1916
+ -12.269306120989484,
1917
+ -14.424515668193578,
1918
+ -17.55959645806837,
1919
+ -24.711198636612266,
1920
+ -22.894734481480498,
1921
+ -7.984509158554715,
1922
+ -0.7130852089628092,
1923
+ 11.27592737559496,
1924
+ 25.516918733725618
1925
+ ],
1926
+ "xaxis": "x",
1927
+ "yaxis": "y"
1928
+ }
1929
+ ],
1930
+ "layout": {
1931
+ "barmode": "relative",
1932
+ "font": {
1933
+ "size": 18
1934
+ },
1935
+ "height": 400,
1936
+ "legend": {
1937
+ "tracegroupgap": 0
1938
+ },
1939
+ "margin": {
1940
+ "t": 60
1941
+ },
1942
+ "template": {
1943
+ "data": {
1944
+ "bar": [
1945
+ {
1946
+ "error_x": {
1947
+ "color": "rgb(36,36,36)"
1948
+ },
1949
+ "error_y": {
1950
+ "color": "rgb(36,36,36)"
1951
+ },
1952
+ "marker": {
1953
+ "line": {
1954
+ "color": "white",
1955
+ "width": 0.5
1956
+ },
1957
+ "pattern": {
1958
+ "fillmode": "overlay",
1959
+ "size": 10,
1960
+ "solidity": 0.2
1961
+ }
1962
+ },
1963
+ "type": "bar"
1964
+ }
1965
+ ],
1966
+ "barpolar": [
1967
+ {
1968
+ "marker": {
1969
+ "line": {
1970
+ "color": "white",
1971
+ "width": 0.5
1972
+ },
1973
+ "pattern": {
1974
+ "fillmode": "overlay",
1975
+ "size": 10,
1976
+ "solidity": 0.2
1977
+ }
1978
+ },
1979
+ "type": "barpolar"
1980
+ }
1981
+ ],
1982
+ "carpet": [
1983
+ {
1984
+ "aaxis": {
1985
+ "endlinecolor": "rgb(36,36,36)",
1986
+ "gridcolor": "white",
1987
+ "linecolor": "white",
1988
+ "minorgridcolor": "white",
1989
+ "startlinecolor": "rgb(36,36,36)"
1990
+ },
1991
+ "baxis": {
1992
+ "endlinecolor": "rgb(36,36,36)",
1993
+ "gridcolor": "white",
1994
+ "linecolor": "white",
1995
+ "minorgridcolor": "white",
1996
+ "startlinecolor": "rgb(36,36,36)"
1997
+ },
1998
+ "type": "carpet"
1999
+ }
2000
+ ],
2001
+ "choropleth": [
2002
+ {
2003
+ "colorbar": {
2004
+ "outlinewidth": 1,
2005
+ "tickcolor": "rgb(36,36,36)",
2006
+ "ticks": "outside"
2007
+ },
2008
+ "type": "choropleth"
2009
+ }
2010
+ ],
2011
+ "contour": [
2012
+ {
2013
+ "colorbar": {
2014
+ "outlinewidth": 1,
2015
+ "tickcolor": "rgb(36,36,36)",
2016
+ "ticks": "outside"
2017
+ },
2018
+ "colorscale": [
2019
+ [
2020
+ 0,
2021
+ "#440154"
2022
+ ],
2023
+ [
2024
+ 0.1111111111111111,
2025
+ "#482878"
2026
+ ],
2027
+ [
2028
+ 0.2222222222222222,
2029
+ "#3e4989"
2030
+ ],
2031
+ [
2032
+ 0.3333333333333333,
2033
+ "#31688e"
2034
+ ],
2035
+ [
2036
+ 0.4444444444444444,
2037
+ "#26828e"
2038
+ ],
2039
+ [
2040
+ 0.5555555555555556,
2041
+ "#1f9e89"
2042
+ ],
2043
+ [
2044
+ 0.6666666666666666,
2045
+ "#35b779"
2046
+ ],
2047
+ [
2048
+ 0.7777777777777778,
2049
+ "#6ece58"
2050
+ ],
2051
+ [
2052
+ 0.8888888888888888,
2053
+ "#b5de2b"
2054
+ ],
2055
+ [
2056
+ 1,
2057
+ "#fde725"
2058
+ ]
2059
+ ],
2060
+ "type": "contour"
2061
+ }
2062
+ ],
2063
+ "contourcarpet": [
2064
+ {
2065
+ "colorbar": {
2066
+ "outlinewidth": 1,
2067
+ "tickcolor": "rgb(36,36,36)",
2068
+ "ticks": "outside"
2069
+ },
2070
+ "type": "contourcarpet"
2071
+ }
2072
+ ],
2073
+ "heatmap": [
2074
+ {
2075
+ "colorbar": {
2076
+ "outlinewidth": 1,
2077
+ "tickcolor": "rgb(36,36,36)",
2078
+ "ticks": "outside"
2079
+ },
2080
+ "colorscale": [
2081
+ [
2082
+ 0,
2083
+ "#440154"
2084
+ ],
2085
+ [
2086
+ 0.1111111111111111,
2087
+ "#482878"
2088
+ ],
2089
+ [
2090
+ 0.2222222222222222,
2091
+ "#3e4989"
2092
+ ],
2093
+ [
2094
+ 0.3333333333333333,
2095
+ "#31688e"
2096
+ ],
2097
+ [
2098
+ 0.4444444444444444,
2099
+ "#26828e"
2100
+ ],
2101
+ [
2102
+ 0.5555555555555556,
2103
+ "#1f9e89"
2104
+ ],
2105
+ [
2106
+ 0.6666666666666666,
2107
+ "#35b779"
2108
+ ],
2109
+ [
2110
+ 0.7777777777777778,
2111
+ "#6ece58"
2112
+ ],
2113
+ [
2114
+ 0.8888888888888888,
2115
+ "#b5de2b"
2116
+ ],
2117
+ [
2118
+ 1,
2119
+ "#fde725"
2120
+ ]
2121
+ ],
2122
+ "type": "heatmap"
2123
+ }
2124
+ ],
2125
+ "heatmapgl": [
2126
+ {
2127
+ "colorbar": {
2128
+ "outlinewidth": 1,
2129
+ "tickcolor": "rgb(36,36,36)",
2130
+ "ticks": "outside"
2131
+ },
2132
+ "colorscale": [
2133
+ [
2134
+ 0,
2135
+ "#440154"
2136
+ ],
2137
+ [
2138
+ 0.1111111111111111,
2139
+ "#482878"
2140
+ ],
2141
+ [
2142
+ 0.2222222222222222,
2143
+ "#3e4989"
2144
+ ],
2145
+ [
2146
+ 0.3333333333333333,
2147
+ "#31688e"
2148
+ ],
2149
+ [
2150
+ 0.4444444444444444,
2151
+ "#26828e"
2152
+ ],
2153
+ [
2154
+ 0.5555555555555556,
2155
+ "#1f9e89"
2156
+ ],
2157
+ [
2158
+ 0.6666666666666666,
2159
+ "#35b779"
2160
+ ],
2161
+ [
2162
+ 0.7777777777777778,
2163
+ "#6ece58"
2164
+ ],
2165
+ [
2166
+ 0.8888888888888888,
2167
+ "#b5de2b"
2168
+ ],
2169
+ [
2170
+ 1,
2171
+ "#fde725"
2172
+ ]
2173
+ ],
2174
+ "type": "heatmapgl"
2175
+ }
2176
+ ],
2177
+ "histogram": [
2178
+ {
2179
+ "marker": {
2180
+ "line": {
2181
+ "color": "white",
2182
+ "width": 0.6
2183
+ }
2184
+ },
2185
+ "type": "histogram"
2186
+ }
2187
+ ],
2188
+ "histogram2d": [
2189
+ {
2190
+ "colorbar": {
2191
+ "outlinewidth": 1,
2192
+ "tickcolor": "rgb(36,36,36)",
2193
+ "ticks": "outside"
2194
+ },
2195
+ "colorscale": [
2196
+ [
2197
+ 0,
2198
+ "#440154"
2199
+ ],
2200
+ [
2201
+ 0.1111111111111111,
2202
+ "#482878"
2203
+ ],
2204
+ [
2205
+ 0.2222222222222222,
2206
+ "#3e4989"
2207
+ ],
2208
+ [
2209
+ 0.3333333333333333,
2210
+ "#31688e"
2211
+ ],
2212
+ [
2213
+ 0.4444444444444444,
2214
+ "#26828e"
2215
+ ],
2216
+ [
2217
+ 0.5555555555555556,
2218
+ "#1f9e89"
2219
+ ],
2220
+ [
2221
+ 0.6666666666666666,
2222
+ "#35b779"
2223
+ ],
2224
+ [
2225
+ 0.7777777777777778,
2226
+ "#6ece58"
2227
+ ],
2228
+ [
2229
+ 0.8888888888888888,
2230
+ "#b5de2b"
2231
+ ],
2232
+ [
2233
+ 1,
2234
+ "#fde725"
2235
+ ]
2236
+ ],
2237
+ "type": "histogram2d"
2238
+ }
2239
+ ],
2240
+ "histogram2dcontour": [
2241
+ {
2242
+ "colorbar": {
2243
+ "outlinewidth": 1,
2244
+ "tickcolor": "rgb(36,36,36)",
2245
+ "ticks": "outside"
2246
+ },
2247
+ "colorscale": [
2248
+ [
2249
+ 0,
2250
+ "#440154"
2251
+ ],
2252
+ [
2253
+ 0.1111111111111111,
2254
+ "#482878"
2255
+ ],
2256
+ [
2257
+ 0.2222222222222222,
2258
+ "#3e4989"
2259
+ ],
2260
+ [
2261
+ 0.3333333333333333,
2262
+ "#31688e"
2263
+ ],
2264
+ [
2265
+ 0.4444444444444444,
2266
+ "#26828e"
2267
+ ],
2268
+ [
2269
+ 0.5555555555555556,
2270
+ "#1f9e89"
2271
+ ],
2272
+ [
2273
+ 0.6666666666666666,
2274
+ "#35b779"
2275
+ ],
2276
+ [
2277
+ 0.7777777777777778,
2278
+ "#6ece58"
2279
+ ],
2280
+ [
2281
+ 0.8888888888888888,
2282
+ "#b5de2b"
2283
+ ],
2284
+ [
2285
+ 1,
2286
+ "#fde725"
2287
+ ]
2288
+ ],
2289
+ "type": "histogram2dcontour"
2290
+ }
2291
+ ],
2292
+ "mesh3d": [
2293
+ {
2294
+ "colorbar": {
2295
+ "outlinewidth": 1,
2296
+ "tickcolor": "rgb(36,36,36)",
2297
+ "ticks": "outside"
2298
+ },
2299
+ "type": "mesh3d"
2300
+ }
2301
+ ],
2302
+ "parcoords": [
2303
+ {
2304
+ "line": {
2305
+ "colorbar": {
2306
+ "outlinewidth": 1,
2307
+ "tickcolor": "rgb(36,36,36)",
2308
+ "ticks": "outside"
2309
+ }
2310
+ },
2311
+ "type": "parcoords"
2312
+ }
2313
+ ],
2314
+ "pie": [
2315
+ {
2316
+ "automargin": true,
2317
+ "type": "pie"
2318
+ }
2319
+ ],
2320
+ "scatter": [
2321
+ {
2322
+ "fillpattern": {
2323
+ "fillmode": "overlay",
2324
+ "size": 10,
2325
+ "solidity": 0.2
2326
+ },
2327
+ "type": "scatter"
2328
+ }
2329
+ ],
2330
+ "scatter3d": [
2331
+ {
2332
+ "line": {
2333
+ "colorbar": {
2334
+ "outlinewidth": 1,
2335
+ "tickcolor": "rgb(36,36,36)",
2336
+ "ticks": "outside"
2337
+ }
2338
+ },
2339
+ "marker": {
2340
+ "colorbar": {
2341
+ "outlinewidth": 1,
2342
+ "tickcolor": "rgb(36,36,36)",
2343
+ "ticks": "outside"
2344
+ }
2345
+ },
2346
+ "type": "scatter3d"
2347
+ }
2348
+ ],
2349
+ "scattercarpet": [
2350
+ {
2351
+ "marker": {
2352
+ "colorbar": {
2353
+ "outlinewidth": 1,
2354
+ "tickcolor": "rgb(36,36,36)",
2355
+ "ticks": "outside"
2356
+ }
2357
+ },
2358
+ "type": "scattercarpet"
2359
+ }
2360
+ ],
2361
+ "scattergeo": [
2362
+ {
2363
+ "marker": {
2364
+ "colorbar": {
2365
+ "outlinewidth": 1,
2366
+ "tickcolor": "rgb(36,36,36)",
2367
+ "ticks": "outside"
2368
+ }
2369
+ },
2370
+ "type": "scattergeo"
2371
+ }
2372
+ ],
2373
+ "scattergl": [
2374
+ {
2375
+ "marker": {
2376
+ "colorbar": {
2377
+ "outlinewidth": 1,
2378
+ "tickcolor": "rgb(36,36,36)",
2379
+ "ticks": "outside"
2380
+ }
2381
+ },
2382
+ "type": "scattergl"
2383
+ }
2384
+ ],
2385
+ "scattermapbox": [
2386
+ {
2387
+ "marker": {
2388
+ "colorbar": {
2389
+ "outlinewidth": 1,
2390
+ "tickcolor": "rgb(36,36,36)",
2391
+ "ticks": "outside"
2392
+ }
2393
+ },
2394
+ "type": "scattermapbox"
2395
+ }
2396
+ ],
2397
+ "scatterpolar": [
2398
+ {
2399
+ "marker": {
2400
+ "colorbar": {
2401
+ "outlinewidth": 1,
2402
+ "tickcolor": "rgb(36,36,36)",
2403
+ "ticks": "outside"
2404
+ }
2405
+ },
2406
+ "type": "scatterpolar"
2407
+ }
2408
+ ],
2409
+ "scatterpolargl": [
2410
+ {
2411
+ "marker": {
2412
+ "colorbar": {
2413
+ "outlinewidth": 1,
2414
+ "tickcolor": "rgb(36,36,36)",
2415
+ "ticks": "outside"
2416
+ }
2417
+ },
2418
+ "type": "scatterpolargl"
2419
+ }
2420
+ ],
2421
+ "scatterternary": [
2422
+ {
2423
+ "marker": {
2424
+ "colorbar": {
2425
+ "outlinewidth": 1,
2426
+ "tickcolor": "rgb(36,36,36)",
2427
+ "ticks": "outside"
2428
+ }
2429
+ },
2430
+ "type": "scatterternary"
2431
+ }
2432
+ ],
2433
+ "surface": [
2434
+ {
2435
+ "colorbar": {
2436
+ "outlinewidth": 1,
2437
+ "tickcolor": "rgb(36,36,36)",
2438
+ "ticks": "outside"
2439
+ },
2440
+ "colorscale": [
2441
+ [
2442
+ 0,
2443
+ "#440154"
2444
+ ],
2445
+ [
2446
+ 0.1111111111111111,
2447
+ "#482878"
2448
+ ],
2449
+ [
2450
+ 0.2222222222222222,
2451
+ "#3e4989"
2452
+ ],
2453
+ [
2454
+ 0.3333333333333333,
2455
+ "#31688e"
2456
+ ],
2457
+ [
2458
+ 0.4444444444444444,
2459
+ "#26828e"
2460
+ ],
2461
+ [
2462
+ 0.5555555555555556,
2463
+ "#1f9e89"
2464
+ ],
2465
+ [
2466
+ 0.6666666666666666,
2467
+ "#35b779"
2468
+ ],
2469
+ [
2470
+ 0.7777777777777778,
2471
+ "#6ece58"
2472
+ ],
2473
+ [
2474
+ 0.8888888888888888,
2475
+ "#b5de2b"
2476
+ ],
2477
+ [
2478
+ 1,
2479
+ "#fde725"
2480
+ ]
2481
+ ],
2482
+ "type": "surface"
2483
+ }
2484
+ ],
2485
+ "table": [
2486
+ {
2487
+ "cells": {
2488
+ "fill": {
2489
+ "color": "rgb(237,237,237)"
2490
+ },
2491
+ "line": {
2492
+ "color": "white"
2493
+ }
2494
+ },
2495
+ "header": {
2496
+ "fill": {
2497
+ "color": "rgb(217,217,217)"
2498
+ },
2499
+ "line": {
2500
+ "color": "white"
2501
+ }
2502
+ },
2503
+ "type": "table"
2504
+ }
2505
+ ]
2506
+ },
2507
+ "layout": {
2508
+ "annotationdefaults": {
2509
+ "arrowhead": 0,
2510
+ "arrowwidth": 1
2511
+ },
2512
+ "autotypenumbers": "strict",
2513
+ "coloraxis": {
2514
+ "colorbar": {
2515
+ "outlinewidth": 1,
2516
+ "tickcolor": "rgb(36,36,36)",
2517
+ "ticks": "outside"
2518
+ }
2519
+ },
2520
+ "colorscale": {
2521
+ "diverging": [
2522
+ [
2523
+ 0,
2524
+ "rgb(103,0,31)"
2525
+ ],
2526
+ [
2527
+ 0.1,
2528
+ "rgb(178,24,43)"
2529
+ ],
2530
+ [
2531
+ 0.2,
2532
+ "rgb(214,96,77)"
2533
+ ],
2534
+ [
2535
+ 0.3,
2536
+ "rgb(244,165,130)"
2537
+ ],
2538
+ [
2539
+ 0.4,
2540
+ "rgb(253,219,199)"
2541
+ ],
2542
+ [
2543
+ 0.5,
2544
+ "rgb(247,247,247)"
2545
+ ],
2546
+ [
2547
+ 0.6,
2548
+ "rgb(209,229,240)"
2549
+ ],
2550
+ [
2551
+ 0.7,
2552
+ "rgb(146,197,222)"
2553
+ ],
2554
+ [
2555
+ 0.8,
2556
+ "rgb(67,147,195)"
2557
+ ],
2558
+ [
2559
+ 0.9,
2560
+ "rgb(33,102,172)"
2561
+ ],
2562
+ [
2563
+ 1,
2564
+ "rgb(5,48,97)"
2565
+ ]
2566
+ ],
2567
+ "sequential": [
2568
+ [
2569
+ 0,
2570
+ "#440154"
2571
+ ],
2572
+ [
2573
+ 0.1111111111111111,
2574
+ "#482878"
2575
+ ],
2576
+ [
2577
+ 0.2222222222222222,
2578
+ "#3e4989"
2579
+ ],
2580
+ [
2581
+ 0.3333333333333333,
2582
+ "#31688e"
2583
+ ],
2584
+ [
2585
+ 0.4444444444444444,
2586
+ "#26828e"
2587
+ ],
2588
+ [
2589
+ 0.5555555555555556,
2590
+ "#1f9e89"
2591
+ ],
2592
+ [
2593
+ 0.6666666666666666,
2594
+ "#35b779"
2595
+ ],
2596
+ [
2597
+ 0.7777777777777778,
2598
+ "#6ece58"
2599
+ ],
2600
+ [
2601
+ 0.8888888888888888,
2602
+ "#b5de2b"
2603
+ ],
2604
+ [
2605
+ 1,
2606
+ "#fde725"
2607
+ ]
2608
+ ],
2609
+ "sequentialminus": [
2610
+ [
2611
+ 0,
2612
+ "#440154"
2613
+ ],
2614
+ [
2615
+ 0.1111111111111111,
2616
+ "#482878"
2617
+ ],
2618
+ [
2619
+ 0.2222222222222222,
2620
+ "#3e4989"
2621
+ ],
2622
+ [
2623
+ 0.3333333333333333,
2624
+ "#31688e"
2625
+ ],
2626
+ [
2627
+ 0.4444444444444444,
2628
+ "#26828e"
2629
+ ],
2630
+ [
2631
+ 0.5555555555555556,
2632
+ "#1f9e89"
2633
+ ],
2634
+ [
2635
+ 0.6666666666666666,
2636
+ "#35b779"
2637
+ ],
2638
+ [
2639
+ 0.7777777777777778,
2640
+ "#6ece58"
2641
+ ],
2642
+ [
2643
+ 0.8888888888888888,
2644
+ "#b5de2b"
2645
+ ],
2646
+ [
2647
+ 1,
2648
+ "#fde725"
2649
+ ]
2650
+ ]
2651
+ },
2652
+ "colorway": [
2653
+ "#1F77B4",
2654
+ "#FF7F0E",
2655
+ "#2CA02C",
2656
+ "#D62728",
2657
+ "#9467BD",
2658
+ "#8C564B",
2659
+ "#E377C2",
2660
+ "#7F7F7F",
2661
+ "#BCBD22",
2662
+ "#17BECF"
2663
+ ],
2664
+ "font": {
2665
+ "color": "rgb(36,36,36)"
2666
+ },
2667
+ "geo": {
2668
+ "bgcolor": "white",
2669
+ "lakecolor": "white",
2670
+ "landcolor": "white",
2671
+ "showlakes": true,
2672
+ "showland": true,
2673
+ "subunitcolor": "white"
2674
+ },
2675
+ "hoverlabel": {
2676
+ "align": "left"
2677
+ },
2678
+ "hovermode": "closest",
2679
+ "mapbox": {
2680
+ "style": "light"
2681
+ },
2682
+ "paper_bgcolor": "white",
2683
+ "plot_bgcolor": "white",
2684
+ "polar": {
2685
+ "angularaxis": {
2686
+ "gridcolor": "rgb(232,232,232)",
2687
+ "linecolor": "rgb(36,36,36)",
2688
+ "showgrid": false,
2689
+ "showline": true,
2690
+ "ticks": "outside"
2691
+ },
2692
+ "bgcolor": "white",
2693
+ "radialaxis": {
2694
+ "gridcolor": "rgb(232,232,232)",
2695
+ "linecolor": "rgb(36,36,36)",
2696
+ "showgrid": false,
2697
+ "showline": true,
2698
+ "ticks": "outside"
2699
+ }
2700
+ },
2701
+ "scene": {
2702
+ "xaxis": {
2703
+ "backgroundcolor": "white",
2704
+ "gridcolor": "rgb(232,232,232)",
2705
+ "gridwidth": 2,
2706
+ "linecolor": "rgb(36,36,36)",
2707
+ "showbackground": true,
2708
+ "showgrid": false,
2709
+ "showline": true,
2710
+ "ticks": "outside",
2711
+ "zeroline": false,
2712
+ "zerolinecolor": "rgb(36,36,36)"
2713
+ },
2714
+ "yaxis": {
2715
+ "backgroundcolor": "white",
2716
+ "gridcolor": "rgb(232,232,232)",
2717
+ "gridwidth": 2,
2718
+ "linecolor": "rgb(36,36,36)",
2719
+ "showbackground": true,
2720
+ "showgrid": false,
2721
+ "showline": true,
2722
+ "ticks": "outside",
2723
+ "zeroline": false,
2724
+ "zerolinecolor": "rgb(36,36,36)"
2725
+ },
2726
+ "zaxis": {
2727
+ "backgroundcolor": "white",
2728
+ "gridcolor": "rgb(232,232,232)",
2729
+ "gridwidth": 2,
2730
+ "linecolor": "rgb(36,36,36)",
2731
+ "showbackground": true,
2732
+ "showgrid": false,
2733
+ "showline": true,
2734
+ "ticks": "outside",
2735
+ "zeroline": false,
2736
+ "zerolinecolor": "rgb(36,36,36)"
2737
+ }
2738
+ },
2739
+ "shapedefaults": {
2740
+ "fillcolor": "black",
2741
+ "line": {
2742
+ "width": 0
2743
+ },
2744
+ "opacity": 0.3
2745
+ },
2746
+ "ternary": {
2747
+ "aaxis": {
2748
+ "gridcolor": "rgb(232,232,232)",
2749
+ "linecolor": "rgb(36,36,36)",
2750
+ "showgrid": false,
2751
+ "showline": true,
2752
+ "ticks": "outside"
2753
+ },
2754
+ "baxis": {
2755
+ "gridcolor": "rgb(232,232,232)",
2756
+ "linecolor": "rgb(36,36,36)",
2757
+ "showgrid": false,
2758
+ "showline": true,
2759
+ "ticks": "outside"
2760
+ },
2761
+ "bgcolor": "white",
2762
+ "caxis": {
2763
+ "gridcolor": "rgb(232,232,232)",
2764
+ "linecolor": "rgb(36,36,36)",
2765
+ "showgrid": false,
2766
+ "showline": true,
2767
+ "ticks": "outside"
2768
+ }
2769
+ },
2770
+ "title": {
2771
+ "x": 0.05
2772
+ },
2773
+ "xaxis": {
2774
+ "automargin": true,
2775
+ "gridcolor": "rgb(232,232,232)",
2776
+ "linecolor": "rgb(36,36,36)",
2777
+ "showgrid": false,
2778
+ "showline": true,
2779
+ "ticks": "outside",
2780
+ "title": {
2781
+ "standoff": 15
2782
+ },
2783
+ "zeroline": false,
2784
+ "zerolinecolor": "rgb(36,36,36)"
2785
+ },
2786
+ "yaxis": {
2787
+ "automargin": true,
2788
+ "gridcolor": "rgb(232,232,232)",
2789
+ "linecolor": "rgb(36,36,36)",
2790
+ "showgrid": false,
2791
+ "showline": true,
2792
+ "ticks": "outside",
2793
+ "title": {
2794
+ "standoff": 15
2795
+ },
2796
+ "zeroline": false,
2797
+ "zerolinecolor": "rgb(36,36,36)"
2798
+ }
2799
+ }
2800
+ },
2801
+ "title": {
2802
+ "text": "Distribution of Residuals",
2803
+ "x": 0.5
2804
+ },
2805
+ "width": 700,
2806
+ "xaxis": {
2807
+ "anchor": "y",
2808
+ "domain": [
2809
+ 0,
2810
+ 1
2811
+ ],
2812
+ "title": {
2813
+ "text": "Residuals"
2814
+ }
2815
+ },
2816
+ "yaxis": {
2817
+ "anchor": "x",
2818
+ "domain": [
2819
+ 0,
2820
+ 1
2821
+ ],
2822
+ "title": {
2823
+ "text": "Count"
2824
+ }
2825
+ }
2826
+ }
2827
+ }
2828
+ },
2829
+ "metadata": {},
2830
+ "output_type": "display_data"
2831
+ },
2832
+ {
2833
+ "name": "stdout",
2834
+ "output_type": "stream",
2835
+ "text": [
2836
+ "-0.023048689329401923\n"
2837
+ ]
2838
+ }
2839
+ ],
2840
+ "source": [
2841
+ "# Import plotly\n",
2842
+ "import plotly.graph_objects as go\n",
2843
+ "\n",
2844
+ "# Plot histogram of the residuals\n",
2845
+ "fig = px.histogram(train, x=\"residuals\")\n",
2846
+ "fig.update_layout(\n",
2847
+ " template=\"simple_white\",\n",
2848
+ " font=dict(size=18),\n",
2849
+ " title_text=\"Distribution of Residuals\",\n",
2850
+ " width=700,\n",
2851
+ " title_x=0.5,\n",
2852
+ " height=400,\n",
2853
+ " xaxis_title=\"Residuals\",\n",
2854
+ " yaxis_title=\"Count\",\n",
2855
+ ")\n",
2856
+ "fig.show()\n",
2857
+ "\n",
2858
+ "# Mean of residuals\n",
2859
+ "print(train[\"residuals\"].mean())"
2860
+ ]
2861
+ },
2862
+ {
2863
+ "cell_type": "code",
2864
+ "execution_count": null,
2865
+ "metadata": {},
2866
+ "outputs": [],
2867
+ "source": []
2868
+ },
2869
+ {
2870
+ "cell_type": "code",
2871
+ "execution_count": null,
2872
+ "metadata": {},
2873
+ "outputs": [],
2874
+ "source": []
2875
+ }
2876
+ ],
2877
+ "metadata": {
2878
+ "kernelspec": {
2879
+ "display_name": "py311-kfp240-airflow251",
2880
+ "language": "python",
2881
+ "name": "python3"
2882
+ },
2883
+ "language_info": {
2884
+ "codemirror_mode": {
2885
+ "name": "ipython",
2886
+ "version": 3
2887
+ },
2888
+ "file_extension": ".py",
2889
+ "mimetype": "text/x-python",
2890
+ "name": "python",
2891
+ "nbconvert_exporter": "python",
2892
+ "pygments_lexer": "ipython3",
2893
+ "version": "3.11.5"
2894
+ }
2895
+ },
2896
+ "nbformat": 4,
2897
+ "nbformat_minor": 2
2898
+ }
stationary.ipynb CHANGED
@@ -9467,7 +9467,7 @@
9467
  "name": "python",
9468
  "nbconvert_exporter": "python",
9469
  "pygments_lexer": "ipython3",
9470
- "version": "3.12.1"
9471
  }
9472
  },
9473
  "nbformat": 4,
 
9467
  "name": "python",
9468
  "nbconvert_exporter": "python",
9469
  "pygments_lexer": "ipython3",
9470
+ "version": "3.11.5"
9471
  }
9472
  },
9473
  "nbformat": 4,