Spaces:
Runtime error
Runtime error
zhang qiao
commited on
Commit
·
8cf4695
1
Parent(s):
c92b736
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- __pycache__/app.cpython-310.pyc +0 -0
- __pycache__/demo.cpython-310.pyc +0 -0
- __pycache__/demo.cpython-39.pyc +0 -0
- __pycache__/demo2.cpython-310.pyc +0 -0
- __pycache__/gr_demo.cpython-311.pyc +0 -0
- best_models.csv +6 -4
- conda_installs.txt +3 -0
- data/.gitignore +1 -0
- data/demand_forecasting_demo_data.csv +400 -1019
- data/demand_forecasting_demo_data_5.csv +269 -0
- data/demand_forecasting_demo_data_old.csv +1019 -0
- data/demand_forecasting_demo_models.csv +6 -4
- data/demand_forecasting_demo_models_old.csv +5 -0
- data/demand_forecasting_demo_result.csv +48 -60
- data/demand_forecasting_demo_result_old.csv +61 -0
- data/energy_consumption.csv +240 -0
- data/multivariate/Predicting_price_blow_mold.xlsx +0 -0
- data/multivariate/Variable description.xlsx +0 -0
- data/multivariate/blow_mold_preprocessed.csv +277 -0
- data/multivariate/demo_future.csv +5 -0
- data/multivariate/demo_historical.csv +277 -0
- data/multivariate/resource.md +1 -0
- demo.py +22 -6
- demo2.py +275 -0
- forecast_result.csv +12 -60
- gr_app/GradioApp.py +105 -21
- gr_app/__init__.py +0 -1
- gr_app/__pycache__/GradioApp.cpython-310.pyc +0 -0
- gr_app/__pycache__/GradioApp.cpython-311.pyc +0 -0
- gr_app/__pycache__/GradioApp.cpython-39.pyc +0 -0
- gr_app/__pycache__/__init__.cpython-310.pyc +0 -0
- gr_app/__pycache__/__init__.cpython-311.pyc +0 -0
- gr_app/__pycache__/__init__.cpython-39.pyc +0 -0
- gr_app/__pycache__/args.cpython-310.pyc +0 -0
- gr_app/__pycache__/args.cpython-311.pyc +0 -0
- gr_app/__pycache__/args.cpython-39.pyc +0 -0
- gr_app/__pycache__/helpers.cpython-310.pyc +0 -0
- gr_app/args.py +4 -0
- gr_app/helpers.py +1 -1
- gr_app2/__init__.py +1 -0
- gr_app2/__pycache__/GradioApp.cpython-310.pyc +0 -0
- gr_app2/__pycache__/__init__.cpython-310.pyc +0 -0
- gr_app2/__pycache__/args.cpython-310.pyc +0 -0
- gr_app2/__pycache__/gr_app.cpython-310.pyc +0 -0
- gr_app2/args.py +79 -0
- gr_app2/gr_app.py +500 -0
- notebooks/E01-quick_look_multivariate_data.ipynb +0 -0
- notebooks/E02-ts_analytics.ipynb +0 -0
- notebooks/E03-multivariate_forecasting.ipynb +361 -0
- notebooks/E04-forecaster.ipynb +0 -0
__pycache__/app.cpython-310.pyc
ADDED
Binary file (1.9 kB). View file
|
|
__pycache__/demo.cpython-310.pyc
CHANGED
Binary files a/__pycache__/demo.cpython-310.pyc and b/__pycache__/demo.cpython-310.pyc differ
|
|
__pycache__/demo.cpython-39.pyc
ADDED
Binary file (1.92 kB). View file
|
|
__pycache__/demo2.cpython-310.pyc
ADDED
Binary file (4.61 kB). View file
|
|
__pycache__/gr_demo.cpython-311.pyc
ADDED
Binary file (3.6 kB). View file
|
|
best_models.csv
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
sku,best_model,characteristic
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
|
|
|
|
|
1 |
sku,best_model,characteristic
|
2 |
+
Item_A,prophet,continuous
|
3 |
+
Item_B,prophet,continuous
|
4 |
+
Item_C,fft_i,continuous
|
5 |
+
Item_D,fft_i,continuous
|
6 |
+
Item_E,prophet,continuous
|
7 |
+
Item_F,ceif,fuzzy
|
conda_installs.txt
CHANGED
@@ -3,6 +3,9 @@ conda install -c anaconda urllib3 -y
|
|
3 |
|
4 |
conda install -c conda-forge prophet -y
|
5 |
|
|
|
|
|
|
|
6 |
conda install -c anaconda pandas -y
|
7 |
conda install scikit-learn -y
|
8 |
conda install -c intel pyyaml -y
|
|
|
3 |
|
4 |
conda install -c conda-forge prophet -y
|
5 |
|
6 |
+
conda install -c conda-forge xgboost -y
|
7 |
+
conda install -c conda-forge sktime -y
|
8 |
+
|
9 |
conda install -c anaconda pandas -y
|
10 |
conda install scikit-learn -y
|
11 |
conda install -c intel pyyaml -y
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
raw
|
data/demand_forecasting_demo_data.csv
CHANGED
@@ -1,1019 +1,400 @@
|
|
1 |
-
datetime,y
|
2 |
-
2018-
|
3 |
-
2018-
|
4 |
-
2018-
|
5 |
-
2018-
|
6 |
-
2018-
|
7 |
-
2018-06-
|
8 |
-
2018-
|
9 |
-
2018-
|
10 |
-
2018-
|
11 |
-
2018-
|
12 |
-
2018-
|
13 |
-
2018-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
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 |
-
2019-
|
75 |
-
2019-
|
76 |
-
2019-
|
77 |
-
2019-
|
78 |
-
2019-
|
79 |
-
2019-
|
80 |
-
2019-
|
81 |
-
2019-
|
82 |
-
2019-
|
83 |
-
2019-
|
84 |
-
2019-
|
85 |
-
2019-12-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
2020-01
|
90 |
-
2020-01
|
91 |
-
2020-01
|
92 |
-
2020-01
|
93 |
-
2020-
|
94 |
-
2020-
|
95 |
-
2020-
|
96 |
-
2020-
|
97 |
-
2020-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
2020-
|
129 |
-
2020-
|
130 |
-
2020-
|
131 |
-
2020-
|
132 |
-
2020-
|
133 |
-
2020-
|
134 |
-
2020-
|
135 |
-
2020-
|
136 |
-
2020-
|
137 |
-
2020-
|
138 |
-
2020-
|
139 |
-
2020-12-
|
140 |
-
|
141 |
-
2021-01
|
142 |
-
2021-01
|
143 |
-
2021-01
|
144 |
-
2021-01
|
145 |
-
2021-01
|
146 |
-
2021-
|
147 |
-
2021-
|
148 |
-
2021-
|
149 |
-
2021-
|
150 |
-
2021-
|
151 |
-
2021-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
2022-
|
207 |
-
2022-
|
208 |
-
2022-
|
209 |
-
2022-04-
|
210 |
-
2022-05-01,
|
211 |
-
2022-
|
212 |
-
2022-
|
213 |
-
2022-
|
214 |
-
2022-
|
215 |
-
2022-
|
216 |
-
2022-
|
217 |
-
2022-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
2021-01-03,31,sku-1
|
402 |
-
2021-01-10,31,sku-1
|
403 |
-
2021-01-17,31,sku-1
|
404 |
-
2021-01-24,15,sku-1
|
405 |
-
2021-01-31,35,sku-1
|
406 |
-
2021-02-07,31,sku-1
|
407 |
-
2021-02-14,31,sku-1
|
408 |
-
2021-02-21,31,sku-1
|
409 |
-
2021-02-28,5,sku-1
|
410 |
-
2021-03-07,45,sku-1
|
411 |
-
2021-03-14,35,sku-1
|
412 |
-
2021-03-21,57,sku-1
|
413 |
-
2021-03-28,250,sku-1
|
414 |
-
2021-04-04,31,sku-1
|
415 |
-
2021-04-11,31,sku-1
|
416 |
-
2021-04-18,31,sku-1
|
417 |
-
2021-04-25,40,sku-1
|
418 |
-
2021-05-02,145,sku-1
|
419 |
-
2021-05-09,40,sku-1
|
420 |
-
2021-05-16,31,sku-1
|
421 |
-
2021-05-23,20,sku-1
|
422 |
-
2021-05-30,31,sku-1
|
423 |
-
2021-06-06,40,sku-1
|
424 |
-
2021-06-13,30,sku-1
|
425 |
-
2021-06-20,10,sku-1
|
426 |
-
2021-06-27,60,sku-1
|
427 |
-
2021-07-04,31,sku-1
|
428 |
-
2021-07-11,100,sku-1
|
429 |
-
2021-07-18,30,sku-1
|
430 |
-
2021-07-25,31,sku-1
|
431 |
-
2021-08-01,31,sku-1
|
432 |
-
2021-08-08,31,sku-1
|
433 |
-
2021-08-15,31,sku-1
|
434 |
-
2021-08-22,50,sku-1
|
435 |
-
2021-08-29,120,sku-1
|
436 |
-
2021-09-05,100,sku-1
|
437 |
-
2021-09-12,100,sku-1
|
438 |
-
2021-09-19,31,sku-1
|
439 |
-
2021-09-26,80,sku-1
|
440 |
-
2021-10-03,31,sku-1
|
441 |
-
2021-10-10,31,sku-1
|
442 |
-
2021-10-17,31,sku-1
|
443 |
-
2021-10-24,31,sku-1
|
444 |
-
2021-10-31,20,sku-1
|
445 |
-
2021-11-07,31,sku-1
|
446 |
-
2021-11-14,31,sku-1
|
447 |
-
2021-11-21,31,sku-1
|
448 |
-
2021-11-28,28,sku-1
|
449 |
-
2021-12-05,150,sku-1
|
450 |
-
2021-12-12,39,sku-1
|
451 |
-
2021-12-19,31,sku-1
|
452 |
-
2021-12-26,31,sku-1
|
453 |
-
2022-01-02,15,sku-1
|
454 |
-
2022-01-09,31,sku-1
|
455 |
-
2022-01-16,31,sku-1
|
456 |
-
2022-01-23,95,sku-1
|
457 |
-
2022-01-30,115,sku-1
|
458 |
-
2022-02-06,31,sku-1
|
459 |
-
2022-02-13,75,sku-1
|
460 |
-
2022-02-20,122,sku-1
|
461 |
-
2022-02-27,31,sku-1
|
462 |
-
2022-03-06,31,sku-1
|
463 |
-
2022-03-13,31,sku-1
|
464 |
-
2022-03-20,31,sku-1
|
465 |
-
2022-03-27,31,sku-1
|
466 |
-
2022-04-03,31,sku-1
|
467 |
-
2022-04-10,50,sku-1
|
468 |
-
2022-04-17,40,sku-1
|
469 |
-
2022-04-24,80,sku-1
|
470 |
-
2022-05-01,20,sku-1
|
471 |
-
2022-05-08,31,sku-1
|
472 |
-
2022-05-15,20,sku-1
|
473 |
-
2022-05-22,31,sku-1
|
474 |
-
2022-05-29,31,sku-1
|
475 |
-
2022-06-05,125,sku-1
|
476 |
-
2022-06-12,250,sku-1
|
477 |
-
2022-06-19,100,sku-1
|
478 |
-
2022-06-26,31,sku-1
|
479 |
-
2022-07-03,31,sku-1
|
480 |
-
2022-07-10,31,sku-1
|
481 |
-
2022-07-17,32,sku-1
|
482 |
-
2022-07-24,31,sku-1
|
483 |
-
2022-07-31,31,sku-1
|
484 |
-
2022-08-07,90,sku-1
|
485 |
-
2022-08-14,57,sku-1
|
486 |
-
2022-08-21,31,sku-1
|
487 |
-
2022-08-28,71,sku-1
|
488 |
-
2022-09-04,138,sku-1
|
489 |
-
2022-09-11,100,sku-1
|
490 |
-
2022-09-18,30,sku-1
|
491 |
-
2022-09-25,46,sku-1
|
492 |
-
2022-10-02,50,sku-1
|
493 |
-
2022-10-09,200,sku-1
|
494 |
-
2022-10-16,31,sku-1
|
495 |
-
2022-10-23,31,sku-1
|
496 |
-
2022-10-30,31,sku-1
|
497 |
-
2022-11-06,31,sku-1
|
498 |
-
2022-11-13,31,sku-1
|
499 |
-
2022-11-20,31,sku-1
|
500 |
-
2022-11-27,31,sku-1
|
501 |
-
2022-12-04,31,sku-1
|
502 |
-
2022-12-11,90,sku-1
|
503 |
-
2022-12-18,31,sku-1
|
504 |
-
2022-12-25,60,sku-1
|
505 |
-
2023-01-01,50,sku-1
|
506 |
-
2023-01-08,10,sku-1
|
507 |
-
2023-01-15,31,sku-1
|
508 |
-
2023-01-22,50,sku-1
|
509 |
-
2023-01-29,31,sku-1
|
510 |
-
2023-02-05,150,sku-1
|
511 |
-
2023-02-12,200,sku-1
|
512 |
-
2023-02-19,80,sku-1
|
513 |
-
2023-02-26,150,sku-1
|
514 |
-
2023-03-05,31,sku-1
|
515 |
-
2023-03-12,31,sku-1
|
516 |
-
2023-03-19,90,sku-1
|
517 |
-
2023-03-26,55,sku-1
|
518 |
-
2023-04-02,20,sku-1
|
519 |
-
2023-04-09,250,sku-1
|
520 |
-
2018-05-06,11,sku-2
|
521 |
-
2018-05-13,6,sku-2
|
522 |
-
2018-05-20,4,sku-2
|
523 |
-
2018-05-27,8,sku-2
|
524 |
-
2018-06-03,1,sku-2
|
525 |
-
2018-06-10,3,sku-2
|
526 |
-
2018-06-17,0,sku-2
|
527 |
-
2018-06-24,8,sku-2
|
528 |
-
2018-07-01,3,sku-2
|
529 |
-
2018-07-08,0,sku-2
|
530 |
-
2018-07-15,2,sku-2
|
531 |
-
2018-07-22,2,sku-2
|
532 |
-
2018-07-29,0,sku-2
|
533 |
-
2018-08-05,10,sku-2
|
534 |
-
2018-08-12,3,sku-2
|
535 |
-
2018-08-19,9,sku-2
|
536 |
-
2018-08-26,5,sku-2
|
537 |
-
2018-09-02,0,sku-2
|
538 |
-
2018-09-09,0,sku-2
|
539 |
-
2018-09-16,2,sku-2
|
540 |
-
2018-09-23,10,sku-2
|
541 |
-
2018-09-30,2,sku-2
|
542 |
-
2018-10-07,10,sku-2
|
543 |
-
2018-10-14,0,sku-2
|
544 |
-
2018-10-21,0,sku-2
|
545 |
-
2018-10-28,10,sku-2
|
546 |
-
2018-11-04,0,sku-2
|
547 |
-
2018-11-11,0,sku-2
|
548 |
-
2018-11-18,7,sku-2
|
549 |
-
2018-11-25,7,sku-2
|
550 |
-
2018-12-02,13,sku-2
|
551 |
-
2018-12-09,1,sku-2
|
552 |
-
2018-12-16,1,sku-2
|
553 |
-
2018-12-23,4,sku-2
|
554 |
-
2018-12-30,10,sku-2
|
555 |
-
2019-01-06,0,sku-2
|
556 |
-
2019-01-13,6,sku-2
|
557 |
-
2019-01-20,3,sku-2
|
558 |
-
2019-01-27,2,sku-2
|
559 |
-
2019-02-03,3,sku-2
|
560 |
-
2019-02-10,5,sku-2
|
561 |
-
2019-02-17,0,sku-2
|
562 |
-
2019-02-24,4,sku-2
|
563 |
-
2019-03-03,5,sku-2
|
564 |
-
2019-03-10,0,sku-2
|
565 |
-
2019-03-17,1,sku-2
|
566 |
-
2019-03-24,3,sku-2
|
567 |
-
2019-03-31,8,sku-2
|
568 |
-
2019-04-07,6,sku-2
|
569 |
-
2019-04-14,7,sku-2
|
570 |
-
2019-04-21,3,sku-2
|
571 |
-
2019-04-28,3,sku-2
|
572 |
-
2019-05-05,2,sku-2
|
573 |
-
2019-05-12,6,sku-2
|
574 |
-
2019-05-19,6,sku-2
|
575 |
-
2019-05-26,5,sku-2
|
576 |
-
2019-06-02,0,sku-2
|
577 |
-
2019-06-09,0,sku-2
|
578 |
-
2019-06-16,0,sku-2
|
579 |
-
2019-06-23,10,sku-2
|
580 |
-
2019-06-30,4,sku-2
|
581 |
-
2019-07-07,4,sku-2
|
582 |
-
2019-07-14,4,sku-2
|
583 |
-
2019-07-21,1,sku-2
|
584 |
-
2019-07-28,0,sku-2
|
585 |
-
2019-08-04,13,sku-2
|
586 |
-
2019-08-11,8,sku-2
|
587 |
-
2019-08-18,5,sku-2
|
588 |
-
2019-08-25,4,sku-2
|
589 |
-
2019-09-01,8,sku-2
|
590 |
-
2019-09-08,6,sku-2
|
591 |
-
2019-09-15,3,sku-2
|
592 |
-
2019-09-22,1,sku-2
|
593 |
-
2019-09-29,0,sku-2
|
594 |
-
2019-10-06,7,sku-2
|
595 |
-
2019-10-13,7,sku-2
|
596 |
-
2019-10-20,20,sku-2
|
597 |
-
2019-10-27,0,sku-2
|
598 |
-
2019-11-03,4,sku-2
|
599 |
-
2019-11-10,3,sku-2
|
600 |
-
2019-11-17,3,sku-2
|
601 |
-
2019-11-24,10,sku-2
|
602 |
-
2019-12-01,12,sku-2
|
603 |
-
2019-12-08,1,sku-2
|
604 |
-
2019-12-15,5,sku-2
|
605 |
-
2019-12-22,5,sku-2
|
606 |
-
2019-12-29,4,sku-2
|
607 |
-
2020-01-05,0,sku-2
|
608 |
-
2020-01-12,10,sku-2
|
609 |
-
2020-01-19,1,sku-2
|
610 |
-
2020-01-26,4,sku-2
|
611 |
-
2020-02-02,6,sku-2
|
612 |
-
2020-02-09,5,sku-2
|
613 |
-
2020-02-16,20,sku-2
|
614 |
-
2020-02-23,0,sku-2
|
615 |
-
2020-03-01,0,sku-2
|
616 |
-
2020-03-08,0,sku-2
|
617 |
-
2020-03-15,0,sku-2
|
618 |
-
2020-03-22,5,sku-2
|
619 |
-
2020-03-29,0,sku-2
|
620 |
-
2020-04-05,0,sku-2
|
621 |
-
2020-04-12,0,sku-2
|
622 |
-
2020-04-19,0,sku-2
|
623 |
-
2020-04-26,0,sku-2
|
624 |
-
2020-05-03,0,sku-2
|
625 |
-
2020-05-10,0,sku-2
|
626 |
-
2020-05-17,0,sku-2
|
627 |
-
2020-05-24,0,sku-2
|
628 |
-
2020-05-31,0,sku-2
|
629 |
-
2020-06-07,0,sku-2
|
630 |
-
2020-06-14,20,sku-2
|
631 |
-
2020-06-21,25,sku-2
|
632 |
-
2020-06-28,0,sku-2
|
633 |
-
2020-07-05,0,sku-2
|
634 |
-
2020-07-12,0,sku-2
|
635 |
-
2020-07-19,0,sku-2
|
636 |
-
2020-07-26,30,sku-2
|
637 |
-
2020-08-02,0,sku-2
|
638 |
-
2020-08-09,0,sku-2
|
639 |
-
2020-08-16,0,sku-2
|
640 |
-
2020-08-23,55,sku-2
|
641 |
-
2020-08-30,10,sku-2
|
642 |
-
2020-09-06,15,sku-2
|
643 |
-
2020-09-13,10,sku-2
|
644 |
-
2020-09-20,20,sku-2
|
645 |
-
2020-09-27,0,sku-2
|
646 |
-
2020-10-04,0,sku-2
|
647 |
-
2020-10-11,20,sku-2
|
648 |
-
2020-10-18,10,sku-2
|
649 |
-
2020-10-25,50,sku-2
|
650 |
-
2020-11-01,0,sku-2
|
651 |
-
2020-11-08,0,sku-2
|
652 |
-
2020-11-15,20,sku-2
|
653 |
-
2020-11-22,20,sku-2
|
654 |
-
2020-11-29,20,sku-2
|
655 |
-
2020-12-06,0,sku-2
|
656 |
-
2020-12-13,0,sku-2
|
657 |
-
2020-12-20,20,sku-2
|
658 |
-
2020-12-27,0,sku-2
|
659 |
-
2021-01-03,0,sku-2
|
660 |
-
2021-01-10,0,sku-2
|
661 |
-
2021-01-17,100,sku-2
|
662 |
-
2021-01-24,0,sku-2
|
663 |
-
2021-01-31,100,sku-2
|
664 |
-
2021-02-07,0,sku-2
|
665 |
-
2021-02-14,0,sku-2
|
666 |
-
2021-02-21,0,sku-2
|
667 |
-
2021-02-28,0,sku-2
|
668 |
-
2021-03-07,0,sku-2
|
669 |
-
2021-03-14,20,sku-2
|
670 |
-
2021-03-21,3,sku-2
|
671 |
-
2021-03-28,55,sku-2
|
672 |
-
2021-04-04,0,sku-2
|
673 |
-
2021-04-11,100,sku-2
|
674 |
-
2021-04-18,0,sku-2
|
675 |
-
2021-04-25,10,sku-2
|
676 |
-
2021-05-02,40,sku-2
|
677 |
-
2021-05-09,0,sku-2
|
678 |
-
2021-05-16,0,sku-2
|
679 |
-
2021-05-23,0,sku-2
|
680 |
-
2021-05-30,30,sku-2
|
681 |
-
2021-06-06,10,sku-2
|
682 |
-
2021-06-13,5,sku-2
|
683 |
-
2021-06-20,10,sku-2
|
684 |
-
2021-06-27,30,sku-2
|
685 |
-
2021-07-04,0,sku-2
|
686 |
-
2021-07-11,10,sku-2
|
687 |
-
2021-07-18,30,sku-2
|
688 |
-
2021-07-25,0,sku-2
|
689 |
-
2021-08-01,0,sku-2
|
690 |
-
2021-08-08,0,sku-2
|
691 |
-
2021-08-15,0,sku-2
|
692 |
-
2021-08-22,35,sku-2
|
693 |
-
2021-08-29,10,sku-2
|
694 |
-
2021-09-05,0,sku-2
|
695 |
-
2021-09-12,50,sku-2
|
696 |
-
2021-09-19,0,sku-2
|
697 |
-
2021-09-26,10,sku-2
|
698 |
-
2021-10-03,0,sku-2
|
699 |
-
2021-10-10,15,sku-2
|
700 |
-
2021-10-17,20,sku-2
|
701 |
-
2021-10-24,20,sku-2
|
702 |
-
2021-10-31,45,sku-2
|
703 |
-
2021-11-07,55,sku-2
|
704 |
-
2021-11-14,27,sku-2
|
705 |
-
2021-11-21,16,sku-2
|
706 |
-
2021-11-28,18,sku-2
|
707 |
-
2021-12-05,0,sku-2
|
708 |
-
2021-12-12,0,sku-2
|
709 |
-
2021-12-19,15,sku-2
|
710 |
-
2021-12-26,0,sku-2
|
711 |
-
2022-01-02,22,sku-2
|
712 |
-
2022-01-09,0,sku-2
|
713 |
-
2022-01-16,100,sku-2
|
714 |
-
2022-01-23,34,sku-2
|
715 |
-
2022-01-30,5,sku-2
|
716 |
-
2022-02-06,70,sku-2
|
717 |
-
2022-02-13,40,sku-2
|
718 |
-
2022-02-20,100,sku-2
|
719 |
-
2022-02-27,0,sku-2
|
720 |
-
2022-03-06,50,sku-2
|
721 |
-
2022-03-13,50,sku-2
|
722 |
-
2022-03-20,0,sku-2
|
723 |
-
2022-03-27,10,sku-2
|
724 |
-
2022-04-03,0,sku-2
|
725 |
-
2022-04-10,50,sku-2
|
726 |
-
2022-04-17,20,sku-2
|
727 |
-
2022-04-24,80,sku-2
|
728 |
-
2022-05-01,30,sku-2
|
729 |
-
2022-05-08,0,sku-2
|
730 |
-
2022-05-15,30,sku-2
|
731 |
-
2022-05-22,0,sku-2
|
732 |
-
2022-05-29,20,sku-2
|
733 |
-
2022-06-05,50,sku-2
|
734 |
-
2022-06-12,0,sku-2
|
735 |
-
2022-06-19,44,sku-2
|
736 |
-
2022-06-26,50,sku-2
|
737 |
-
2022-07-03,0,sku-2
|
738 |
-
2022-07-10,30,sku-2
|
739 |
-
2022-07-17,30,sku-2
|
740 |
-
2022-07-24,6,sku-2
|
741 |
-
2022-07-31,35,sku-2
|
742 |
-
2022-08-07,50,sku-2
|
743 |
-
2022-08-14,60,sku-2
|
744 |
-
2022-08-21,0,sku-2
|
745 |
-
2022-08-28,30,sku-2
|
746 |
-
2022-09-04,70,sku-2
|
747 |
-
2022-09-11,100,sku-2
|
748 |
-
2022-09-18,0,sku-2
|
749 |
-
2022-09-25,0,sku-2
|
750 |
-
2022-10-02,4,sku-2
|
751 |
-
2022-10-09,0,sku-2
|
752 |
-
2022-10-16,0,sku-2
|
753 |
-
2022-10-23,0,sku-2
|
754 |
-
2022-10-30,50,sku-2
|
755 |
-
2022-11-06,30,sku-2
|
756 |
-
2022-11-13,0,sku-2
|
757 |
-
2022-11-20,70,sku-2
|
758 |
-
2022-11-27,100,sku-2
|
759 |
-
2022-12-04,50,sku-2
|
760 |
-
2018-05-06,1,sku-3
|
761 |
-
2018-05-13,4,sku-3
|
762 |
-
2018-05-20,5,sku-3
|
763 |
-
2018-05-27,5,sku-3
|
764 |
-
2018-06-03,1,sku-3
|
765 |
-
2018-06-10,1,sku-3
|
766 |
-
2018-06-17,0,sku-3
|
767 |
-
2018-06-24,2,sku-3
|
768 |
-
2018-07-01,0,sku-3
|
769 |
-
2018-07-08,0,sku-3
|
770 |
-
2018-07-15,19,sku-3
|
771 |
-
2018-07-22,9,sku-3
|
772 |
-
2018-07-29,1,sku-3
|
773 |
-
2018-08-05,2,sku-3
|
774 |
-
2018-08-12,0,sku-3
|
775 |
-
2018-08-19,0,sku-3
|
776 |
-
2018-08-26,7,sku-3
|
777 |
-
2018-09-02,14,sku-3
|
778 |
-
2018-09-09,7,sku-3
|
779 |
-
2018-09-16,6,sku-3
|
780 |
-
2018-09-23,5,sku-3
|
781 |
-
2018-09-30,3,sku-3
|
782 |
-
2018-10-07,12,sku-3
|
783 |
-
2018-10-14,8,sku-3
|
784 |
-
2018-10-21,4,sku-3
|
785 |
-
2018-10-28,7,sku-3
|
786 |
-
2018-11-04,7,sku-3
|
787 |
-
2018-11-11,0,sku-3
|
788 |
-
2018-11-18,11,sku-3
|
789 |
-
2018-11-25,2,sku-3
|
790 |
-
2018-12-02,0,sku-3
|
791 |
-
2018-12-09,1,sku-3
|
792 |
-
2018-12-16,1,sku-3
|
793 |
-
2018-12-23,0,sku-3
|
794 |
-
2018-12-30,6,sku-3
|
795 |
-
2019-01-06,0,sku-3
|
796 |
-
2019-01-13,3,sku-3
|
797 |
-
2019-01-20,6,sku-3
|
798 |
-
2019-01-27,0,sku-3
|
799 |
-
2019-02-03,1,sku-3
|
800 |
-
2019-02-10,0,sku-3
|
801 |
-
2019-02-17,0,sku-3
|
802 |
-
2019-02-24,2,sku-3
|
803 |
-
2019-03-03,5,sku-3
|
804 |
-
2019-03-10,9,sku-3
|
805 |
-
2019-03-17,12,sku-3
|
806 |
-
2019-03-24,11,sku-3
|
807 |
-
2019-03-31,0,sku-3
|
808 |
-
2019-04-07,12,sku-3
|
809 |
-
2019-04-14,17,sku-3
|
810 |
-
2019-04-21,11,sku-3
|
811 |
-
2019-04-28,2,sku-3
|
812 |
-
2019-05-05,1,sku-3
|
813 |
-
2019-05-12,0,sku-3
|
814 |
-
2019-05-19,7,sku-3
|
815 |
-
2019-05-26,26,sku-3
|
816 |
-
2019-06-02,1,sku-3
|
817 |
-
2019-06-09,0,sku-3
|
818 |
-
2019-06-16,0,sku-3
|
819 |
-
2019-06-23,7,sku-3
|
820 |
-
2019-06-30,11,sku-3
|
821 |
-
2019-07-07,7,sku-3
|
822 |
-
2019-07-14,10,sku-3
|
823 |
-
2019-07-21,0,sku-3
|
824 |
-
2019-07-28,0,sku-3
|
825 |
-
2019-08-04,16,sku-3
|
826 |
-
2019-08-11,5,sku-3
|
827 |
-
2019-08-18,15,sku-3
|
828 |
-
2019-08-25,4,sku-3
|
829 |
-
2019-09-01,1,sku-3
|
830 |
-
2019-09-08,0,sku-3
|
831 |
-
2019-09-15,5,sku-3
|
832 |
-
2019-09-22,3,sku-3
|
833 |
-
2019-09-29,0,sku-3
|
834 |
-
2019-10-06,10,sku-3
|
835 |
-
2019-10-13,0,sku-3
|
836 |
-
2019-10-20,0,sku-3
|
837 |
-
2019-10-27,0,sku-3
|
838 |
-
2019-11-03,0,sku-3
|
839 |
-
2019-11-10,0,sku-3
|
840 |
-
2019-11-17,2,sku-3
|
841 |
-
2019-11-24,0,sku-3
|
842 |
-
2019-12-01,19,sku-3
|
843 |
-
2019-12-08,1,sku-3
|
844 |
-
2019-12-15,5,sku-3
|
845 |
-
2019-12-22,5,sku-3
|
846 |
-
2019-12-29,0,sku-3
|
847 |
-
2020-01-05,0,sku-3
|
848 |
-
2020-01-12,0,sku-3
|
849 |
-
2020-01-19,0,sku-3
|
850 |
-
2020-01-26,0,sku-3
|
851 |
-
2020-02-02,3,sku-3
|
852 |
-
2020-02-09,12,sku-3
|
853 |
-
2020-02-16,0,sku-3
|
854 |
-
2020-02-23,5,sku-3
|
855 |
-
2020-03-01,10,sku-3
|
856 |
-
2020-03-08,5,sku-3
|
857 |
-
2020-03-15,11,sku-3
|
858 |
-
2020-03-22,12,sku-3
|
859 |
-
2020-03-29,0,sku-3
|
860 |
-
2020-04-05,6,sku-3
|
861 |
-
2020-04-12,0,sku-3
|
862 |
-
2020-04-19,0,sku-3
|
863 |
-
2020-04-26,0,sku-3
|
864 |
-
2020-05-03,0,sku-3
|
865 |
-
2020-05-10,0,sku-3
|
866 |
-
2020-05-17,0,sku-3
|
867 |
-
2020-05-24,0,sku-3
|
868 |
-
2020-05-31,0,sku-3
|
869 |
-
2020-06-07,11,sku-3
|
870 |
-
2020-06-14,6,sku-3
|
871 |
-
2020-06-21,8,sku-3
|
872 |
-
2020-06-28,0,sku-3
|
873 |
-
2020-07-05,0,sku-3
|
874 |
-
2020-07-12,41,sku-3
|
875 |
-
2020-07-19,0,sku-3
|
876 |
-
2020-07-26,4,sku-3
|
877 |
-
2020-08-02,0,sku-3
|
878 |
-
2020-08-09,0,sku-3
|
879 |
-
2020-08-16,0,sku-3
|
880 |
-
2020-08-23,47,sku-3
|
881 |
-
2020-08-30,3,sku-3
|
882 |
-
2020-09-06,31,sku-3
|
883 |
-
2020-09-13,0,sku-3
|
884 |
-
2020-09-20,2,sku-3
|
885 |
-
2020-09-27,0,sku-3
|
886 |
-
2020-10-04,0,sku-3
|
887 |
-
2020-10-11,6,sku-3
|
888 |
-
2020-10-18,9,sku-3
|
889 |
-
2020-10-25,8,sku-3
|
890 |
-
2020-11-01,4,sku-3
|
891 |
-
2020-11-08,2,sku-3
|
892 |
-
2020-11-15,30,sku-3
|
893 |
-
2020-11-22,60,sku-3
|
894 |
-
2020-11-29,68,sku-3
|
895 |
-
2020-12-06,0,sku-3
|
896 |
-
2020-12-13,0,sku-3
|
897 |
-
2020-12-20,0,sku-3
|
898 |
-
2020-12-27,0,sku-3
|
899 |
-
2021-01-03,0,sku-3
|
900 |
-
2021-01-10,0,sku-3
|
901 |
-
2021-01-17,0,sku-3
|
902 |
-
2021-01-24,0,sku-3
|
903 |
-
2021-01-31,0,sku-3
|
904 |
-
2021-02-07,6,sku-3
|
905 |
-
2021-02-14,6,sku-3
|
906 |
-
2021-02-21,15,sku-3
|
907 |
-
2021-02-28,30,sku-3
|
908 |
-
2021-03-07,0,sku-3
|
909 |
-
2021-03-14,5,sku-3
|
910 |
-
2021-03-21,20,sku-3
|
911 |
-
2021-03-28,0,sku-3
|
912 |
-
2021-04-04,0,sku-3
|
913 |
-
2021-04-11,0,sku-3
|
914 |
-
2021-04-18,0,sku-3
|
915 |
-
2021-04-25,10,sku-3
|
916 |
-
2021-05-02,10,sku-3
|
917 |
-
2021-05-09,0,sku-3
|
918 |
-
2021-05-16,0,sku-3
|
919 |
-
2021-05-23,0,sku-3
|
920 |
-
2021-05-30,0,sku-3
|
921 |
-
2021-06-06,0,sku-3
|
922 |
-
2021-06-13,0,sku-3
|
923 |
-
2021-06-20,0,sku-3
|
924 |
-
2021-06-27,0,sku-3
|
925 |
-
2021-07-04,0,sku-3
|
926 |
-
2021-07-11,0,sku-3
|
927 |
-
2021-07-18,2,sku-3
|
928 |
-
2021-07-25,0,sku-3
|
929 |
-
2021-08-01,0,sku-3
|
930 |
-
2021-08-08,0,sku-3
|
931 |
-
2021-08-15,0,sku-3
|
932 |
-
2021-08-22,0,sku-3
|
933 |
-
2021-08-29,0,sku-3
|
934 |
-
2021-09-05,0,sku-3
|
935 |
-
2021-09-12,5,sku-3
|
936 |
-
2021-09-19,0,sku-3
|
937 |
-
2021-09-26,0,sku-3
|
938 |
-
2021-10-03,0,sku-3
|
939 |
-
2021-10-10,0,sku-3
|
940 |
-
2021-10-17,10,sku-3
|
941 |
-
2021-10-24,3,sku-3
|
942 |
-
2021-10-31,2,sku-3
|
943 |
-
2021-11-07,0,sku-3
|
944 |
-
2021-11-14,0,sku-3
|
945 |
-
2021-11-21,15,sku-3
|
946 |
-
2021-11-28,7,sku-3
|
947 |
-
2021-12-05,17,sku-3
|
948 |
-
2021-12-12,0,sku-3
|
949 |
-
2021-12-19,0,sku-3
|
950 |
-
2021-12-26,0,sku-3
|
951 |
-
2022-01-02,5,sku-3
|
952 |
-
2022-01-09,10,sku-3
|
953 |
-
2022-01-16,0,sku-3
|
954 |
-
2022-01-23,5,sku-3
|
955 |
-
2022-01-30,10,sku-3
|
956 |
-
2022-02-06,5,sku-3
|
957 |
-
2022-02-13,25,sku-3
|
958 |
-
2022-02-20,0,sku-3
|
959 |
-
2022-02-27,0,sku-3
|
960 |
-
2022-03-06,0,sku-3
|
961 |
-
2022-03-13,2,sku-3
|
962 |
-
2022-03-20,45,sku-3
|
963 |
-
2022-03-27,25,sku-3
|
964 |
-
2022-04-03,0,sku-3
|
965 |
-
2022-04-10,0,sku-3
|
966 |
-
2022-04-17,10,sku-3
|
967 |
-
2022-04-24,3,sku-3
|
968 |
-
2022-05-01,9,sku-3
|
969 |
-
2022-05-08,0,sku-3
|
970 |
-
2022-05-15,3,sku-3
|
971 |
-
2022-05-22,5,sku-3
|
972 |
-
2022-05-29,30,sku-3
|
973 |
-
2022-06-05,0,sku-3
|
974 |
-
2022-06-12,45,sku-3
|
975 |
-
2022-06-19,32,sku-3
|
976 |
-
2022-06-26,10,sku-3
|
977 |
-
2022-07-03,0,sku-3
|
978 |
-
2022-07-10,10,sku-3
|
979 |
-
2022-07-17,30,sku-3
|
980 |
-
2022-07-24,25,sku-3
|
981 |
-
2022-07-31,7,sku-3
|
982 |
-
2022-08-07,20,sku-3
|
983 |
-
2022-08-14,32,sku-3
|
984 |
-
2022-08-21,25,sku-3
|
985 |
-
2022-08-28,0,sku-3
|
986 |
-
2022-09-04,3,sku-3
|
987 |
-
2022-09-11,0,sku-3
|
988 |
-
2022-09-18,0,sku-3
|
989 |
-
2022-09-25,25,sku-3
|
990 |
-
2022-10-02,0,sku-3
|
991 |
-
2022-10-09,0,sku-3
|
992 |
-
2022-10-16,0,sku-3
|
993 |
-
2022-10-23,0,sku-3
|
994 |
-
2022-10-30,0,sku-3
|
995 |
-
2022-11-06,0,sku-3
|
996 |
-
2022-11-13,0,sku-3
|
997 |
-
2022-11-20,0,sku-3
|
998 |
-
2022-11-27,0,sku-3
|
999 |
-
2022-12-04,0,sku-3
|
1000 |
-
2022-12-11,0,sku-3
|
1001 |
-
2022-12-18,0,sku-3
|
1002 |
-
2022-12-25,0,sku-3
|
1003 |
-
2023-01-01,0,sku-3
|
1004 |
-
2023-01-08,0,sku-3
|
1005 |
-
2023-01-15,0,sku-3
|
1006 |
-
2023-01-22,0,sku-3
|
1007 |
-
2023-01-29,0,sku-3
|
1008 |
-
2023-02-05,0,sku-3
|
1009 |
-
2023-02-12,0,sku-3
|
1010 |
-
2023-02-19,0,sku-3
|
1011 |
-
2023-02-26,0,sku-3
|
1012 |
-
2023-03-05,0,sku-3
|
1013 |
-
2023-03-12,0,sku-3
|
1014 |
-
2023-03-19,0,sku-3
|
1015 |
-
2023-03-26,0,sku-3
|
1016 |
-
2023-04-02,0,sku-3
|
1017 |
-
2023-04-09,0,sku-3
|
1018 |
-
2023-04-16,10,sku-3
|
1019 |
-
2023-04-23,12,sku-3
|
|
|
1 |
+
datetime,sku,y
|
2 |
+
2018-01-01,Item_A,376
|
3 |
+
2018-02-01,Item_A,506
|
4 |
+
2018-03-01,Item_A,388
|
5 |
+
2018-04-01,Item_A,386
|
6 |
+
2018-05-01,Item_A,444
|
7 |
+
2018-06-01,Item_A,37
|
8 |
+
2018-07-01,Item_A,1436
|
9 |
+
2018-08-01,Item_A,445
|
10 |
+
2018-09-01,Item_A,611
|
11 |
+
2018-10-01,Item_A,447
|
12 |
+
2018-11-01,Item_A,670
|
13 |
+
2018-12-01,Item_A,530
|
14 |
+
2019-01-01,Item_A,709
|
15 |
+
2019-02-01,Item_A,608
|
16 |
+
2019-03-01,Item_A,605
|
17 |
+
2019-04-01,Item_A,650
|
18 |
+
2019-05-01,Item_A,285
|
19 |
+
2019-06-01,Item_A,594
|
20 |
+
2019-07-01,Item_A,644
|
21 |
+
2019-08-01,Item_A,738
|
22 |
+
2019-09-01,Item_A,669
|
23 |
+
2019-10-01,Item_A,641
|
24 |
+
2019-11-01,Item_A,747
|
25 |
+
2019-12-01,Item_A,368
|
26 |
+
2020-01-01,Item_A,523
|
27 |
+
2020-02-01,Item_A,480
|
28 |
+
2020-03-01,Item_A,690
|
29 |
+
2020-04-01,Item_A,942
|
30 |
+
2020-05-01,Item_A,991
|
31 |
+
2020-06-01,Item_A,810
|
32 |
+
2020-07-01,Item_A,922
|
33 |
+
2020-08-01,Item_A,862
|
34 |
+
2020-09-01,Item_A,683
|
35 |
+
2020-10-01,Item_A,820
|
36 |
+
2020-11-01,Item_A,830
|
37 |
+
2020-12-01,Item_A,731
|
38 |
+
2021-01-01,Item_A,820
|
39 |
+
2021-02-01,Item_A,723
|
40 |
+
2021-03-01,Item_A,1128
|
41 |
+
2021-04-01,Item_A,743
|
42 |
+
2021-05-01,Item_A,954
|
43 |
+
2021-06-01,Item_A,1030
|
44 |
+
2021-07-01,Item_A,1300
|
45 |
+
2021-08-01,Item_A,907
|
46 |
+
2021-09-01,Item_A,980
|
47 |
+
2021-10-01,Item_A,1257
|
48 |
+
2021-11-01,Item_A,1134
|
49 |
+
2021-12-01,Item_A,686
|
50 |
+
2022-01-01,Item_A,1225
|
51 |
+
2022-02-01,Item_A,1184
|
52 |
+
2022-03-01,Item_A,1249
|
53 |
+
2022-04-01,Item_A,976
|
54 |
+
2022-05-01,Item_A,1515
|
55 |
+
2022-06-01,Item_A,1310
|
56 |
+
2022-07-01,Item_A,1620
|
57 |
+
2022-08-01,Item_A,1299
|
58 |
+
2022-09-01,Item_A,1401
|
59 |
+
2022-10-01,Item_A,954
|
60 |
+
2022-11-01,Item_A,1050
|
61 |
+
2022-12-01,Item_A,1060
|
62 |
+
2018-01-01,Item_B,61
|
63 |
+
2018-02-01,Item_B,63
|
64 |
+
2018-03-01,Item_B,104
|
65 |
+
2018-04-01,Item_B,35
|
66 |
+
2018-05-01,Item_B,63
|
67 |
+
2018-06-01,Item_B,63
|
68 |
+
2018-07-01,Item_B,109
|
69 |
+
2018-08-01,Item_B,53
|
70 |
+
2018-09-01,Item_B,77
|
71 |
+
2018-10-01,Item_B,58
|
72 |
+
2018-11-01,Item_B,58
|
73 |
+
2018-12-01,Item_B,44
|
74 |
+
2019-01-01,Item_B,66
|
75 |
+
2019-02-01,Item_B,52
|
76 |
+
2019-03-01,Item_B,66
|
77 |
+
2019-04-01,Item_B,66
|
78 |
+
2019-05-01,Item_B,67
|
79 |
+
2019-06-01,Item_B,55
|
80 |
+
2019-07-01,Item_B,76
|
81 |
+
2019-08-01,Item_B,73
|
82 |
+
2019-09-01,Item_B,83
|
83 |
+
2019-10-01,Item_B,84
|
84 |
+
2019-11-01,Item_B,51
|
85 |
+
2019-12-01,Item_B,70
|
86 |
+
2020-01-01,Item_B,65
|
87 |
+
2020-02-01,Item_B,49
|
88 |
+
2020-03-01,Item_B,78
|
89 |
+
2020-04-01,Item_B,36
|
90 |
+
2020-05-01,Item_B,58
|
91 |
+
2020-06-01,Item_B,60
|
92 |
+
2020-07-01,Item_B,79
|
93 |
+
2020-08-01,Item_B,74
|
94 |
+
2020-09-01,Item_B,47
|
95 |
+
2020-10-01,Item_B,79
|
96 |
+
2020-11-01,Item_B,46
|
97 |
+
2020-12-01,Item_B,51
|
98 |
+
2021-01-01,Item_B,82
|
99 |
+
2021-02-01,Item_B,59
|
100 |
+
2021-03-01,Item_B,98
|
101 |
+
2021-04-01,Item_B,38
|
102 |
+
2021-05-01,Item_B,63
|
103 |
+
2021-06-01,Item_B,64
|
104 |
+
2021-07-01,Item_B,61
|
105 |
+
2021-08-01,Item_B,66
|
106 |
+
2021-09-01,Item_B,51
|
107 |
+
2021-10-01,Item_B,71
|
108 |
+
2021-11-01,Item_B,92
|
109 |
+
2021-12-01,Item_B,96
|
110 |
+
2022-01-01,Item_B,76
|
111 |
+
2022-02-01,Item_B,53
|
112 |
+
2022-03-01,Item_B,59
|
113 |
+
2022-04-01,Item_B,40
|
114 |
+
2022-05-01,Item_B,49
|
115 |
+
2022-06-01,Item_B,91
|
116 |
+
2022-07-01,Item_B,83
|
117 |
+
2022-08-01,Item_B,79
|
118 |
+
2022-09-01,Item_B,72
|
119 |
+
2022-10-01,Item_B,52
|
120 |
+
2022-11-01,Item_B,50
|
121 |
+
2022-12-01,Item_B,48
|
122 |
+
2019-07-01,Item_C,264
|
123 |
+
2019-08-01,Item_C,164
|
124 |
+
2019-09-01,Item_C,217
|
125 |
+
2019-10-01,Item_C,195
|
126 |
+
2019-11-01,Item_C,229
|
127 |
+
2019-12-01,Item_C,203
|
128 |
+
2020-01-01,Item_C,272
|
129 |
+
2020-02-01,Item_C,311
|
130 |
+
2020-03-01,Item_C,363
|
131 |
+
2020-04-01,Item_C,228
|
132 |
+
2020-05-01,Item_C,232
|
133 |
+
2020-06-01,Item_C,171
|
134 |
+
2020-07-01,Item_C,247
|
135 |
+
2020-08-01,Item_C,195
|
136 |
+
2020-09-01,Item_C,234
|
137 |
+
2020-10-01,Item_C,221
|
138 |
+
2020-11-01,Item_C,272
|
139 |
+
2020-12-01,Item_C,256
|
140 |
+
2021-01-01,Item_C,227
|
141 |
+
2021-02-01,Item_C,151
|
142 |
+
2021-03-01,Item_C,151
|
143 |
+
2021-04-01,Item_C,204
|
144 |
+
2021-05-01,Item_C,187
|
145 |
+
2021-06-01,Item_C,90
|
146 |
+
2021-07-01,Item_C,170
|
147 |
+
2021-08-01,Item_C,169
|
148 |
+
2021-09-01,Item_C,208
|
149 |
+
2021-10-01,Item_C,87
|
150 |
+
2021-11-01,Item_C,126
|
151 |
+
2021-12-01,Item_C,137
|
152 |
+
2022-01-01,Item_C,164
|
153 |
+
2022-02-01,Item_C,170
|
154 |
+
2022-03-01,Item_C,192
|
155 |
+
2022-04-01,Item_C,184
|
156 |
+
2022-05-01,Item_C,199
|
157 |
+
2022-06-01,Item_C,107
|
158 |
+
2022-07-01,Item_C,254
|
159 |
+
2022-08-01,Item_C,170
|
160 |
+
2022-09-01,Item_C,215
|
161 |
+
2022-10-01,Item_C,143
|
162 |
+
2022-11-01,Item_C,213
|
163 |
+
2022-12-01,Item_C,243
|
164 |
+
2023-01-01,Item_C,199
|
165 |
+
2018-08-01,Item_D,76
|
166 |
+
2018-09-01,Item_D,92
|
167 |
+
2018-10-01,Item_D,104
|
168 |
+
2018-11-01,Item_D,96
|
169 |
+
2018-12-01,Item_D,145
|
170 |
+
2019-01-01,Item_D,61
|
171 |
+
2019-02-01,Item_D,266
|
172 |
+
2019-03-01,Item_D,225
|
173 |
+
2019-04-01,Item_D,215
|
174 |
+
2019-05-01,Item_D,197
|
175 |
+
2019-06-01,Item_D,309
|
176 |
+
2019-07-01,Item_D,196
|
177 |
+
2019-08-01,Item_D,174
|
178 |
+
2019-09-01,Item_D,242
|
179 |
+
2019-10-01,Item_D,177
|
180 |
+
2019-11-01,Item_D,717
|
181 |
+
2019-12-01,Item_D,174
|
182 |
+
2020-01-01,Item_D,141
|
183 |
+
2020-02-01,Item_D,629
|
184 |
+
2020-03-01,Item_D,539
|
185 |
+
2020-04-01,Item_D,394
|
186 |
+
2020-05-01,Item_D,424
|
187 |
+
2020-06-01,Item_D,761
|
188 |
+
2020-07-01,Item_D,408
|
189 |
+
2020-08-01,Item_D,850
|
190 |
+
2020-09-01,Item_D,508
|
191 |
+
2020-10-01,Item_D,649
|
192 |
+
2020-11-01,Item_D,519
|
193 |
+
2020-12-01,Item_D,249
|
194 |
+
2021-01-01,Item_D,575
|
195 |
+
2021-02-01,Item_D,1088
|
196 |
+
2021-03-01,Item_D,1453
|
197 |
+
2021-04-01,Item_D,522
|
198 |
+
2021-05-01,Item_D,594
|
199 |
+
2021-06-01,Item_D,803
|
200 |
+
2021-07-01,Item_D,527
|
201 |
+
2021-08-01,Item_D,219
|
202 |
+
2021-09-01,Item_D,615
|
203 |
+
2021-10-01,Item_D,338
|
204 |
+
2021-11-01,Item_D,435
|
205 |
+
2021-12-01,Item_D,245
|
206 |
+
2022-01-01,Item_D,253
|
207 |
+
2022-02-01,Item_D,531
|
208 |
+
2022-03-01,Item_D,528
|
209 |
+
2022-04-01,Item_D,562
|
210 |
+
2022-05-01,Item_D,549
|
211 |
+
2022-06-01,Item_D,644
|
212 |
+
2022-07-01,Item_D,412
|
213 |
+
2022-08-01,Item_D,731
|
214 |
+
2022-09-01,Item_D,725
|
215 |
+
2022-10-01,Item_D,259
|
216 |
+
2022-11-01,Item_D,747
|
217 |
+
2022-12-01,Item_D,662
|
218 |
+
2018-09-01,Item_E,490
|
219 |
+
2018-10-01,Item_E,708
|
220 |
+
2018-11-01,Item_E,664
|
221 |
+
2018-12-01,Item_E,485
|
222 |
+
2019-01-01,Item_E,747
|
223 |
+
2019-02-01,Item_E,574
|
224 |
+
2019-03-01,Item_E,746
|
225 |
+
2019-04-01,Item_E,585
|
226 |
+
2019-05-01,Item_E,709
|
227 |
+
2019-06-01,Item_E,592
|
228 |
+
2019-07-01,Item_E,641
|
229 |
+
2019-08-01,Item_E,690
|
230 |
+
2019-09-01,Item_E,479
|
231 |
+
2019-10-01,Item_E,631
|
232 |
+
2019-11-01,Item_E,652
|
233 |
+
2019-12-01,Item_E,555
|
234 |
+
2020-01-01,Item_E,982
|
235 |
+
2020-02-01,Item_E,735
|
236 |
+
2020-03-01,Item_E,1125
|
237 |
+
2020-04-01,Item_E,497
|
238 |
+
2020-05-01,Item_E,734
|
239 |
+
2020-06-01,Item_E,796
|
240 |
+
2020-07-01,Item_E,712
|
241 |
+
2020-08-01,Item_E,761
|
242 |
+
2020-09-01,Item_E,463
|
243 |
+
2020-10-01,Item_E,638
|
244 |
+
2020-11-01,Item_E,720
|
245 |
+
2020-12-01,Item_E,537
|
246 |
+
2021-01-01,Item_E,703
|
247 |
+
2021-02-01,Item_E,760
|
248 |
+
2021-03-01,Item_E,760
|
249 |
+
2021-04-01,Item_E,507
|
250 |
+
2021-05-01,Item_E,639
|
251 |
+
2021-06-01,Item_E,678
|
252 |
+
2021-07-01,Item_E,719
|
253 |
+
2021-08-01,Item_E,427
|
254 |
+
2021-09-01,Item_E,444
|
255 |
+
2021-10-01,Item_E,553
|
256 |
+
2021-11-01,Item_E,400
|
257 |
+
2021-12-01,Item_E,411
|
258 |
+
2022-01-01,Item_E,517
|
259 |
+
2022-02-01,Item_E,370
|
260 |
+
2022-03-01,Item_E,543
|
261 |
+
2022-04-01,Item_E,349
|
262 |
+
2022-05-01,Item_E,370
|
263 |
+
2022-06-01,Item_E,447
|
264 |
+
2022-07-01,Item_E,385
|
265 |
+
2022-08-01,Item_E,606
|
266 |
+
2022-09-01,Item_E,483
|
267 |
+
2022-10-01,Item_E,339
|
268 |
+
2022-11-01,Item_E,348
|
269 |
+
2022-12-01,Item_E,333
|
270 |
+
2020-06-07,Item_F,0
|
271 |
+
2020-06-14,Item_F,20
|
272 |
+
2020-06-21,Item_F,25
|
273 |
+
2020-06-28,Item_F,0
|
274 |
+
2020-07-05,Item_F,0
|
275 |
+
2020-07-12,Item_F,0
|
276 |
+
2020-07-19,Item_F,0
|
277 |
+
2020-07-26,Item_F,30
|
278 |
+
2020-08-02,Item_F,0
|
279 |
+
2020-08-09,Item_F,0
|
280 |
+
2020-08-16,Item_F,0
|
281 |
+
2020-08-23,Item_F,55
|
282 |
+
2020-08-30,Item_F,10
|
283 |
+
2020-09-06,Item_F,15
|
284 |
+
2020-09-13,Item_F,10
|
285 |
+
2020-09-20,Item_F,20
|
286 |
+
2020-09-27,Item_F,0
|
287 |
+
2020-10-04,Item_F,0
|
288 |
+
2020-10-11,Item_F,20
|
289 |
+
2020-10-18,Item_F,10
|
290 |
+
2020-10-25,Item_F,50
|
291 |
+
2020-11-01,Item_F,0
|
292 |
+
2020-11-08,Item_F,0
|
293 |
+
2020-11-15,Item_F,20
|
294 |
+
2020-11-22,Item_F,20
|
295 |
+
2020-11-29,Item_F,20
|
296 |
+
2020-12-06,Item_F,0
|
297 |
+
2020-12-13,Item_F,0
|
298 |
+
2020-12-20,Item_F,20
|
299 |
+
2020-12-27,Item_F,0
|
300 |
+
2021-01-03,Item_F,0
|
301 |
+
2021-01-10,Item_F,0
|
302 |
+
2021-01-17,Item_F,100
|
303 |
+
2021-01-24,Item_F,0
|
304 |
+
2021-01-31,Item_F,100
|
305 |
+
2021-02-07,Item_F,0
|
306 |
+
2021-02-14,Item_F,0
|
307 |
+
2021-02-21,Item_F,0
|
308 |
+
2021-02-28,Item_F,0
|
309 |
+
2021-03-07,Item_F,0
|
310 |
+
2021-03-14,Item_F,20
|
311 |
+
2021-03-21,Item_F,3
|
312 |
+
2021-03-28,Item_F,55
|
313 |
+
2021-04-04,Item_F,0
|
314 |
+
2021-04-11,Item_F,100
|
315 |
+
2021-04-18,Item_F,0
|
316 |
+
2021-04-25,Item_F,10
|
317 |
+
2021-05-02,Item_F,40
|
318 |
+
2021-05-09,Item_F,0
|
319 |
+
2021-05-16,Item_F,0
|
320 |
+
2021-05-23,Item_F,0
|
321 |
+
2021-05-30,Item_F,30
|
322 |
+
2021-06-06,Item_F,10
|
323 |
+
2021-06-13,Item_F,5
|
324 |
+
2021-06-20,Item_F,10
|
325 |
+
2021-06-27,Item_F,30
|
326 |
+
2021-07-04,Item_F,0
|
327 |
+
2021-07-11,Item_F,10
|
328 |
+
2021-07-18,Item_F,30
|
329 |
+
2021-07-25,Item_F,0
|
330 |
+
2021-08-01,Item_F,0
|
331 |
+
2021-08-08,Item_F,0
|
332 |
+
2021-08-15,Item_F,0
|
333 |
+
2021-08-22,Item_F,35
|
334 |
+
2021-08-29,Item_F,10
|
335 |
+
2021-09-05,Item_F,0
|
336 |
+
2021-09-12,Item_F,50
|
337 |
+
2021-09-19,Item_F,0
|
338 |
+
2021-09-26,Item_F,10
|
339 |
+
2021-10-03,Item_F,0
|
340 |
+
2021-10-10,Item_F,15
|
341 |
+
2021-10-17,Item_F,20
|
342 |
+
2021-10-24,Item_F,20
|
343 |
+
2021-10-31,Item_F,45
|
344 |
+
2021-11-07,Item_F,55
|
345 |
+
2021-11-14,Item_F,27
|
346 |
+
2021-11-21,Item_F,16
|
347 |
+
2021-11-28,Item_F,18
|
348 |
+
2021-12-05,Item_F,0
|
349 |
+
2021-12-12,Item_F,0
|
350 |
+
2021-12-19,Item_F,15
|
351 |
+
2021-12-26,Item_F,0
|
352 |
+
2022-01-02,Item_F,22
|
353 |
+
2022-01-09,Item_F,0
|
354 |
+
2022-01-16,Item_F,100
|
355 |
+
2022-01-23,Item_F,34
|
356 |
+
2022-01-30,Item_F,5
|
357 |
+
2022-02-06,Item_F,70
|
358 |
+
2022-02-13,Item_F,40
|
359 |
+
2022-02-20,Item_F,100
|
360 |
+
2022-02-27,Item_F,0
|
361 |
+
2022-03-06,Item_F,50
|
362 |
+
2022-03-13,Item_F,50
|
363 |
+
2022-03-20,Item_F,0
|
364 |
+
2022-03-27,Item_F,10
|
365 |
+
2022-04-03,Item_F,0
|
366 |
+
2022-04-10,Item_F,50
|
367 |
+
2022-04-17,Item_F,20
|
368 |
+
2022-04-24,Item_F,80
|
369 |
+
2022-05-01,Item_F,30
|
370 |
+
2022-05-08,Item_F,0
|
371 |
+
2022-05-15,Item_F,30
|
372 |
+
2022-05-22,Item_F,0
|
373 |
+
2022-05-29,Item_F,20
|
374 |
+
2022-06-05,Item_F,50
|
375 |
+
2022-06-12,Item_F,0
|
376 |
+
2022-06-19,Item_F,44
|
377 |
+
2022-06-26,Item_F,50
|
378 |
+
2022-07-03,Item_F,0
|
379 |
+
2022-07-10,Item_F,30
|
380 |
+
2022-07-17,Item_F,30
|
381 |
+
2022-07-24,Item_F,6
|
382 |
+
2022-07-31,Item_F,35
|
383 |
+
2022-08-07,Item_F,50
|
384 |
+
2022-08-14,Item_F,60
|
385 |
+
2022-08-21,Item_F,0
|
386 |
+
2022-08-28,Item_F,30
|
387 |
+
2022-09-04,Item_F,70
|
388 |
+
2022-09-11,Item_F,100
|
389 |
+
2022-09-18,Item_F,0
|
390 |
+
2022-09-25,Item_F,0
|
391 |
+
2022-10-02,Item_F,4
|
392 |
+
2022-10-09,Item_F,0
|
393 |
+
2022-10-16,Item_F,0
|
394 |
+
2022-10-23,Item_F,0
|
395 |
+
2022-10-30,Item_F,50
|
396 |
+
2022-11-06,Item_F,30
|
397 |
+
2022-11-13,Item_F,0
|
398 |
+
2022-11-20,Item_F,70
|
399 |
+
2022-11-27,Item_F,100
|
400 |
+
2022-12-04,Item_F,50
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data/demand_forecasting_demo_data_5.csv
ADDED
@@ -0,0 +1,269 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,sku,y
|
2 |
+
2018-01-01,Item_A,376
|
3 |
+
2018-01-01,Item_B,61
|
4 |
+
2018-01-01,Item_C,264
|
5 |
+
2018-02-01,Item_A,506
|
6 |
+
2018-02-01,Item_B,63
|
7 |
+
2018-02-01,Item_C,164
|
8 |
+
2018-03-01,Item_A,388
|
9 |
+
2018-03-01,Item_B,104
|
10 |
+
2018-03-01,Item_C,217
|
11 |
+
2018-04-01,Item_A,386
|
12 |
+
2018-04-01,Item_B,35
|
13 |
+
2018-04-01,Item_C,195
|
14 |
+
2018-05-01,Item_A,444
|
15 |
+
2018-05-01,Item_B,63
|
16 |
+
2018-05-01,Item_C,229
|
17 |
+
2018-06-01,Item_A,37
|
18 |
+
2018-06-01,Item_B,63
|
19 |
+
2018-06-01,Item_C,203
|
20 |
+
2018-07-01,Item_A,1436
|
21 |
+
2018-07-01,Item_B,109
|
22 |
+
2018-07-01,Item_C,272
|
23 |
+
2018-08-01,Item_A,445
|
24 |
+
2018-08-01,Item_D,76
|
25 |
+
2018-08-01,Item_B,53
|
26 |
+
2018-08-01,Item_C,311
|
27 |
+
2018-09-01,Item_A,611
|
28 |
+
2018-09-01,Item_D,92
|
29 |
+
2018-09-01,Item_B,77
|
30 |
+
2018-09-01,Item_C,363
|
31 |
+
2018-09-01,Item_E,490
|
32 |
+
2018-10-01,Item_A,447
|
33 |
+
2018-10-01,Item_D,104
|
34 |
+
2018-10-01,Item_B,58
|
35 |
+
2018-10-01,Item_C,228
|
36 |
+
2018-10-01,Item_E,708
|
37 |
+
2018-11-01,Item_A,670
|
38 |
+
2018-11-01,Item_D,96
|
39 |
+
2018-11-01,Item_B,58
|
40 |
+
2018-11-01,Item_C,232
|
41 |
+
2018-11-01,Item_E,664
|
42 |
+
2018-12-01,Item_A,530
|
43 |
+
2018-12-01,Item_D,145
|
44 |
+
2018-12-01,Item_B,44
|
45 |
+
2018-12-01,Item_C,171
|
46 |
+
2018-12-01,Item_E,485
|
47 |
+
2019-01-01,Item_A,709
|
48 |
+
2019-01-01,Item_D,61
|
49 |
+
2019-01-01,Item_B,66
|
50 |
+
2019-01-01,Item_C,247
|
51 |
+
2019-01-01,Item_E,747
|
52 |
+
2019-02-01,Item_A,608
|
53 |
+
2019-02-01,Item_D,266
|
54 |
+
2019-02-01,Item_B,52
|
55 |
+
2019-02-01,Item_C,195
|
56 |
+
2019-02-01,Item_E,574
|
57 |
+
2019-03-01,Item_A,605
|
58 |
+
2019-03-01,Item_D,225
|
59 |
+
2019-03-01,Item_B,66
|
60 |
+
2019-03-01,Item_C,234
|
61 |
+
2019-03-01,Item_E,746
|
62 |
+
2019-04-01,Item_A,650
|
63 |
+
2019-04-01,Item_D,215
|
64 |
+
2019-04-01,Item_B,66
|
65 |
+
2019-04-01,Item_C,221
|
66 |
+
2019-04-01,Item_E,585
|
67 |
+
2019-05-01,Item_A,285
|
68 |
+
2019-05-01,Item_D,197
|
69 |
+
2019-05-01,Item_B,67
|
70 |
+
2019-05-01,Item_C,272
|
71 |
+
2019-05-01,Item_E,709
|
72 |
+
2019-06-01,Item_A,594
|
73 |
+
2019-06-01,Item_D,309
|
74 |
+
2019-06-01,Item_B,55
|
75 |
+
2019-06-01,Item_C,256
|
76 |
+
2019-06-01,Item_E,592
|
77 |
+
2019-07-01,Item_A,644
|
78 |
+
2019-07-01,Item_D,196
|
79 |
+
2019-07-01,Item_B,76
|
80 |
+
2019-07-01,Item_C,227
|
81 |
+
2019-07-01,Item_E,641
|
82 |
+
2019-08-01,Item_A,738
|
83 |
+
2019-08-01,Item_D,174
|
84 |
+
2019-08-01,Item_B,73
|
85 |
+
2019-08-01,Item_C,151
|
86 |
+
2019-08-01,Item_E,690
|
87 |
+
2019-09-01,Item_A,669
|
88 |
+
2019-09-01,Item_D,242
|
89 |
+
2019-09-01,Item_B,83
|
90 |
+
2019-09-01,Item_C,151
|
91 |
+
2019-09-01,Item_E,479
|
92 |
+
2019-10-01,Item_A,641
|
93 |
+
2019-10-01,Item_D,177
|
94 |
+
2019-10-01,Item_B,84
|
95 |
+
2019-10-01,Item_C,204
|
96 |
+
2019-10-01,Item_E,631
|
97 |
+
2019-11-01,Item_A,747
|
98 |
+
2019-11-01,Item_D,717
|
99 |
+
2019-11-01,Item_B,51
|
100 |
+
2019-11-01,Item_C,187
|
101 |
+
2019-11-01,Item_E,652
|
102 |
+
2019-12-01,Item_A,368
|
103 |
+
2019-12-01,Item_D,174
|
104 |
+
2019-12-01,Item_B,70
|
105 |
+
2019-12-01,Item_C,90
|
106 |
+
2019-12-01,Item_E,555
|
107 |
+
2020-01-01,Item_A,523
|
108 |
+
2020-01-01,Item_D,141
|
109 |
+
2020-01-01,Item_B,65
|
110 |
+
2020-01-01,Item_C,170
|
111 |
+
2020-01-01,Item_E,982
|
112 |
+
2020-02-01,Item_A,480
|
113 |
+
2020-02-01,Item_D,629
|
114 |
+
2020-02-01,Item_B,49
|
115 |
+
2020-02-01,Item_C,169
|
116 |
+
2020-02-01,Item_E,735
|
117 |
+
2020-03-01,Item_A,690
|
118 |
+
2020-03-01,Item_D,539
|
119 |
+
2020-03-01,Item_B,78
|
120 |
+
2020-03-01,Item_C,208
|
121 |
+
2020-03-01,Item_E,1125
|
122 |
+
2020-04-01,Item_A,942
|
123 |
+
2020-04-01,Item_D,394
|
124 |
+
2020-04-01,Item_B,36
|
125 |
+
2020-04-01,Item_C,87
|
126 |
+
2020-04-01,Item_E,497
|
127 |
+
2020-05-01,Item_A,991
|
128 |
+
2020-05-01,Item_D,424
|
129 |
+
2020-05-01,Item_B,58
|
130 |
+
2020-05-01,Item_C,126
|
131 |
+
2020-05-01,Item_E,734
|
132 |
+
2020-06-01,Item_A,810
|
133 |
+
2020-06-01,Item_D,761
|
134 |
+
2020-06-01,Item_B,60
|
135 |
+
2020-06-01,Item_C,137
|
136 |
+
2020-06-01,Item_E,796
|
137 |
+
2020-07-01,Item_A,922
|
138 |
+
2020-07-01,Item_D,408
|
139 |
+
2020-07-01,Item_B,79
|
140 |
+
2020-07-01,Item_C,164
|
141 |
+
2020-07-01,Item_E,712
|
142 |
+
2020-08-01,Item_A,862
|
143 |
+
2020-08-01,Item_D,850
|
144 |
+
2020-08-01,Item_B,74
|
145 |
+
2020-08-01,Item_C,170
|
146 |
+
2020-08-01,Item_E,761
|
147 |
+
2020-09-01,Item_A,683
|
148 |
+
2020-09-01,Item_D,508
|
149 |
+
2020-09-01,Item_B,47
|
150 |
+
2020-09-01,Item_C,192
|
151 |
+
2020-09-01,Item_E,463
|
152 |
+
2020-10-01,Item_A,820
|
153 |
+
2020-10-01,Item_D,649
|
154 |
+
2020-10-01,Item_B,79
|
155 |
+
2020-10-01,Item_C,184
|
156 |
+
2020-10-01,Item_E,638
|
157 |
+
2020-11-01,Item_A,830
|
158 |
+
2020-11-01,Item_D,519
|
159 |
+
2020-11-01,Item_B,46
|
160 |
+
2020-11-01,Item_C,199
|
161 |
+
2020-11-01,Item_E,720
|
162 |
+
2020-12-01,Item_A,731
|
163 |
+
2020-12-01,Item_D,249
|
164 |
+
2020-12-01,Item_B,51
|
165 |
+
2020-12-01,Item_C,107
|
166 |
+
2020-12-01,Item_E,537
|
167 |
+
2021-01-01,Item_A,820
|
168 |
+
2021-01-01,Item_D,575
|
169 |
+
2021-01-01,Item_B,82
|
170 |
+
2021-01-01,Item_C,254
|
171 |
+
2021-01-01,Item_E,703
|
172 |
+
2021-02-01,Item_A,723
|
173 |
+
2021-02-01,Item_D,1088
|
174 |
+
2021-02-01,Item_B,59
|
175 |
+
2021-02-01,Item_C,170
|
176 |
+
2021-02-01,Item_E,760
|
177 |
+
2021-03-01,Item_A,1128
|
178 |
+
2021-03-01,Item_D,1453
|
179 |
+
2021-03-01,Item_B,98
|
180 |
+
2021-03-01,Item_C,215
|
181 |
+
2021-03-01,Item_E,760
|
182 |
+
2021-04-01,Item_A,743
|
183 |
+
2021-04-01,Item_D,522
|
184 |
+
2021-04-01,Item_B,38
|
185 |
+
2021-04-01,Item_C,143
|
186 |
+
2021-04-01,Item_E,507
|
187 |
+
2021-05-01,Item_A,954
|
188 |
+
2021-05-01,Item_D,594
|
189 |
+
2021-05-01,Item_B,63
|
190 |
+
2021-05-01,Item_C,213
|
191 |
+
2021-05-01,Item_E,639
|
192 |
+
2021-06-01,Item_A,1030
|
193 |
+
2021-06-01,Item_D,803
|
194 |
+
2021-06-01,Item_B,64
|
195 |
+
2021-06-01,Item_C,243
|
196 |
+
2021-06-01,Item_E,678
|
197 |
+
2021-07-01,Item_A,1300
|
198 |
+
2021-07-01,Item_D,527
|
199 |
+
2021-07-01,Item_B,61
|
200 |
+
2021-07-01,Item_C,199
|
201 |
+
2021-07-01,Item_E,719
|
202 |
+
2021-08-01,Item_A,907
|
203 |
+
2021-08-01,Item_D,219
|
204 |
+
2021-08-01,Item_B,66
|
205 |
+
2021-08-01,Item_E,427
|
206 |
+
2021-09-01,Item_A,980
|
207 |
+
2021-09-01,Item_D,615
|
208 |
+
2021-09-01,Item_B,51
|
209 |
+
2021-09-01,Item_E,444
|
210 |
+
2021-10-01,Item_A,1257
|
211 |
+
2021-10-01,Item_D,338
|
212 |
+
2021-10-01,Item_B,71
|
213 |
+
2021-10-01,Item_E,553
|
214 |
+
2021-11-01,Item_A,1134
|
215 |
+
2021-11-01,Item_D,435
|
216 |
+
2021-11-01,Item_B,92
|
217 |
+
2021-11-01,Item_E,400
|
218 |
+
2021-12-01,Item_A,686
|
219 |
+
2021-12-01,Item_D,245
|
220 |
+
2021-12-01,Item_B,96
|
221 |
+
2021-12-01,Item_E,411
|
222 |
+
2022-01-01,Item_A,1225
|
223 |
+
2022-01-01,Item_D,253
|
224 |
+
2022-01-01,Item_B,76
|
225 |
+
2022-01-01,Item_E,517
|
226 |
+
2022-02-01,Item_A,1184
|
227 |
+
2022-02-01,Item_D,531
|
228 |
+
2022-02-01,Item_B,53
|
229 |
+
2022-02-01,Item_E,370
|
230 |
+
2022-03-01,Item_A,1249
|
231 |
+
2022-03-01,Item_D,528
|
232 |
+
2022-03-01,Item_B,59
|
233 |
+
2022-03-01,Item_E,543
|
234 |
+
2022-04-01,Item_A,976
|
235 |
+
2022-04-01,Item_D,562
|
236 |
+
2022-04-01,Item_B,40
|
237 |
+
2022-04-01,Item_E,349
|
238 |
+
2022-05-01,Item_A,1515
|
239 |
+
2022-05-01,Item_D,549
|
240 |
+
2022-05-01,Item_B,49
|
241 |
+
2022-05-01,Item_E,370
|
242 |
+
2022-06-01,Item_A,1310
|
243 |
+
2022-06-01,Item_D,644
|
244 |
+
2022-06-01,Item_B,91
|
245 |
+
2022-06-01,Item_E,447
|
246 |
+
2022-07-01,Item_A,1620
|
247 |
+
2022-07-01,Item_D,412
|
248 |
+
2022-07-01,Item_B,83
|
249 |
+
2022-07-01,Item_E,385
|
250 |
+
2022-08-01,Item_A,1299
|
251 |
+
2022-08-01,Item_D,731
|
252 |
+
2022-08-01,Item_B,79
|
253 |
+
2022-08-01,Item_E,606
|
254 |
+
2022-09-01,Item_A,1401
|
255 |
+
2022-09-01,Item_D,725
|
256 |
+
2022-09-01,Item_B,72
|
257 |
+
2022-09-01,Item_E,483
|
258 |
+
2022-10-01,Item_A,954
|
259 |
+
2022-10-01,Item_D,259
|
260 |
+
2022-10-01,Item_B,52
|
261 |
+
2022-10-01,Item_E,339
|
262 |
+
2022-11-01,Item_A,1050
|
263 |
+
2022-11-01,Item_D,747
|
264 |
+
2022-11-01,Item_B,50
|
265 |
+
2022-11-01,Item_E,348
|
266 |
+
2022-12-01,Item_A,1060
|
267 |
+
2022-12-01,Item_D,662
|
268 |
+
2022-12-01,Item_B,48
|
269 |
+
2022-12-01,Item_E,333
|
data/demand_forecasting_demo_data_old.csv
ADDED
@@ -0,0 +1,1019 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,y,sku
|
2 |
+
2018-05-06,2,sku-0
|
3 |
+
2018-05-13,1,sku-0
|
4 |
+
2018-05-20,7,sku-0
|
5 |
+
2018-05-27,9,sku-0
|
6 |
+
2018-06-03,2,sku-0
|
7 |
+
2018-06-10,3,sku-0
|
8 |
+
2018-06-17,9,sku-0
|
9 |
+
2018-06-24,9,sku-0
|
10 |
+
2018-07-01,9,sku-0
|
11 |
+
2018-07-08,9,sku-0
|
12 |
+
2018-07-15,9,sku-0
|
13 |
+
2018-07-22,9,sku-0
|
14 |
+
2018-07-29,9,sku-0
|
15 |
+
2018-08-05,9,sku-0
|
16 |
+
2018-08-12,9,sku-0
|
17 |
+
2018-08-19,9,sku-0
|
18 |
+
2018-08-26,9,sku-0
|
19 |
+
2018-09-02,9,sku-0
|
20 |
+
2018-09-09,9,sku-0
|
21 |
+
2018-09-16,6,sku-0
|
22 |
+
2018-09-23,6,sku-0
|
23 |
+
2018-09-30,2,sku-0
|
24 |
+
2018-10-07,9,sku-0
|
25 |
+
2018-10-14,9,sku-0
|
26 |
+
2018-10-21,2,sku-0
|
27 |
+
2018-10-28,10,sku-0
|
28 |
+
2018-11-04,3,sku-0
|
29 |
+
2018-11-11,9,sku-0
|
30 |
+
2018-11-18,16,sku-0
|
31 |
+
2018-11-25,1,sku-0
|
32 |
+
2018-12-02,10,sku-0
|
33 |
+
2018-12-09,9,sku-0
|
34 |
+
2018-12-16,4,sku-0
|
35 |
+
2018-12-23,2,sku-0
|
36 |
+
2018-12-30,1,sku-0
|
37 |
+
2019-01-06,9,sku-0
|
38 |
+
2019-01-13,6,sku-0
|
39 |
+
2019-01-20,15,sku-0
|
40 |
+
2019-01-27,2,sku-0
|
41 |
+
2019-02-03,9,sku-0
|
42 |
+
2019-02-10,9,sku-0
|
43 |
+
2019-02-17,9,sku-0
|
44 |
+
2019-02-24,10,sku-0
|
45 |
+
2019-03-03,9,sku-0
|
46 |
+
2019-03-10,2,sku-0
|
47 |
+
2019-03-17,14,sku-0
|
48 |
+
2019-03-24,1,sku-0
|
49 |
+
2019-03-31,2,sku-0
|
50 |
+
2019-04-07,9,sku-0
|
51 |
+
2019-04-14,3,sku-0
|
52 |
+
2019-04-21,3,sku-0
|
53 |
+
2019-04-28,1,sku-0
|
54 |
+
2019-05-05,2,sku-0
|
55 |
+
2019-05-12,9,sku-0
|
56 |
+
2019-05-19,13,sku-0
|
57 |
+
2019-05-26,6,sku-0
|
58 |
+
2019-06-02,2,sku-0
|
59 |
+
2019-06-09,9,sku-0
|
60 |
+
2019-06-16,9,sku-0
|
61 |
+
2019-06-23,9,sku-0
|
62 |
+
2019-06-30,12,sku-0
|
63 |
+
2019-07-07,2,sku-0
|
64 |
+
2019-07-14,1,sku-0
|
65 |
+
2019-07-21,15,sku-0
|
66 |
+
2019-07-28,9,sku-0
|
67 |
+
2019-08-04,5,sku-0
|
68 |
+
2019-08-11,9,sku-0
|
69 |
+
2019-08-18,12,sku-0
|
70 |
+
2019-08-25,6,sku-0
|
71 |
+
2019-09-01,4,sku-0
|
72 |
+
2019-09-08,9,sku-0
|
73 |
+
2019-09-15,1,sku-0
|
74 |
+
2019-09-22,20,sku-0
|
75 |
+
2019-09-29,9,sku-0
|
76 |
+
2019-10-06,9,sku-0
|
77 |
+
2019-10-13,4,sku-0
|
78 |
+
2019-10-20,4,sku-0
|
79 |
+
2019-10-27,9,sku-0
|
80 |
+
2019-11-03,17,sku-0
|
81 |
+
2019-11-10,1,sku-0
|
82 |
+
2019-11-17,11,sku-0
|
83 |
+
2019-11-24,5,sku-0
|
84 |
+
2019-12-01,7,sku-0
|
85 |
+
2019-12-08,4,sku-0
|
86 |
+
2019-12-15,9,sku-0
|
87 |
+
2019-12-22,9,sku-0
|
88 |
+
2019-12-29,13,sku-0
|
89 |
+
2020-01-05,9,sku-0
|
90 |
+
2020-01-12,15,sku-0
|
91 |
+
2020-01-19,3,sku-0
|
92 |
+
2020-01-26,3,sku-0
|
93 |
+
2020-02-02,4,sku-0
|
94 |
+
2020-02-09,8,sku-0
|
95 |
+
2020-02-16,30,sku-0
|
96 |
+
2020-02-23,9,sku-0
|
97 |
+
2020-03-01,9,sku-0
|
98 |
+
2020-03-08,9,sku-0
|
99 |
+
2020-03-15,9,sku-0
|
100 |
+
2020-03-22,8,sku-0
|
101 |
+
2020-03-29,9,sku-0
|
102 |
+
2020-04-05,9,sku-0
|
103 |
+
2020-04-12,9,sku-0
|
104 |
+
2020-04-19,9,sku-0
|
105 |
+
2020-04-26,9,sku-0
|
106 |
+
2020-05-03,9,sku-0
|
107 |
+
2020-05-10,9,sku-0
|
108 |
+
2020-05-17,9,sku-0
|
109 |
+
2020-05-24,9,sku-0
|
110 |
+
2020-05-31,9,sku-0
|
111 |
+
2020-06-07,9,sku-0
|
112 |
+
2020-06-14,20,sku-0
|
113 |
+
2020-06-21,9,sku-0
|
114 |
+
2020-06-28,9,sku-0
|
115 |
+
2020-07-05,9,sku-0
|
116 |
+
2020-07-12,9,sku-0
|
117 |
+
2020-07-19,4,sku-0
|
118 |
+
2020-07-26,13,sku-0
|
119 |
+
2020-08-02,9,sku-0
|
120 |
+
2020-08-09,9,sku-0
|
121 |
+
2020-08-16,9,sku-0
|
122 |
+
2020-08-23,21,sku-0
|
123 |
+
2020-08-30,4,sku-0
|
124 |
+
2020-09-06,9,sku-0
|
125 |
+
2020-09-13,2,sku-0
|
126 |
+
2020-09-20,15,sku-0
|
127 |
+
2020-09-27,4,sku-0
|
128 |
+
2020-10-04,9,sku-0
|
129 |
+
2020-10-11,4,sku-0
|
130 |
+
2020-10-18,4,sku-0
|
131 |
+
2020-10-25,17,sku-0
|
132 |
+
2020-11-01,16,sku-0
|
133 |
+
2020-11-08,9,sku-0
|
134 |
+
2020-11-15,9,sku-0
|
135 |
+
2020-11-22,22,sku-0
|
136 |
+
2020-11-29,1,sku-0
|
137 |
+
2020-12-06,6,sku-0
|
138 |
+
2020-12-13,6,sku-0
|
139 |
+
2020-12-20,25,sku-0
|
140 |
+
2020-12-27,10,sku-0
|
141 |
+
2021-01-03,9,sku-0
|
142 |
+
2021-01-10,25,sku-0
|
143 |
+
2021-01-17,40,sku-0
|
144 |
+
2021-01-24,40,sku-0
|
145 |
+
2021-01-31,6,sku-0
|
146 |
+
2021-02-07,20,sku-0
|
147 |
+
2021-02-14,35,sku-0
|
148 |
+
2021-02-21,9,sku-0
|
149 |
+
2021-02-28,20,sku-0
|
150 |
+
2021-03-07,9,sku-0
|
151 |
+
2021-03-14,9,sku-0
|
152 |
+
2021-03-21,50,sku-0
|
153 |
+
2021-03-28,35,sku-0
|
154 |
+
2021-04-04,9,sku-0
|
155 |
+
2021-04-11,20,sku-0
|
156 |
+
2021-04-18,20,sku-0
|
157 |
+
2021-04-25,10,sku-0
|
158 |
+
2021-05-02,20,sku-0
|
159 |
+
2021-05-09,9,sku-0
|
160 |
+
2021-05-16,9,sku-0
|
161 |
+
2021-05-23,9,sku-0
|
162 |
+
2021-05-30,9,sku-0
|
163 |
+
2021-06-06,9,sku-0
|
164 |
+
2021-06-13,9,sku-0
|
165 |
+
2021-06-20,9,sku-0
|
166 |
+
2021-06-27,9,sku-0
|
167 |
+
2021-07-04,9,sku-0
|
168 |
+
2021-07-11,5,sku-0
|
169 |
+
2021-07-18,5,sku-0
|
170 |
+
2021-07-25,9,sku-0
|
171 |
+
2021-08-01,9,sku-0
|
172 |
+
2021-08-08,9,sku-0
|
173 |
+
2021-08-15,9,sku-0
|
174 |
+
2021-08-22,20,sku-0
|
175 |
+
2021-08-29,20,sku-0
|
176 |
+
2021-09-05,2,sku-0
|
177 |
+
2021-09-12,9,sku-0
|
178 |
+
2021-09-19,9,sku-0
|
179 |
+
2021-09-26,10,sku-0
|
180 |
+
2021-10-03,9,sku-0
|
181 |
+
2021-10-10,9,sku-0
|
182 |
+
2021-10-17,1,sku-0
|
183 |
+
2021-10-24,5,sku-0
|
184 |
+
2021-10-31,10,sku-0
|
185 |
+
2021-11-07,25,sku-0
|
186 |
+
2021-11-14,22,sku-0
|
187 |
+
2021-11-21,23,sku-0
|
188 |
+
2021-11-28,7,sku-0
|
189 |
+
2021-12-05,9,sku-0
|
190 |
+
2021-12-12,12,sku-0
|
191 |
+
2021-12-19,18,sku-0
|
192 |
+
2021-12-26,9,sku-0
|
193 |
+
2022-01-02,35,sku-0
|
194 |
+
2022-01-09,9,sku-0
|
195 |
+
2022-01-16,20,sku-0
|
196 |
+
2022-01-23,20,sku-0
|
197 |
+
2022-01-30,10,sku-0
|
198 |
+
2022-02-06,10,sku-0
|
199 |
+
2022-02-13,22,sku-0
|
200 |
+
2022-02-20,49,sku-0
|
201 |
+
2022-02-27,10,sku-0
|
202 |
+
2022-03-06,9,sku-0
|
203 |
+
2022-03-13,9,sku-0
|
204 |
+
2022-03-20,9,sku-0
|
205 |
+
2022-03-27,9,sku-0
|
206 |
+
2022-04-03,9,sku-0
|
207 |
+
2022-04-10,10,sku-0
|
208 |
+
2022-04-17,9,sku-0
|
209 |
+
2022-04-24,20,sku-0
|
210 |
+
2022-05-01,9,sku-0
|
211 |
+
2022-05-08,9,sku-0
|
212 |
+
2022-05-15,9,sku-0
|
213 |
+
2022-05-22,50,sku-0
|
214 |
+
2022-05-29,9,sku-0
|
215 |
+
2022-06-05,9,sku-0
|
216 |
+
2022-06-12,30,sku-0
|
217 |
+
2022-06-19,10,sku-0
|
218 |
+
2022-06-26,10,sku-0
|
219 |
+
2022-07-03,5,sku-0
|
220 |
+
2022-07-10,30,sku-0
|
221 |
+
2022-07-17,20,sku-0
|
222 |
+
2022-07-24,50,sku-0
|
223 |
+
2022-07-31,9,sku-0
|
224 |
+
2022-08-07,100,sku-0
|
225 |
+
2022-08-14,34,sku-0
|
226 |
+
2022-08-21,9,sku-0
|
227 |
+
2022-08-28,10,sku-0
|
228 |
+
2022-09-04,42,sku-0
|
229 |
+
2022-09-11,30,sku-0
|
230 |
+
2022-09-18,29,sku-0
|
231 |
+
2022-09-25,8,sku-0
|
232 |
+
2022-10-02,10,sku-0
|
233 |
+
2022-10-09,9,sku-0
|
234 |
+
2022-10-16,9,sku-0
|
235 |
+
2022-10-23,9,sku-0
|
236 |
+
2022-10-30,9,sku-0
|
237 |
+
2022-11-06,9,sku-0
|
238 |
+
2022-11-13,9,sku-0
|
239 |
+
2022-11-20,20,sku-0
|
240 |
+
2022-11-27,10,sku-0
|
241 |
+
2022-12-04,9,sku-0
|
242 |
+
2022-12-11,9,sku-0
|
243 |
+
2022-12-18,35,sku-0
|
244 |
+
2022-12-25,60,sku-0
|
245 |
+
2023-01-01,15,sku-0
|
246 |
+
2023-01-08,5,sku-0
|
247 |
+
2023-01-15,70,sku-0
|
248 |
+
2023-01-22,20,sku-0
|
249 |
+
2023-01-29,1,sku-0
|
250 |
+
2023-02-05,9,sku-0
|
251 |
+
2023-02-12,9,sku-0
|
252 |
+
2023-02-19,100,sku-0
|
253 |
+
2023-02-26,40,sku-0
|
254 |
+
2023-03-05,40,sku-0
|
255 |
+
2023-03-12,9,sku-0
|
256 |
+
2023-03-19,5,sku-0
|
257 |
+
2023-03-26,9,sku-0
|
258 |
+
2023-04-02,30,sku-0
|
259 |
+
2023-04-09,50,sku-0
|
260 |
+
2023-04-16,9,sku-0
|
261 |
+
2023-04-23,20,sku-0
|
262 |
+
2018-05-06,5,sku-1
|
263 |
+
2018-05-13,20,sku-1
|
264 |
+
2018-05-20,31,sku-1
|
265 |
+
2018-05-27,10,sku-1
|
266 |
+
2018-06-03,60,sku-1
|
267 |
+
2018-06-10,31,sku-1
|
268 |
+
2018-06-17,31,sku-1
|
269 |
+
2018-06-24,5,sku-1
|
270 |
+
2018-07-01,31,sku-1
|
271 |
+
2018-07-08,30,sku-1
|
272 |
+
2018-07-15,31,sku-1
|
273 |
+
2018-07-22,31,sku-1
|
274 |
+
2018-07-29,31,sku-1
|
275 |
+
2018-08-05,10,sku-1
|
276 |
+
2018-08-12,31,sku-1
|
277 |
+
2018-08-19,31,sku-1
|
278 |
+
2018-08-26,15,sku-1
|
279 |
+
2018-09-02,31,sku-1
|
280 |
+
2018-09-09,31,sku-1
|
281 |
+
2018-09-16,25,sku-1
|
282 |
+
2018-09-23,5,sku-1
|
283 |
+
2018-09-30,45,sku-1
|
284 |
+
2018-10-07,20,sku-1
|
285 |
+
2018-10-14,25,sku-1
|
286 |
+
2018-10-21,31,sku-1
|
287 |
+
2018-10-28,40,sku-1
|
288 |
+
2018-11-04,20,sku-1
|
289 |
+
2018-11-11,31,sku-1
|
290 |
+
2018-11-18,31,sku-1
|
291 |
+
2018-11-25,31,sku-1
|
292 |
+
2018-12-02,40,sku-1
|
293 |
+
2018-12-09,10,sku-1
|
294 |
+
2018-12-16,45,sku-1
|
295 |
+
2018-12-23,31,sku-1
|
296 |
+
2018-12-30,15,sku-1
|
297 |
+
2019-01-06,31,sku-1
|
298 |
+
2019-01-13,35,sku-1
|
299 |
+
2019-01-20,20,sku-1
|
300 |
+
2019-01-27,15,sku-1
|
301 |
+
2019-02-03,25,sku-1
|
302 |
+
2019-02-10,35,sku-1
|
303 |
+
2019-02-17,31,sku-1
|
304 |
+
2019-02-24,50,sku-1
|
305 |
+
2019-03-03,60,sku-1
|
306 |
+
2019-03-10,100,sku-1
|
307 |
+
2019-03-17,31,sku-1
|
308 |
+
2019-03-24,31,sku-1
|
309 |
+
2019-03-31,55,sku-1
|
310 |
+
2019-04-07,35,sku-1
|
311 |
+
2019-04-14,80,sku-1
|
312 |
+
2019-04-21,10,sku-1
|
313 |
+
2019-04-28,10,sku-1
|
314 |
+
2019-05-05,5,sku-1
|
315 |
+
2019-05-12,30,sku-1
|
316 |
+
2019-05-19,60,sku-1
|
317 |
+
2019-05-26,35,sku-1
|
318 |
+
2019-06-02,15,sku-1
|
319 |
+
2019-06-09,31,sku-1
|
320 |
+
2019-06-16,31,sku-1
|
321 |
+
2019-06-23,31,sku-1
|
322 |
+
2019-06-30,85,sku-1
|
323 |
+
2019-07-07,20,sku-1
|
324 |
+
2019-07-14,25,sku-1
|
325 |
+
2019-07-21,15,sku-1
|
326 |
+
2019-07-28,31,sku-1
|
327 |
+
2019-08-04,15,sku-1
|
328 |
+
2019-08-11,20,sku-1
|
329 |
+
2019-08-18,50,sku-1
|
330 |
+
2019-08-25,31,sku-1
|
331 |
+
2019-09-01,40,sku-1
|
332 |
+
2019-09-08,10,sku-1
|
333 |
+
2019-09-15,31,sku-1
|
334 |
+
2019-09-22,31,sku-1
|
335 |
+
2019-09-29,31,sku-1
|
336 |
+
2019-10-06,75,sku-1
|
337 |
+
2019-10-13,31,sku-1
|
338 |
+
2019-10-20,10,sku-1
|
339 |
+
2019-10-27,31,sku-1
|
340 |
+
2019-11-03,45,sku-1
|
341 |
+
2019-11-10,20,sku-1
|
342 |
+
2019-11-17,30,sku-1
|
343 |
+
2019-11-24,30,sku-1
|
344 |
+
2019-12-01,60,sku-1
|
345 |
+
2019-12-08,10,sku-1
|
346 |
+
2019-12-15,14,sku-1
|
347 |
+
2019-12-22,14,sku-1
|
348 |
+
2019-12-29,40,sku-1
|
349 |
+
2020-01-05,31,sku-1
|
350 |
+
2020-01-12,10,sku-1
|
351 |
+
2020-01-19,15,sku-1
|
352 |
+
2020-01-26,31,sku-1
|
353 |
+
2020-02-02,20,sku-1
|
354 |
+
2020-02-09,22,sku-1
|
355 |
+
2020-02-16,50,sku-1
|
356 |
+
2020-02-23,100,sku-1
|
357 |
+
2020-03-01,31,sku-1
|
358 |
+
2020-03-08,20,sku-1
|
359 |
+
2020-03-15,35,sku-1
|
360 |
+
2020-03-22,114,sku-1
|
361 |
+
2020-03-29,15,sku-1
|
362 |
+
2020-04-05,25,sku-1
|
363 |
+
2020-04-12,31,sku-1
|
364 |
+
2020-04-19,31,sku-1
|
365 |
+
2020-04-26,31,sku-1
|
366 |
+
2020-05-03,31,sku-1
|
367 |
+
2020-05-10,31,sku-1
|
368 |
+
2020-05-17,15,sku-1
|
369 |
+
2020-05-24,31,sku-1
|
370 |
+
2020-05-31,15,sku-1
|
371 |
+
2020-06-07,60,sku-1
|
372 |
+
2020-06-14,32,sku-1
|
373 |
+
2020-06-21,75,sku-1
|
374 |
+
2020-06-28,10,sku-1
|
375 |
+
2020-07-05,45,sku-1
|
376 |
+
2020-07-12,90,sku-1
|
377 |
+
2020-07-19,15,sku-1
|
378 |
+
2020-07-26,135,sku-1
|
379 |
+
2020-08-02,31,sku-1
|
380 |
+
2020-08-09,31,sku-1
|
381 |
+
2020-08-16,31,sku-1
|
382 |
+
2020-08-23,250,sku-1
|
383 |
+
2020-08-30,31,sku-1
|
384 |
+
2020-09-06,31,sku-1
|
385 |
+
2020-09-13,5,sku-1
|
386 |
+
2020-09-20,31,sku-1
|
387 |
+
2020-09-27,60,sku-1
|
388 |
+
2020-10-04,15,sku-1
|
389 |
+
2020-10-11,10,sku-1
|
390 |
+
2020-10-18,35,sku-1
|
391 |
+
2020-10-25,31,sku-1
|
392 |
+
2020-11-01,15,sku-1
|
393 |
+
2020-11-08,25,sku-1
|
394 |
+
2020-11-15,80,sku-1
|
395 |
+
2020-11-22,45,sku-1
|
396 |
+
2020-11-29,25,sku-1
|
397 |
+
2020-12-06,25,sku-1
|
398 |
+
2020-12-13,10,sku-1
|
399 |
+
2020-12-20,10,sku-1
|
400 |
+
2020-12-27,15,sku-1
|
401 |
+
2021-01-03,31,sku-1
|
402 |
+
2021-01-10,31,sku-1
|
403 |
+
2021-01-17,31,sku-1
|
404 |
+
2021-01-24,15,sku-1
|
405 |
+
2021-01-31,35,sku-1
|
406 |
+
2021-02-07,31,sku-1
|
407 |
+
2021-02-14,31,sku-1
|
408 |
+
2021-02-21,31,sku-1
|
409 |
+
2021-02-28,5,sku-1
|
410 |
+
2021-03-07,45,sku-1
|
411 |
+
2021-03-14,35,sku-1
|
412 |
+
2021-03-21,57,sku-1
|
413 |
+
2021-03-28,250,sku-1
|
414 |
+
2021-04-04,31,sku-1
|
415 |
+
2021-04-11,31,sku-1
|
416 |
+
2021-04-18,31,sku-1
|
417 |
+
2021-04-25,40,sku-1
|
418 |
+
2021-05-02,145,sku-1
|
419 |
+
2021-05-09,40,sku-1
|
420 |
+
2021-05-16,31,sku-1
|
421 |
+
2021-05-23,20,sku-1
|
422 |
+
2021-05-30,31,sku-1
|
423 |
+
2021-06-06,40,sku-1
|
424 |
+
2021-06-13,30,sku-1
|
425 |
+
2021-06-20,10,sku-1
|
426 |
+
2021-06-27,60,sku-1
|
427 |
+
2021-07-04,31,sku-1
|
428 |
+
2021-07-11,100,sku-1
|
429 |
+
2021-07-18,30,sku-1
|
430 |
+
2021-07-25,31,sku-1
|
431 |
+
2021-08-01,31,sku-1
|
432 |
+
2021-08-08,31,sku-1
|
433 |
+
2021-08-15,31,sku-1
|
434 |
+
2021-08-22,50,sku-1
|
435 |
+
2021-08-29,120,sku-1
|
436 |
+
2021-09-05,100,sku-1
|
437 |
+
2021-09-12,100,sku-1
|
438 |
+
2021-09-19,31,sku-1
|
439 |
+
2021-09-26,80,sku-1
|
440 |
+
2021-10-03,31,sku-1
|
441 |
+
2021-10-10,31,sku-1
|
442 |
+
2021-10-17,31,sku-1
|
443 |
+
2021-10-24,31,sku-1
|
444 |
+
2021-10-31,20,sku-1
|
445 |
+
2021-11-07,31,sku-1
|
446 |
+
2021-11-14,31,sku-1
|
447 |
+
2021-11-21,31,sku-1
|
448 |
+
2021-11-28,28,sku-1
|
449 |
+
2021-12-05,150,sku-1
|
450 |
+
2021-12-12,39,sku-1
|
451 |
+
2021-12-19,31,sku-1
|
452 |
+
2021-12-26,31,sku-1
|
453 |
+
2022-01-02,15,sku-1
|
454 |
+
2022-01-09,31,sku-1
|
455 |
+
2022-01-16,31,sku-1
|
456 |
+
2022-01-23,95,sku-1
|
457 |
+
2022-01-30,115,sku-1
|
458 |
+
2022-02-06,31,sku-1
|
459 |
+
2022-02-13,75,sku-1
|
460 |
+
2022-02-20,122,sku-1
|
461 |
+
2022-02-27,31,sku-1
|
462 |
+
2022-03-06,31,sku-1
|
463 |
+
2022-03-13,31,sku-1
|
464 |
+
2022-03-20,31,sku-1
|
465 |
+
2022-03-27,31,sku-1
|
466 |
+
2022-04-03,31,sku-1
|
467 |
+
2022-04-10,50,sku-1
|
468 |
+
2022-04-17,40,sku-1
|
469 |
+
2022-04-24,80,sku-1
|
470 |
+
2022-05-01,20,sku-1
|
471 |
+
2022-05-08,31,sku-1
|
472 |
+
2022-05-15,20,sku-1
|
473 |
+
2022-05-22,31,sku-1
|
474 |
+
2022-05-29,31,sku-1
|
475 |
+
2022-06-05,125,sku-1
|
476 |
+
2022-06-12,250,sku-1
|
477 |
+
2022-06-19,100,sku-1
|
478 |
+
2022-06-26,31,sku-1
|
479 |
+
2022-07-03,31,sku-1
|
480 |
+
2022-07-10,31,sku-1
|
481 |
+
2022-07-17,32,sku-1
|
482 |
+
2022-07-24,31,sku-1
|
483 |
+
2022-07-31,31,sku-1
|
484 |
+
2022-08-07,90,sku-1
|
485 |
+
2022-08-14,57,sku-1
|
486 |
+
2022-08-21,31,sku-1
|
487 |
+
2022-08-28,71,sku-1
|
488 |
+
2022-09-04,138,sku-1
|
489 |
+
2022-09-11,100,sku-1
|
490 |
+
2022-09-18,30,sku-1
|
491 |
+
2022-09-25,46,sku-1
|
492 |
+
2022-10-02,50,sku-1
|
493 |
+
2022-10-09,200,sku-1
|
494 |
+
2022-10-16,31,sku-1
|
495 |
+
2022-10-23,31,sku-1
|
496 |
+
2022-10-30,31,sku-1
|
497 |
+
2022-11-06,31,sku-1
|
498 |
+
2022-11-13,31,sku-1
|
499 |
+
2022-11-20,31,sku-1
|
500 |
+
2022-11-27,31,sku-1
|
501 |
+
2022-12-04,31,sku-1
|
502 |
+
2022-12-11,90,sku-1
|
503 |
+
2022-12-18,31,sku-1
|
504 |
+
2022-12-25,60,sku-1
|
505 |
+
2023-01-01,50,sku-1
|
506 |
+
2023-01-08,10,sku-1
|
507 |
+
2023-01-15,31,sku-1
|
508 |
+
2023-01-22,50,sku-1
|
509 |
+
2023-01-29,31,sku-1
|
510 |
+
2023-02-05,150,sku-1
|
511 |
+
2023-02-12,200,sku-1
|
512 |
+
2023-02-19,80,sku-1
|
513 |
+
2023-02-26,150,sku-1
|
514 |
+
2023-03-05,31,sku-1
|
515 |
+
2023-03-12,31,sku-1
|
516 |
+
2023-03-19,90,sku-1
|
517 |
+
2023-03-26,55,sku-1
|
518 |
+
2023-04-02,20,sku-1
|
519 |
+
2023-04-09,250,sku-1
|
520 |
+
2018-05-06,11,sku-2
|
521 |
+
2018-05-13,6,sku-2
|
522 |
+
2018-05-20,4,sku-2
|
523 |
+
2018-05-27,8,sku-2
|
524 |
+
2018-06-03,1,sku-2
|
525 |
+
2018-06-10,3,sku-2
|
526 |
+
2018-06-17,0,sku-2
|
527 |
+
2018-06-24,8,sku-2
|
528 |
+
2018-07-01,3,sku-2
|
529 |
+
2018-07-08,0,sku-2
|
530 |
+
2018-07-15,2,sku-2
|
531 |
+
2018-07-22,2,sku-2
|
532 |
+
2018-07-29,0,sku-2
|
533 |
+
2018-08-05,10,sku-2
|
534 |
+
2018-08-12,3,sku-2
|
535 |
+
2018-08-19,9,sku-2
|
536 |
+
2018-08-26,5,sku-2
|
537 |
+
2018-09-02,0,sku-2
|
538 |
+
2018-09-09,0,sku-2
|
539 |
+
2018-09-16,2,sku-2
|
540 |
+
2018-09-23,10,sku-2
|
541 |
+
2018-09-30,2,sku-2
|
542 |
+
2018-10-07,10,sku-2
|
543 |
+
2018-10-14,0,sku-2
|
544 |
+
2018-10-21,0,sku-2
|
545 |
+
2018-10-28,10,sku-2
|
546 |
+
2018-11-04,0,sku-2
|
547 |
+
2018-11-11,0,sku-2
|
548 |
+
2018-11-18,7,sku-2
|
549 |
+
2018-11-25,7,sku-2
|
550 |
+
2018-12-02,13,sku-2
|
551 |
+
2018-12-09,1,sku-2
|
552 |
+
2018-12-16,1,sku-2
|
553 |
+
2018-12-23,4,sku-2
|
554 |
+
2018-12-30,10,sku-2
|
555 |
+
2019-01-06,0,sku-2
|
556 |
+
2019-01-13,6,sku-2
|
557 |
+
2019-01-20,3,sku-2
|
558 |
+
2019-01-27,2,sku-2
|
559 |
+
2019-02-03,3,sku-2
|
560 |
+
2019-02-10,5,sku-2
|
561 |
+
2019-02-17,0,sku-2
|
562 |
+
2019-02-24,4,sku-2
|
563 |
+
2019-03-03,5,sku-2
|
564 |
+
2019-03-10,0,sku-2
|
565 |
+
2019-03-17,1,sku-2
|
566 |
+
2019-03-24,3,sku-2
|
567 |
+
2019-03-31,8,sku-2
|
568 |
+
2019-04-07,6,sku-2
|
569 |
+
2019-04-14,7,sku-2
|
570 |
+
2019-04-21,3,sku-2
|
571 |
+
2019-04-28,3,sku-2
|
572 |
+
2019-05-05,2,sku-2
|
573 |
+
2019-05-12,6,sku-2
|
574 |
+
2019-05-19,6,sku-2
|
575 |
+
2019-05-26,5,sku-2
|
576 |
+
2019-06-02,0,sku-2
|
577 |
+
2019-06-09,0,sku-2
|
578 |
+
2019-06-16,0,sku-2
|
579 |
+
2019-06-23,10,sku-2
|
580 |
+
2019-06-30,4,sku-2
|
581 |
+
2019-07-07,4,sku-2
|
582 |
+
2019-07-14,4,sku-2
|
583 |
+
2019-07-21,1,sku-2
|
584 |
+
2019-07-28,0,sku-2
|
585 |
+
2019-08-04,13,sku-2
|
586 |
+
2019-08-11,8,sku-2
|
587 |
+
2019-08-18,5,sku-2
|
588 |
+
2019-08-25,4,sku-2
|
589 |
+
2019-09-01,8,sku-2
|
590 |
+
2019-09-08,6,sku-2
|
591 |
+
2019-09-15,3,sku-2
|
592 |
+
2019-09-22,1,sku-2
|
593 |
+
2019-09-29,0,sku-2
|
594 |
+
2019-10-06,7,sku-2
|
595 |
+
2019-10-13,7,sku-2
|
596 |
+
2019-10-20,20,sku-2
|
597 |
+
2019-10-27,0,sku-2
|
598 |
+
2019-11-03,4,sku-2
|
599 |
+
2019-11-10,3,sku-2
|
600 |
+
2019-11-17,3,sku-2
|
601 |
+
2019-11-24,10,sku-2
|
602 |
+
2019-12-01,12,sku-2
|
603 |
+
2019-12-08,1,sku-2
|
604 |
+
2019-12-15,5,sku-2
|
605 |
+
2019-12-22,5,sku-2
|
606 |
+
2019-12-29,4,sku-2
|
607 |
+
2020-01-05,0,sku-2
|
608 |
+
2020-01-12,10,sku-2
|
609 |
+
2020-01-19,1,sku-2
|
610 |
+
2020-01-26,4,sku-2
|
611 |
+
2020-02-02,6,sku-2
|
612 |
+
2020-02-09,5,sku-2
|
613 |
+
2020-02-16,20,sku-2
|
614 |
+
2020-02-23,0,sku-2
|
615 |
+
2020-03-01,0,sku-2
|
616 |
+
2020-03-08,0,sku-2
|
617 |
+
2020-03-15,0,sku-2
|
618 |
+
2020-03-22,5,sku-2
|
619 |
+
2020-03-29,0,sku-2
|
620 |
+
2020-04-05,0,sku-2
|
621 |
+
2020-04-12,0,sku-2
|
622 |
+
2020-04-19,0,sku-2
|
623 |
+
2020-04-26,0,sku-2
|
624 |
+
2020-05-03,0,sku-2
|
625 |
+
2020-05-10,0,sku-2
|
626 |
+
2020-05-17,0,sku-2
|
627 |
+
2020-05-24,0,sku-2
|
628 |
+
2020-05-31,0,sku-2
|
629 |
+
2020-06-07,0,sku-2
|
630 |
+
2020-06-14,20,sku-2
|
631 |
+
2020-06-21,25,sku-2
|
632 |
+
2020-06-28,0,sku-2
|
633 |
+
2020-07-05,0,sku-2
|
634 |
+
2020-07-12,0,sku-2
|
635 |
+
2020-07-19,0,sku-2
|
636 |
+
2020-07-26,30,sku-2
|
637 |
+
2020-08-02,0,sku-2
|
638 |
+
2020-08-09,0,sku-2
|
639 |
+
2020-08-16,0,sku-2
|
640 |
+
2020-08-23,55,sku-2
|
641 |
+
2020-08-30,10,sku-2
|
642 |
+
2020-09-06,15,sku-2
|
643 |
+
2020-09-13,10,sku-2
|
644 |
+
2020-09-20,20,sku-2
|
645 |
+
2020-09-27,0,sku-2
|
646 |
+
2020-10-04,0,sku-2
|
647 |
+
2020-10-11,20,sku-2
|
648 |
+
2020-10-18,10,sku-2
|
649 |
+
2020-10-25,50,sku-2
|
650 |
+
2020-11-01,0,sku-2
|
651 |
+
2020-11-08,0,sku-2
|
652 |
+
2020-11-15,20,sku-2
|
653 |
+
2020-11-22,20,sku-2
|
654 |
+
2020-11-29,20,sku-2
|
655 |
+
2020-12-06,0,sku-2
|
656 |
+
2020-12-13,0,sku-2
|
657 |
+
2020-12-20,20,sku-2
|
658 |
+
2020-12-27,0,sku-2
|
659 |
+
2021-01-03,0,sku-2
|
660 |
+
2021-01-10,0,sku-2
|
661 |
+
2021-01-17,100,sku-2
|
662 |
+
2021-01-24,0,sku-2
|
663 |
+
2021-01-31,100,sku-2
|
664 |
+
2021-02-07,0,sku-2
|
665 |
+
2021-02-14,0,sku-2
|
666 |
+
2021-02-21,0,sku-2
|
667 |
+
2021-02-28,0,sku-2
|
668 |
+
2021-03-07,0,sku-2
|
669 |
+
2021-03-14,20,sku-2
|
670 |
+
2021-03-21,3,sku-2
|
671 |
+
2021-03-28,55,sku-2
|
672 |
+
2021-04-04,0,sku-2
|
673 |
+
2021-04-11,100,sku-2
|
674 |
+
2021-04-18,0,sku-2
|
675 |
+
2021-04-25,10,sku-2
|
676 |
+
2021-05-02,40,sku-2
|
677 |
+
2021-05-09,0,sku-2
|
678 |
+
2021-05-16,0,sku-2
|
679 |
+
2021-05-23,0,sku-2
|
680 |
+
2021-05-30,30,sku-2
|
681 |
+
2021-06-06,10,sku-2
|
682 |
+
2021-06-13,5,sku-2
|
683 |
+
2021-06-20,10,sku-2
|
684 |
+
2021-06-27,30,sku-2
|
685 |
+
2021-07-04,0,sku-2
|
686 |
+
2021-07-11,10,sku-2
|
687 |
+
2021-07-18,30,sku-2
|
688 |
+
2021-07-25,0,sku-2
|
689 |
+
2021-08-01,0,sku-2
|
690 |
+
2021-08-08,0,sku-2
|
691 |
+
2021-08-15,0,sku-2
|
692 |
+
2021-08-22,35,sku-2
|
693 |
+
2021-08-29,10,sku-2
|
694 |
+
2021-09-05,0,sku-2
|
695 |
+
2021-09-12,50,sku-2
|
696 |
+
2021-09-19,0,sku-2
|
697 |
+
2021-09-26,10,sku-2
|
698 |
+
2021-10-03,0,sku-2
|
699 |
+
2021-10-10,15,sku-2
|
700 |
+
2021-10-17,20,sku-2
|
701 |
+
2021-10-24,20,sku-2
|
702 |
+
2021-10-31,45,sku-2
|
703 |
+
2021-11-07,55,sku-2
|
704 |
+
2021-11-14,27,sku-2
|
705 |
+
2021-11-21,16,sku-2
|
706 |
+
2021-11-28,18,sku-2
|
707 |
+
2021-12-05,0,sku-2
|
708 |
+
2021-12-12,0,sku-2
|
709 |
+
2021-12-19,15,sku-2
|
710 |
+
2021-12-26,0,sku-2
|
711 |
+
2022-01-02,22,sku-2
|
712 |
+
2022-01-09,0,sku-2
|
713 |
+
2022-01-16,100,sku-2
|
714 |
+
2022-01-23,34,sku-2
|
715 |
+
2022-01-30,5,sku-2
|
716 |
+
2022-02-06,70,sku-2
|
717 |
+
2022-02-13,40,sku-2
|
718 |
+
2022-02-20,100,sku-2
|
719 |
+
2022-02-27,0,sku-2
|
720 |
+
2022-03-06,50,sku-2
|
721 |
+
2022-03-13,50,sku-2
|
722 |
+
2022-03-20,0,sku-2
|
723 |
+
2022-03-27,10,sku-2
|
724 |
+
2022-04-03,0,sku-2
|
725 |
+
2022-04-10,50,sku-2
|
726 |
+
2022-04-17,20,sku-2
|
727 |
+
2022-04-24,80,sku-2
|
728 |
+
2022-05-01,30,sku-2
|
729 |
+
2022-05-08,0,sku-2
|
730 |
+
2022-05-15,30,sku-2
|
731 |
+
2022-05-22,0,sku-2
|
732 |
+
2022-05-29,20,sku-2
|
733 |
+
2022-06-05,50,sku-2
|
734 |
+
2022-06-12,0,sku-2
|
735 |
+
2022-06-19,44,sku-2
|
736 |
+
2022-06-26,50,sku-2
|
737 |
+
2022-07-03,0,sku-2
|
738 |
+
2022-07-10,30,sku-2
|
739 |
+
2022-07-17,30,sku-2
|
740 |
+
2022-07-24,6,sku-2
|
741 |
+
2022-07-31,35,sku-2
|
742 |
+
2022-08-07,50,sku-2
|
743 |
+
2022-08-14,60,sku-2
|
744 |
+
2022-08-21,0,sku-2
|
745 |
+
2022-08-28,30,sku-2
|
746 |
+
2022-09-04,70,sku-2
|
747 |
+
2022-09-11,100,sku-2
|
748 |
+
2022-09-18,0,sku-2
|
749 |
+
2022-09-25,0,sku-2
|
750 |
+
2022-10-02,4,sku-2
|
751 |
+
2022-10-09,0,sku-2
|
752 |
+
2022-10-16,0,sku-2
|
753 |
+
2022-10-23,0,sku-2
|
754 |
+
2022-10-30,50,sku-2
|
755 |
+
2022-11-06,30,sku-2
|
756 |
+
2022-11-13,0,sku-2
|
757 |
+
2022-11-20,70,sku-2
|
758 |
+
2022-11-27,100,sku-2
|
759 |
+
2022-12-04,50,sku-2
|
760 |
+
2018-05-06,1,sku-3
|
761 |
+
2018-05-13,4,sku-3
|
762 |
+
2018-05-20,5,sku-3
|
763 |
+
2018-05-27,5,sku-3
|
764 |
+
2018-06-03,1,sku-3
|
765 |
+
2018-06-10,1,sku-3
|
766 |
+
2018-06-17,0,sku-3
|
767 |
+
2018-06-24,2,sku-3
|
768 |
+
2018-07-01,0,sku-3
|
769 |
+
2018-07-08,0,sku-3
|
770 |
+
2018-07-15,19,sku-3
|
771 |
+
2018-07-22,9,sku-3
|
772 |
+
2018-07-29,1,sku-3
|
773 |
+
2018-08-05,2,sku-3
|
774 |
+
2018-08-12,0,sku-3
|
775 |
+
2018-08-19,0,sku-3
|
776 |
+
2018-08-26,7,sku-3
|
777 |
+
2018-09-02,14,sku-3
|
778 |
+
2018-09-09,7,sku-3
|
779 |
+
2018-09-16,6,sku-3
|
780 |
+
2018-09-23,5,sku-3
|
781 |
+
2018-09-30,3,sku-3
|
782 |
+
2018-10-07,12,sku-3
|
783 |
+
2018-10-14,8,sku-3
|
784 |
+
2018-10-21,4,sku-3
|
785 |
+
2018-10-28,7,sku-3
|
786 |
+
2018-11-04,7,sku-3
|
787 |
+
2018-11-11,0,sku-3
|
788 |
+
2018-11-18,11,sku-3
|
789 |
+
2018-11-25,2,sku-3
|
790 |
+
2018-12-02,0,sku-3
|
791 |
+
2018-12-09,1,sku-3
|
792 |
+
2018-12-16,1,sku-3
|
793 |
+
2018-12-23,0,sku-3
|
794 |
+
2018-12-30,6,sku-3
|
795 |
+
2019-01-06,0,sku-3
|
796 |
+
2019-01-13,3,sku-3
|
797 |
+
2019-01-20,6,sku-3
|
798 |
+
2019-01-27,0,sku-3
|
799 |
+
2019-02-03,1,sku-3
|
800 |
+
2019-02-10,0,sku-3
|
801 |
+
2019-02-17,0,sku-3
|
802 |
+
2019-02-24,2,sku-3
|
803 |
+
2019-03-03,5,sku-3
|
804 |
+
2019-03-10,9,sku-3
|
805 |
+
2019-03-17,12,sku-3
|
806 |
+
2019-03-24,11,sku-3
|
807 |
+
2019-03-31,0,sku-3
|
808 |
+
2019-04-07,12,sku-3
|
809 |
+
2019-04-14,17,sku-3
|
810 |
+
2019-04-21,11,sku-3
|
811 |
+
2019-04-28,2,sku-3
|
812 |
+
2019-05-05,1,sku-3
|
813 |
+
2019-05-12,0,sku-3
|
814 |
+
2019-05-19,7,sku-3
|
815 |
+
2019-05-26,26,sku-3
|
816 |
+
2019-06-02,1,sku-3
|
817 |
+
2019-06-09,0,sku-3
|
818 |
+
2019-06-16,0,sku-3
|
819 |
+
2019-06-23,7,sku-3
|
820 |
+
2019-06-30,11,sku-3
|
821 |
+
2019-07-07,7,sku-3
|
822 |
+
2019-07-14,10,sku-3
|
823 |
+
2019-07-21,0,sku-3
|
824 |
+
2019-07-28,0,sku-3
|
825 |
+
2019-08-04,16,sku-3
|
826 |
+
2019-08-11,5,sku-3
|
827 |
+
2019-08-18,15,sku-3
|
828 |
+
2019-08-25,4,sku-3
|
829 |
+
2019-09-01,1,sku-3
|
830 |
+
2019-09-08,0,sku-3
|
831 |
+
2019-09-15,5,sku-3
|
832 |
+
2019-09-22,3,sku-3
|
833 |
+
2019-09-29,0,sku-3
|
834 |
+
2019-10-06,10,sku-3
|
835 |
+
2019-10-13,0,sku-3
|
836 |
+
2019-10-20,0,sku-3
|
837 |
+
2019-10-27,0,sku-3
|
838 |
+
2019-11-03,0,sku-3
|
839 |
+
2019-11-10,0,sku-3
|
840 |
+
2019-11-17,2,sku-3
|
841 |
+
2019-11-24,0,sku-3
|
842 |
+
2019-12-01,19,sku-3
|
843 |
+
2019-12-08,1,sku-3
|
844 |
+
2019-12-15,5,sku-3
|
845 |
+
2019-12-22,5,sku-3
|
846 |
+
2019-12-29,0,sku-3
|
847 |
+
2020-01-05,0,sku-3
|
848 |
+
2020-01-12,0,sku-3
|
849 |
+
2020-01-19,0,sku-3
|
850 |
+
2020-01-26,0,sku-3
|
851 |
+
2020-02-02,3,sku-3
|
852 |
+
2020-02-09,12,sku-3
|
853 |
+
2020-02-16,0,sku-3
|
854 |
+
2020-02-23,5,sku-3
|
855 |
+
2020-03-01,10,sku-3
|
856 |
+
2020-03-08,5,sku-3
|
857 |
+
2020-03-15,11,sku-3
|
858 |
+
2020-03-22,12,sku-3
|
859 |
+
2020-03-29,0,sku-3
|
860 |
+
2020-04-05,6,sku-3
|
861 |
+
2020-04-12,0,sku-3
|
862 |
+
2020-04-19,0,sku-3
|
863 |
+
2020-04-26,0,sku-3
|
864 |
+
2020-05-03,0,sku-3
|
865 |
+
2020-05-10,0,sku-3
|
866 |
+
2020-05-17,0,sku-3
|
867 |
+
2020-05-24,0,sku-3
|
868 |
+
2020-05-31,0,sku-3
|
869 |
+
2020-06-07,11,sku-3
|
870 |
+
2020-06-14,6,sku-3
|
871 |
+
2020-06-21,8,sku-3
|
872 |
+
2020-06-28,0,sku-3
|
873 |
+
2020-07-05,0,sku-3
|
874 |
+
2020-07-12,41,sku-3
|
875 |
+
2020-07-19,0,sku-3
|
876 |
+
2020-07-26,4,sku-3
|
877 |
+
2020-08-02,0,sku-3
|
878 |
+
2020-08-09,0,sku-3
|
879 |
+
2020-08-16,0,sku-3
|
880 |
+
2020-08-23,47,sku-3
|
881 |
+
2020-08-30,3,sku-3
|
882 |
+
2020-09-06,31,sku-3
|
883 |
+
2020-09-13,0,sku-3
|
884 |
+
2020-09-20,2,sku-3
|
885 |
+
2020-09-27,0,sku-3
|
886 |
+
2020-10-04,0,sku-3
|
887 |
+
2020-10-11,6,sku-3
|
888 |
+
2020-10-18,9,sku-3
|
889 |
+
2020-10-25,8,sku-3
|
890 |
+
2020-11-01,4,sku-3
|
891 |
+
2020-11-08,2,sku-3
|
892 |
+
2020-11-15,30,sku-3
|
893 |
+
2020-11-22,60,sku-3
|
894 |
+
2020-11-29,68,sku-3
|
895 |
+
2020-12-06,0,sku-3
|
896 |
+
2020-12-13,0,sku-3
|
897 |
+
2020-12-20,0,sku-3
|
898 |
+
2020-12-27,0,sku-3
|
899 |
+
2021-01-03,0,sku-3
|
900 |
+
2021-01-10,0,sku-3
|
901 |
+
2021-01-17,0,sku-3
|
902 |
+
2021-01-24,0,sku-3
|
903 |
+
2021-01-31,0,sku-3
|
904 |
+
2021-02-07,6,sku-3
|
905 |
+
2021-02-14,6,sku-3
|
906 |
+
2021-02-21,15,sku-3
|
907 |
+
2021-02-28,30,sku-3
|
908 |
+
2021-03-07,0,sku-3
|
909 |
+
2021-03-14,5,sku-3
|
910 |
+
2021-03-21,20,sku-3
|
911 |
+
2021-03-28,0,sku-3
|
912 |
+
2021-04-04,0,sku-3
|
913 |
+
2021-04-11,0,sku-3
|
914 |
+
2021-04-18,0,sku-3
|
915 |
+
2021-04-25,10,sku-3
|
916 |
+
2021-05-02,10,sku-3
|
917 |
+
2021-05-09,0,sku-3
|
918 |
+
2021-05-16,0,sku-3
|
919 |
+
2021-05-23,0,sku-3
|
920 |
+
2021-05-30,0,sku-3
|
921 |
+
2021-06-06,0,sku-3
|
922 |
+
2021-06-13,0,sku-3
|
923 |
+
2021-06-20,0,sku-3
|
924 |
+
2021-06-27,0,sku-3
|
925 |
+
2021-07-04,0,sku-3
|
926 |
+
2021-07-11,0,sku-3
|
927 |
+
2021-07-18,2,sku-3
|
928 |
+
2021-07-25,0,sku-3
|
929 |
+
2021-08-01,0,sku-3
|
930 |
+
2021-08-08,0,sku-3
|
931 |
+
2021-08-15,0,sku-3
|
932 |
+
2021-08-22,0,sku-3
|
933 |
+
2021-08-29,0,sku-3
|
934 |
+
2021-09-05,0,sku-3
|
935 |
+
2021-09-12,5,sku-3
|
936 |
+
2021-09-19,0,sku-3
|
937 |
+
2021-09-26,0,sku-3
|
938 |
+
2021-10-03,0,sku-3
|
939 |
+
2021-10-10,0,sku-3
|
940 |
+
2021-10-17,10,sku-3
|
941 |
+
2021-10-24,3,sku-3
|
942 |
+
2021-10-31,2,sku-3
|
943 |
+
2021-11-07,0,sku-3
|
944 |
+
2021-11-14,0,sku-3
|
945 |
+
2021-11-21,15,sku-3
|
946 |
+
2021-11-28,7,sku-3
|
947 |
+
2021-12-05,17,sku-3
|
948 |
+
2021-12-12,0,sku-3
|
949 |
+
2021-12-19,0,sku-3
|
950 |
+
2021-12-26,0,sku-3
|
951 |
+
2022-01-02,5,sku-3
|
952 |
+
2022-01-09,10,sku-3
|
953 |
+
2022-01-16,0,sku-3
|
954 |
+
2022-01-23,5,sku-3
|
955 |
+
2022-01-30,10,sku-3
|
956 |
+
2022-02-06,5,sku-3
|
957 |
+
2022-02-13,25,sku-3
|
958 |
+
2022-02-20,0,sku-3
|
959 |
+
2022-02-27,0,sku-3
|
960 |
+
2022-03-06,0,sku-3
|
961 |
+
2022-03-13,2,sku-3
|
962 |
+
2022-03-20,45,sku-3
|
963 |
+
2022-03-27,25,sku-3
|
964 |
+
2022-04-03,0,sku-3
|
965 |
+
2022-04-10,0,sku-3
|
966 |
+
2022-04-17,10,sku-3
|
967 |
+
2022-04-24,3,sku-3
|
968 |
+
2022-05-01,9,sku-3
|
969 |
+
2022-05-08,0,sku-3
|
970 |
+
2022-05-15,3,sku-3
|
971 |
+
2022-05-22,5,sku-3
|
972 |
+
2022-05-29,30,sku-3
|
973 |
+
2022-06-05,0,sku-3
|
974 |
+
2022-06-12,45,sku-3
|
975 |
+
2022-06-19,32,sku-3
|
976 |
+
2022-06-26,10,sku-3
|
977 |
+
2022-07-03,0,sku-3
|
978 |
+
2022-07-10,10,sku-3
|
979 |
+
2022-07-17,30,sku-3
|
980 |
+
2022-07-24,25,sku-3
|
981 |
+
2022-07-31,7,sku-3
|
982 |
+
2022-08-07,20,sku-3
|
983 |
+
2022-08-14,32,sku-3
|
984 |
+
2022-08-21,25,sku-3
|
985 |
+
2022-08-28,0,sku-3
|
986 |
+
2022-09-04,3,sku-3
|
987 |
+
2022-09-11,0,sku-3
|
988 |
+
2022-09-18,0,sku-3
|
989 |
+
2022-09-25,25,sku-3
|
990 |
+
2022-10-02,0,sku-3
|
991 |
+
2022-10-09,0,sku-3
|
992 |
+
2022-10-16,0,sku-3
|
993 |
+
2022-10-23,0,sku-3
|
994 |
+
2022-10-30,0,sku-3
|
995 |
+
2022-11-06,0,sku-3
|
996 |
+
2022-11-13,0,sku-3
|
997 |
+
2022-11-20,0,sku-3
|
998 |
+
2022-11-27,0,sku-3
|
999 |
+
2022-12-04,0,sku-3
|
1000 |
+
2022-12-11,0,sku-3
|
1001 |
+
2022-12-18,0,sku-3
|
1002 |
+
2022-12-25,0,sku-3
|
1003 |
+
2023-01-01,0,sku-3
|
1004 |
+
2023-01-08,0,sku-3
|
1005 |
+
2023-01-15,0,sku-3
|
1006 |
+
2023-01-22,0,sku-3
|
1007 |
+
2023-01-29,0,sku-3
|
1008 |
+
2023-02-05,0,sku-3
|
1009 |
+
2023-02-12,0,sku-3
|
1010 |
+
2023-02-19,0,sku-3
|
1011 |
+
2023-02-26,0,sku-3
|
1012 |
+
2023-03-05,0,sku-3
|
1013 |
+
2023-03-12,0,sku-3
|
1014 |
+
2023-03-19,0,sku-3
|
1015 |
+
2023-03-26,0,sku-3
|
1016 |
+
2023-04-02,0,sku-3
|
1017 |
+
2023-04-09,0,sku-3
|
1018 |
+
2023-04-16,10,sku-3
|
1019 |
+
2023-04-23,12,sku-3
|
data/demand_forecasting_demo_models.csv
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
sku,best_model,characteristic
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
|
|
|
|
|
1 |
sku,best_model,characteristic
|
2 |
+
Item_A,prophet,continuous
|
3 |
+
Item_B,prophet,continuous
|
4 |
+
Item_C,fft_i,continuous
|
5 |
+
Item_D,fft_i,continuous
|
6 |
+
Item_E,prophet,continuous
|
7 |
+
Item_F,ceif,fuzzy
|
data/demand_forecasting_demo_models_old.csv
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
sku,best_model,characteristic
|
2 |
+
sku-0,fft_plus,continuous
|
3 |
+
sku-1,prophet,continuous
|
4 |
+
sku-2,prophet_plus,fuzzy
|
5 |
+
sku-3,prophet_plus,fuzzy_transient
|
data/demand_forecasting_demo_result.csv
CHANGED
@@ -1,61 +1,49 @@
|
|
1 |
datetime,y,sku
|
2 |
-
|
3 |
-
2023-
|
4 |
-
2023-
|
5 |
-
2023-
|
6 |
-
2023-
|
7 |
-
2023-05-
|
8 |
-
2023-06-
|
9 |
-
2023-
|
10 |
-
|
11 |
-
2023-
|
12 |
-
2023-
|
13 |
-
2023-
|
14 |
-
2023-
|
15 |
-
2023-
|
16 |
-
2023-
|
17 |
-
2023-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
2023-
|
28 |
-
2023-
|
29 |
-
2023-
|
30 |
-
2023-
|
31 |
-
2023-
|
32 |
-
|
33 |
-
|
34 |
-
2022-12-
|
35 |
-
|
36 |
-
2023-
|
37 |
-
2023-01
|
38 |
-
2023-01
|
39 |
-
2023-01
|
40 |
-
2023-01
|
41 |
-
2023-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
2023-
|
47 |
-
2023-
|
48 |
-
2023-
|
49 |
-
2023-
|
50 |
-
2023-05-14,0,sku-3
|
51 |
-
2023-05-21,0,sku-3
|
52 |
-
2023-05-28,20,sku-3
|
53 |
-
2023-06-04,0,sku-3
|
54 |
-
2023-06-11,18,sku-3
|
55 |
-
2023-06-18,0,sku-3
|
56 |
-
2023-06-25,0,sku-3
|
57 |
-
2023-07-02,19,sku-3
|
58 |
-
2023-07-09,0,sku-3
|
59 |
-
2023-07-16,0,sku-3
|
60 |
-
2023-07-23,19,sku-3
|
61 |
-
2023-07-30,0,sku-3
|
|
|
1 |
datetime,y,sku
|
2 |
+
2022-12-01,1261.8815632506464,Item_A
|
3 |
+
2023-01-01,1238.1241261262223,Item_A
|
4 |
+
2023-02-01,1434.0416206444534,Item_A
|
5 |
+
2023-03-01,1295.679891326803,Item_A
|
6 |
+
2023-04-01,1252.8822925063257,Item_A
|
7 |
+
2023-05-01,1267.2617621793959,Item_A
|
8 |
+
2023-06-01,1782.3253296442874,Item_A
|
9 |
+
2023-07-01,1412.4832995961542,Item_A
|
10 |
+
2022-12-01,67.9822688135848,Item_B
|
11 |
+
2023-01-01,54.08920320091594,Item_B
|
12 |
+
2023-02-01,75.93797178898882,Item_B
|
13 |
+
2023-03-01,52.75888135193364,Item_B
|
14 |
+
2023-04-01,57.653112888668446,Item_B
|
15 |
+
2023-05-01,60.939201454247645,Item_B
|
16 |
+
2023-06-01,79.22506380814336,Item_B
|
17 |
+
2023-07-01,61.2272960818053,Item_B
|
18 |
+
2021-07-01,189.0,Item_C
|
19 |
+
2021-08-01,89.0,Item_C
|
20 |
+
2021-09-01,142.0,Item_C
|
21 |
+
2021-10-01,120.0,Item_C
|
22 |
+
2021-11-01,154.0,Item_C
|
23 |
+
2021-12-01,128.0,Item_C
|
24 |
+
2022-01-01,197.0,Item_C
|
25 |
+
2022-02-01,236.0,Item_C
|
26 |
+
2022-12-01,574.0,Item_D
|
27 |
+
2023-01-01,590.0,Item_D
|
28 |
+
2023-02-01,602.0,Item_D
|
29 |
+
2023-03-01,594.0,Item_D
|
30 |
+
2023-04-01,643.0,Item_D
|
31 |
+
2023-05-01,559.0,Item_D
|
32 |
+
2023-06-01,764.0,Item_D
|
33 |
+
2023-07-01,723.0,Item_D
|
34 |
+
2022-12-01,562.757441077348,Item_E
|
35 |
+
2023-01-01,392.3652130259864,Item_E
|
36 |
+
2023-02-01,435.8262111803688,Item_E
|
37 |
+
2023-03-01,354.1857738937134,Item_E
|
38 |
+
2023-04-01,414.76357933259385,Item_E
|
39 |
+
2023-05-01,346.3290035765649,Item_E
|
40 |
+
2023-06-01,358.72311297279185,Item_E
|
41 |
+
2023-07-01,417.5938915290112,Item_E
|
42 |
+
2022-12-04,0.0,Item_F
|
43 |
+
2022-12-11,0.0,Item_F
|
44 |
+
2022-12-18,46.0,Item_F
|
45 |
+
2022-12-25,0.0,Item_F
|
46 |
+
2023-01-01,51.0,Item_F
|
47 |
+
2023-01-08,56.0,Item_F
|
48 |
+
2023-01-15,81.0,Item_F
|
49 |
+
2023-01-22,36.0,Item_F
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data/demand_forecasting_demo_result_old.csv
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,y,sku
|
2 |
+
2023-04-23,20,sku-0
|
3 |
+
2023-04-30,19,sku-0
|
4 |
+
2023-05-07,25,sku-0
|
5 |
+
2023-05-14,27,sku-0
|
6 |
+
2023-05-21,20,sku-0
|
7 |
+
2023-05-28,21,sku-0
|
8 |
+
2023-06-04,27,sku-0
|
9 |
+
2023-06-11,27,sku-0
|
10 |
+
2023-06-18,27,sku-0
|
11 |
+
2023-06-25,27,sku-0
|
12 |
+
2023-07-02,27,sku-0
|
13 |
+
2023-07-09,27,sku-0
|
14 |
+
2023-07-16,27,sku-0
|
15 |
+
2023-07-23,27,sku-0
|
16 |
+
2023-07-30,27,sku-0
|
17 |
+
2023-04-09,77,sku-1
|
18 |
+
2023-04-16,78,sku-1
|
19 |
+
2023-04-23,78,sku-1
|
20 |
+
2023-04-30,79,sku-1
|
21 |
+
2023-05-07,80,sku-1
|
22 |
+
2023-05-14,80,sku-1
|
23 |
+
2023-05-21,81,sku-1
|
24 |
+
2023-05-28,82,sku-1
|
25 |
+
2023-06-04,82,sku-1
|
26 |
+
2023-06-11,83,sku-1
|
27 |
+
2023-06-18,84,sku-1
|
28 |
+
2023-06-25,84,sku-1
|
29 |
+
2023-07-02,85,sku-1
|
30 |
+
2023-07-09,86,sku-1
|
31 |
+
2023-07-16,86,sku-1
|
32 |
+
2022-12-04,0,sku-2
|
33 |
+
2022-12-11,46,sku-2
|
34 |
+
2022-12-18,0,sku-2
|
35 |
+
2022-12-25,46,sku-2
|
36 |
+
2023-01-01,0,sku-2
|
37 |
+
2023-01-08,53,sku-2
|
38 |
+
2023-01-15,0,sku-2
|
39 |
+
2023-01-22,46,sku-2
|
40 |
+
2023-01-29,0,sku-2
|
41 |
+
2023-02-05,46,sku-2
|
42 |
+
2023-02-12,48,sku-2
|
43 |
+
2023-02-19,0,sku-2
|
44 |
+
2023-02-26,50,sku-2
|
45 |
+
2023-03-05,0,sku-2
|
46 |
+
2023-03-12,49,sku-2
|
47 |
+
2023-04-23,0,sku-3
|
48 |
+
2023-04-30,0,sku-3
|
49 |
+
2023-05-07,17,sku-3
|
50 |
+
2023-05-14,0,sku-3
|
51 |
+
2023-05-21,0,sku-3
|
52 |
+
2023-05-28,20,sku-3
|
53 |
+
2023-06-04,0,sku-3
|
54 |
+
2023-06-11,18,sku-3
|
55 |
+
2023-06-18,0,sku-3
|
56 |
+
2023-06-25,0,sku-3
|
57 |
+
2023-07-02,19,sku-3
|
58 |
+
2023-07-09,0,sku-3
|
59 |
+
2023-07-16,0,sku-3
|
60 |
+
2023-07-23,19,sku-3
|
61 |
+
2023-07-30,0,sku-3
|
data/energy_consumption.csv
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,y,sku
|
2 |
+
2018-12-30,2869429.0,engy_use
|
3 |
+
2019-01-06,3028769.0,engy_use
|
4 |
+
2019-01-13,2868238.0,engy_use
|
5 |
+
2019-01-20,3302854.0,engy_use
|
6 |
+
2019-01-27,3179729.0,engy_use
|
7 |
+
2019-02-03,3022086.0,engy_use
|
8 |
+
2019-02-10,3085911.0,engy_use
|
9 |
+
2019-02-17,2653468.0,engy_use
|
10 |
+
2019-02-24,2951708.0,engy_use
|
11 |
+
2019-03-03,2833433.0,engy_use
|
12 |
+
2019-03-10,2552725.0,engy_use
|
13 |
+
2019-03-17,2543969.0,engy_use
|
14 |
+
2019-03-24,2642057.0,engy_use
|
15 |
+
2019-03-31,2310077.0,engy_use
|
16 |
+
2019-04-07,2225992.0,engy_use
|
17 |
+
2019-04-14,2263912.0,engy_use
|
18 |
+
2019-04-21,2186848.0,engy_use
|
19 |
+
2019-04-28,2174220.0,engy_use
|
20 |
+
2019-05-05,2232093.0,engy_use
|
21 |
+
2019-05-12,2306528.0,engy_use
|
22 |
+
2019-05-19,2229918.0,engy_use
|
23 |
+
2019-05-26,2425495.0,engy_use
|
24 |
+
2019-06-02,2422264.0,engy_use
|
25 |
+
2019-06-09,2375191.0,engy_use
|
26 |
+
2019-06-16,2682140.0,engy_use
|
27 |
+
2019-06-23,2716160.0,engy_use
|
28 |
+
2019-06-30,2466409.0,engy_use
|
29 |
+
2019-07-07,2647122.0,engy_use
|
30 |
+
2019-07-14,2399085.0,engy_use
|
31 |
+
2019-07-21,2607288.0,engy_use
|
32 |
+
2019-07-28,2369764.0,engy_use
|
33 |
+
2019-08-04,2543052.0,engy_use
|
34 |
+
2019-08-11,2430988.0,engy_use
|
35 |
+
2019-08-18,2705490.0,engy_use
|
36 |
+
2019-08-25,2685717.0,engy_use
|
37 |
+
2019-09-01,2638891.0,engy_use
|
38 |
+
2019-09-08,2313720.0,engy_use
|
39 |
+
2019-09-15,2225013.0,engy_use
|
40 |
+
2019-09-22,2222675.0,engy_use
|
41 |
+
2019-09-29,2234837.0,engy_use
|
42 |
+
2019-10-06,2188523.0,engy_use
|
43 |
+
2019-10-13,2208243.0,engy_use
|
44 |
+
2019-10-20,2287442.0,engy_use
|
45 |
+
2019-10-27,2367996.0,engy_use
|
46 |
+
2019-11-03,2393787.0,engy_use
|
47 |
+
2019-11-10,2612738.0,engy_use
|
48 |
+
2019-11-17,2875894.0,engy_use
|
49 |
+
2019-11-24,2469200.0,engy_use
|
50 |
+
2019-12-01,2632273.0,engy_use
|
51 |
+
2019-12-08,2785396.0,engy_use
|
52 |
+
2019-12-15,2741600.0,engy_use
|
53 |
+
2019-12-22,2334315.0,engy_use
|
54 |
+
2019-12-29,2612217.0,engy_use
|
55 |
+
2020-01-05,3235220.0,engy_use
|
56 |
+
2020-01-12,2906857.0,engy_use
|
57 |
+
2020-01-19,2735721.0,engy_use
|
58 |
+
2020-01-26,2958905.0,engy_use
|
59 |
+
2020-02-02,2871526.0,engy_use
|
60 |
+
2020-02-09,3025414.0,engy_use
|
61 |
+
2020-02-16,3382229.0,engy_use
|
62 |
+
2020-02-23,3110671.0,engy_use
|
63 |
+
2020-03-01,2837661.0,engy_use
|
64 |
+
2020-03-08,2418866.0,engy_use
|
65 |
+
2020-03-15,2409004.0,engy_use
|
66 |
+
2020-03-22,2517772.0,engy_use
|
67 |
+
2020-03-29,2266680.0,engy_use
|
68 |
+
2020-04-05,2205535.0,engy_use
|
69 |
+
2020-04-12,2154851.0,engy_use
|
70 |
+
2020-04-19,2224803.0,engy_use
|
71 |
+
2020-04-26,2181505.0,engy_use
|
72 |
+
2020-05-03,2371019.0,engy_use
|
73 |
+
2020-05-10,2305032.0,engy_use
|
74 |
+
2020-05-17,2230851.0,engy_use
|
75 |
+
2020-05-24,2438662.0,engy_use
|
76 |
+
2020-05-31,2317062.0,engy_use
|
77 |
+
2020-06-07,2638604.0,engy_use
|
78 |
+
2020-06-14,2673375.0,engy_use
|
79 |
+
2020-06-21,2590104.0,engy_use
|
80 |
+
2020-06-28,2256414.0,engy_use
|
81 |
+
2020-07-05,2509818.0,engy_use
|
82 |
+
2020-07-12,2622349.0,engy_use
|
83 |
+
2020-07-19,2713873.0,engy_use
|
84 |
+
2020-07-26,2797346.0,engy_use
|
85 |
+
2020-08-02,2602298.0,engy_use
|
86 |
+
2020-08-09,2630506.0,engy_use
|
87 |
+
2020-08-16,2616939.0,engy_use
|
88 |
+
2020-08-23,2401785.0,engy_use
|
89 |
+
2020-08-30,2723068.0,engy_use
|
90 |
+
2020-09-06,2459672.0,engy_use
|
91 |
+
2020-09-13,2334714.0,engy_use
|
92 |
+
2020-09-20,2264433.0,engy_use
|
93 |
+
2020-09-27,2211245.0,engy_use
|
94 |
+
2020-10-04,2171565.0,engy_use
|
95 |
+
2020-10-11,2195525.0,engy_use
|
96 |
+
2020-10-18,2191381.0,engy_use
|
97 |
+
2020-10-25,2225017.0,engy_use
|
98 |
+
2020-11-01,2182841.0,engy_use
|
99 |
+
2020-11-08,2288004.0,engy_use
|
100 |
+
2020-11-15,2326099.0,engy_use
|
101 |
+
2020-11-22,2224256.0,engy_use
|
102 |
+
2020-11-29,2511069.0,engy_use
|
103 |
+
2020-12-06,2371616.0,engy_use
|
104 |
+
2020-12-13,2499715.0,engy_use
|
105 |
+
2020-12-20,2130328.0,engy_use
|
106 |
+
2020-12-27,2382527.0,engy_use
|
107 |
+
2021-01-03,2717863.0,engy_use
|
108 |
+
2021-01-10,2863882.0,engy_use
|
109 |
+
2021-01-17,3156518.0,engy_use
|
110 |
+
2021-01-24,2695143.0,engy_use
|
111 |
+
2021-01-31,2545056.0,engy_use
|
112 |
+
2021-02-07,3046802.0,engy_use
|
113 |
+
2021-02-14,2597083.0,engy_use
|
114 |
+
2021-02-21,2539052.0,engy_use
|
115 |
+
2021-02-28,2570958.0,engy_use
|
116 |
+
2021-03-07,2208268.0,engy_use
|
117 |
+
2021-03-14,2236770.0,engy_use
|
118 |
+
2021-03-21,2198588.0,engy_use
|
119 |
+
2021-03-28,2209436.0,engy_use
|
120 |
+
2021-04-04,2407410.0,engy_use
|
121 |
+
2021-04-11,2186686.0,engy_use
|
122 |
+
2021-04-18,2125394.0,engy_use
|
123 |
+
2021-04-25,2149144.0,engy_use
|
124 |
+
2021-05-02,2112167.0,engy_use
|
125 |
+
2021-05-09,2151053.0,engy_use
|
126 |
+
2021-05-16,2112664.0,engy_use
|
127 |
+
2021-05-23,2355286.0,engy_use
|
128 |
+
2021-05-30,2460984.0,engy_use
|
129 |
+
2021-06-06,2418848.0,engy_use
|
130 |
+
2021-06-13,2540146.0,engy_use
|
131 |
+
2021-06-20,2609368.0,engy_use
|
132 |
+
2021-06-27,2421973.0,engy_use
|
133 |
+
2021-07-04,2516318.0,engy_use
|
134 |
+
2021-07-11,2737948.0,engy_use
|
135 |
+
2021-07-18,2885668.0,engy_use
|
136 |
+
2021-07-25,2835504.0,engy_use
|
137 |
+
2021-08-01,2831009.0,engy_use
|
138 |
+
2021-08-08,2933907.0,engy_use
|
139 |
+
2021-08-15,2721183.0,engy_use
|
140 |
+
2021-08-22,2745802.0,engy_use
|
141 |
+
2021-08-29,2564416.0,engy_use
|
142 |
+
2021-09-05,2708931.0,engy_use
|
143 |
+
2021-09-12,2466304.0,engy_use
|
144 |
+
2021-09-19,2539083.0,engy_use
|
145 |
+
2021-09-26,2163427.0,engy_use
|
146 |
+
2021-10-03,2171201.0,engy_use
|
147 |
+
2021-10-10,2121174.0,engy_use
|
148 |
+
2021-10-17,2215295.0,engy_use
|
149 |
+
2021-10-24,2155735.0,engy_use
|
150 |
+
2021-10-31,2166702.0,engy_use
|
151 |
+
2021-11-07,2277194.0,engy_use
|
152 |
+
2021-11-14,2358407.0,engy_use
|
153 |
+
2021-11-21,2353946.0,engy_use
|
154 |
+
2021-11-28,2435669.0,engy_use
|
155 |
+
2021-12-05,2728598.0,engy_use
|
156 |
+
2021-12-12,2856632.0,engy_use
|
157 |
+
2021-12-19,2636854.0,engy_use
|
158 |
+
2021-12-26,2378348.0,engy_use
|
159 |
+
2022-01-02,2834022.0,engy_use
|
160 |
+
2022-01-09,2663156.0,engy_use
|
161 |
+
2022-01-16,2388379.0,engy_use
|
162 |
+
2022-01-23,2576092.0,engy_use
|
163 |
+
2022-01-30,2724873.0,engy_use
|
164 |
+
2022-02-06,2495664.0,engy_use
|
165 |
+
2022-02-13,2460495.0,engy_use
|
166 |
+
2022-02-20,2267947.0,engy_use
|
167 |
+
2022-02-27,2481337.0,engy_use
|
168 |
+
2022-03-06,2419057.0,engy_use
|
169 |
+
2022-03-13,2723821.0,engy_use
|
170 |
+
2022-03-20,2312468.0,engy_use
|
171 |
+
2022-03-27,2193809.0,engy_use
|
172 |
+
2022-04-03,2241817.0,engy_use
|
173 |
+
2022-04-10,2099969.0,engy_use
|
174 |
+
2022-04-17,2152580.0,engy_use
|
175 |
+
2022-04-24,2194599.0,engy_use
|
176 |
+
2022-05-01,2110625.0,engy_use
|
177 |
+
2022-05-08,2147139.0,engy_use
|
178 |
+
2022-05-15,2354321.0,engy_use
|
179 |
+
2022-05-22,2167972.0,engy_use
|
180 |
+
2022-05-29,2273674.0,engy_use
|
181 |
+
2022-06-05,2326770.0,engy_use
|
182 |
+
2022-06-12,2728335.0,engy_use
|
183 |
+
2022-06-19,2486995.0,engy_use
|
184 |
+
2022-06-26,2452241.0,engy_use
|
185 |
+
2022-07-03,2478512.0,engy_use
|
186 |
+
2022-07-10,2681355.0,engy_use
|
187 |
+
2022-07-17,2855314.0,engy_use
|
188 |
+
2022-07-24,2551217.0,engy_use
|
189 |
+
2022-07-31,2524910.0,engy_use
|
190 |
+
2022-08-07,2446518.0,engy_use
|
191 |
+
2022-08-14,2715332.0,engy_use
|
192 |
+
2022-08-21,2481947.0,engy_use
|
193 |
+
2022-08-28,2280037.0,engy_use
|
194 |
+
2022-09-04,2148406.0,engy_use
|
195 |
+
2022-09-11,2265387.0,engy_use
|
196 |
+
2022-09-18,2561937.0,engy_use
|
197 |
+
2022-09-25,2366428.0,engy_use
|
198 |
+
2022-10-02,2270751.0,engy_use
|
199 |
+
2022-10-09,2281653.0,engy_use
|
200 |
+
2022-10-16,2162440.0,engy_use
|
201 |
+
2022-10-23,2226689.0,engy_use
|
202 |
+
2022-10-30,2290433.0,engy_use
|
203 |
+
2022-11-06,2424514.0,engy_use
|
204 |
+
2022-11-13,2465073.0,engy_use
|
205 |
+
2022-11-20,2402741.0,engy_use
|
206 |
+
2022-11-27,2447270.0,engy_use
|
207 |
+
2022-12-04,2687268.0,engy_use
|
208 |
+
2022-12-11,2828097.0,engy_use
|
209 |
+
2022-12-18,2483275.0,engy_use
|
210 |
+
2022-12-25,2958141.0,engy_use
|
211 |
+
2023-01-01,2842532.0,engy_use
|
212 |
+
2023-01-08,2804232.0,engy_use
|
213 |
+
2023-01-15,3027816.0,engy_use
|
214 |
+
2023-01-22,2574386.0,engy_use
|
215 |
+
2023-01-29,2885204.0,engy_use
|
216 |
+
2023-02-05,2789924.0,engy_use
|
217 |
+
2023-02-12,2530032.0,engy_use
|
218 |
+
2023-02-19,2269327.0,engy_use
|
219 |
+
2023-02-26,2434005.0,engy_use
|
220 |
+
2023-03-05,2601847.0,engy_use
|
221 |
+
2023-03-12,2624164.0,engy_use
|
222 |
+
2023-03-19,2587593.0,engy_use
|
223 |
+
2023-03-26,2307395.0,engy_use
|
224 |
+
2023-04-02,2412266.0,engy_use
|
225 |
+
2023-04-09,2303668.0,engy_use
|
226 |
+
2023-04-16,2362015.0,engy_use
|
227 |
+
2023-04-23,2126357.0,engy_use
|
228 |
+
2023-04-30,2204680.0,engy_use
|
229 |
+
2023-05-07,2238005.0,engy_use
|
230 |
+
2023-05-14,2363166.0,engy_use
|
231 |
+
2023-05-21,2448118.0,engy_use
|
232 |
+
2023-05-28,2622242.0,engy_use
|
233 |
+
2023-06-04,2376050.0,engy_use
|
234 |
+
2023-06-11,2578147.0,engy_use
|
235 |
+
2023-06-18,2710648.0,engy_use
|
236 |
+
2023-06-25,2707591.0,engy_use
|
237 |
+
2023-07-02,2707980.0,engy_use
|
238 |
+
2023-07-09,2799780.0,engy_use
|
239 |
+
2023-07-16,2616533.0,engy_use
|
240 |
+
2023-07-23,2588782.0,engy_use
|
data/multivariate/Predicting_price_blow_mold.xlsx
ADDED
Binary file (166 kB). View file
|
|
data/multivariate/Variable description.xlsx
ADDED
Binary file (8.69 kB). View file
|
|
data/multivariate/blow_mold_preprocessed.csv
ADDED
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,y,gas_regm,m_coil_brent_eu,ppi_plastic_resins,global_proce_of_rubber,ppi_nonpackaging_plastic
|
2 |
+
2000-01-31,41.0,1.289,25.51,139.4,29.207387288305,106.3
|
3 |
+
2000-02-29,41.0,1.377,27.78,141.7,33.3910988232947,105.6
|
4 |
+
2000-03-31,45.0,1.516,27.49,146.3,30.9419130507091,106.1
|
5 |
+
2000-04-30,47.0,1.465,22.76,151.4,31.9301483398313,106.9
|
6 |
+
2000-05-31,47.0,1.487,27.74,155.6,31.2017020258803,106.3
|
7 |
+
2000-06-30,47.0,1.633,29.8,155.9,30.3866550681669,105.6
|
8 |
+
2000-07-31,47.0,1.551,28.68,153.8,29.4021076293167,105.6
|
9 |
+
2000-08-31,46.0,1.465,30.2,153.5,30.3085171496012,105.6
|
10 |
+
2000-09-30,45.0,1.55,33.14,148.7,29.8124884983428,102.9
|
11 |
+
2000-10-31,43.0,1.532,30.96,146.2,30.1277751472933,102.8
|
12 |
+
2000-11-30,42.0,1.517,32.55,143.7,28.7437287406289,141.8
|
13 |
+
2000-12-31,41.0,1.443,25.66,141.8,28.1258451618706,135.4
|
14 |
+
2001-01-31,41.0,1.447,25.62,142.1,27.6103437361532,136.0
|
15 |
+
2001-02-28,46.0,1.45,27.5,143.8,27.3004069271481,130.3
|
16 |
+
2001-03-31,49.0,1.409,24.5,146.2,26.0187851525231,131.9
|
17 |
+
2001-04-30,49.0,1.552,25.66,146.8,26.2534988467767,133.5
|
18 |
+
2001-05-31,46.0,1.702,28.31,144.3,27.51473477331,133.6
|
19 |
+
2001-06-30,44.0,1.616,27.85,141.5,28.1185662296469,132.6
|
20 |
+
2001-07-31,41.0,1.421,24.61,138.8,27.4841214793241,129.9
|
21 |
+
2001-08-31,38.0,1.421,25.68,134.1,26.6036904584991,127.3
|
22 |
+
2001-09-30,37.0,1.522,25.62,128.7,26.292151018594,128.1
|
23 |
+
2001-10-31,36.0,1.315,20.54,131.1,24.3699386646521,126.8
|
24 |
+
2001-11-30,35.0,1.171,18.8,129.3,23.3473647814519,126.9
|
25 |
+
2001-12-31,34.0,1.086,18.71,126.0,22.1199072290676,126.9
|
26 |
+
2002-01-31,33.0,1.107,19.42,123.5,25.7274386290273,124.2
|
27 |
+
2002-02-28,32.0,1.114,20.28,122.9,28.3348137073603,123.1
|
28 |
+
2002-03-31,35.0,1.249,23.7,125.4,30.4060736454083,123.5
|
29 |
+
2002-04-30,37.0,1.397,25.73,129.1,30.5710009457509,132.5
|
30 |
+
2002-05-31,37.0,1.392,25.35,131.7,31.9800767861452,132.2
|
31 |
+
2002-06-30,40.0,1.382,24.08,134.2,38.1194117462331,133.2
|
32 |
+
2002-07-31,42.0,1.397,25.74,140.8,37.7212614451261,130.1
|
33 |
+
2002-08-31,42.0,1.396,26.65,141.7,39.1259414196287,130.7
|
34 |
+
2002-09-30,42.0,1.4,28.4,142.0,40.4003165097905,132.5
|
35 |
+
2002-10-31,41.5,1.445,27.54,143.5,37.4785970122049,133.5
|
36 |
+
2002-11-30,41.0,1.419,24.34,142.0,38.1078708057541,131.3
|
37 |
+
2002-12-31,40.0,1.386,28.33,139.6,38.4589515238658,131.3
|
38 |
+
2003-01-31,42.0,1.458,31.18,142.2,40.8439797087274,131.2
|
39 |
+
2003-02-28,45.0,1.613,32.77,148.3,44.3216971632299,134.9
|
40 |
+
2003-03-31,51.0,1.693,30.61,158.0,48.0160494131156,154.4
|
41 |
+
2003-04-30,51.0,1.589,25.0,162.5,44.6582837198907,153.6
|
42 |
+
2003-05-31,49.0,1.497,25.86,160.3,44.7716819472496,148.3
|
43 |
+
2003-06-30,47.0,1.493,27.65,156.0,46.0828796324256,143.9
|
44 |
+
2003-07-31,46.0,1.513,28.35,150.5,45.0388176923323,143.5
|
45 |
+
2003-08-31,46.0,1.62,29.89,149.0,47.2060620748377,146.4
|
46 |
+
2003-09-30,49.0,1.679,27.11,150.9,50.1580977467978,143.9
|
47 |
+
2003-10-31,50.0,1.564,29.61,152.7,58.8783317878305,143.0
|
48 |
+
2003-11-30,50.0,1.512,28.75,152.5,57.317134018561,144.9
|
49 |
+
2003-12-31,50.0,1.479,29.81,150.1,56.4615173935601,144.9
|
50 |
+
2004-01-31,50.0,1.572,31.28,153.0,56.9385099372127,145.1
|
51 |
+
2004-02-29,52.0,1.648,30.86,158.4,58.6985034776252,151.1
|
52 |
+
2004-03-31,53.0,1.736,33.63,159.2,60.3278569549401,151.3
|
53 |
+
2004-04-30,51.0,1.798,33.59,163.1,62.9846154244917,148.6
|
54 |
+
2004-05-31,54.0,1.983,37.57,164.3,60.96288702815,148.4
|
55 |
+
2004-06-30,50.0,1.969,35.18,167.9,62.0396301965008,153.3
|
56 |
+
2004-07-31,50.0,1.911,38.22,169.3,56.439917731206,155.2
|
57 |
+
2004-08-31,54.0,1.878,42.74,172.7,55.5759312370429,158.2
|
58 |
+
2004-09-30,54.0,1.87,43.2,178.7,56.4156181110577,164.3
|
59 |
+
2004-10-31,59.0,2.0,49.78,184.2,57.687298232154,170.1
|
60 |
+
2004-11-30,65.0,1.979,43.11,190.2,55.6841995445927,172.5
|
61 |
+
2004-12-31,65.0,1.841,39.6,195.0,53.664361118707,180.7
|
62 |
+
2005-01-31,65.0,1.831,44.51,201.5,53.6713810089721,181.0
|
63 |
+
2005-02-28,65.0,1.91,45.48,202.2,57.09267223323,184.5
|
64 |
+
2005-03-31,65.0,2.079,53.1,203.8,59.7969470723052,180.0
|
65 |
+
2005-04-30,63.0,2.243,51.88,203.3,59.5394692790162,180.4
|
66 |
+
2005-05-31,59.0,2.161,48.65,200.3,61.6602861264073,183.0
|
67 |
+
2005-06-30,55.0,2.156,54.35,195.0,66.0132317175254,181.4
|
68 |
+
2005-07-31,55.0,2.29,57.52,193.4,76.7382004284509,177.2
|
69 |
+
2005-08-31,61.0,2.486,63.98,191.6,72.5594021150625,174.3
|
70 |
+
2005-09-30,70.5,2.903,62.91,197.5,76.9355427981404,182.2
|
71 |
+
2005-10-31,79.0,2.717,58.54,217.4,77.175593591121,197.3
|
72 |
+
2005-11-30,87.0,2.257,55.24,222.9,72.5295062187588,209.1
|
73 |
+
2005-12-31,83.0,2.185,56.86,218.5,76.219808531953,209.1
|
74 |
+
2006-01-31,79.0,2.316,62.99,216.8,85.0675702237423,207.8
|
75 |
+
2006-02-28,75.0,2.28,60.21,211.5,93.3664304959585,212.2
|
76 |
+
2006-03-31,71.0,2.425,62.06,210.2,93.9381054725787,211.5
|
77 |
+
2006-04-30,67.0,2.742,70.26,204.0,97.2718057629218,209.5
|
78 |
+
2006-05-31,70.0,2.907,69.78,206.1,110.979065175253,198.6
|
79 |
+
2006-06-30,73.0,2.885,68.56,209.8,122.556484197039,196.2
|
80 |
+
2006-07-31,73.0,2.981,73.67,210.3,112.63143934534,199.2
|
81 |
+
2006-08-31,78.0,2.952,73.23,214.0,98.6358399427319,202.5
|
82 |
+
2006-09-30,76.0,2.555,61.96,213.8,82.4405112899275,202.6
|
83 |
+
2006-10-31,70.0,2.245,57.81,210.3,82.5755091796405,204.7
|
84 |
+
2006-11-30,64.0,2.229,58.76,205.3,73.6779209940118,204.6
|
85 |
+
2006-12-31,61.0,2.313,62.47,196.2,78.1671886168233,204.6
|
86 |
+
2007-01-31,61.0,2.24,53.68,194.0,94.2393268508427,204.5
|
87 |
+
2007-02-28,64.0,2.278,57.56,191.4,103.362484237646,192.8
|
88 |
+
2007-03-31,67.0,2.563,62.05,193.3,101.723364405822,192.8
|
89 |
+
2007-04-30,67.0,2.845,67.49,199.0,105.244894811804,192.8
|
90 |
+
2007-05-31,71.0,3.146,67.21,201.4,107.442120464773,192.9
|
91 |
+
2007-06-30,71.0,3.056,71.05,204.7,100.30343205675,192.9
|
92 |
+
2007-07-31,76.0,2.965,76.93,206.8,94.1669188918148,0.0
|
93 |
+
2007-08-31,76.0,2.786,70.76,207.0,95.8627378373185,0.0
|
94 |
+
2007-09-30,76.0,2.803,77.17,206.2,98.1121463109289,0.0
|
95 |
+
2007-10-31,80.0,2.803,82.34,207.9,105.766033621884,0.0
|
96 |
+
2007-11-30,85.0,3.08,92.41,215.6,112.615239598575,0.0
|
97 |
+
2007-12-31,85.0,3.018,90.93,217.1,112.390984280604,0.0
|
98 |
+
2008-01-31,85.0,3.043,92.18,218.7,119.006285148296,0.0
|
99 |
+
2008-02-29,85.0,3.028,94.99,218.7,126.552421732544,0.0
|
100 |
+
2008-03-31,85.0,3.244,103.64,220.5,126.643140314431,0.0
|
101 |
+
2008-04-30,88.0,3.458,109.07,222.6,128.593589825004,0.0
|
102 |
+
2008-05-31,91.0,3.766,122.8,228.5,138.277798441455,0.0
|
103 |
+
2008-06-30,96.0,4.054,132.32,231.9,146.170315065635,0.0
|
104 |
+
2008-07-31,103.0,4.062,132.72,244.5,144.932795280109,0.0
|
105 |
+
2008-08-31,103.0,3.779,113.24,249.4,132.746124912575,0.0
|
106 |
+
2008-09-30,96.0,3.703,97.23,240.3,128.710080731291,0.0
|
107 |
+
2008-10-31,85.0,3.051,71.58,233.0,87.077467895931,0.0
|
108 |
+
2008-11-30,65.0,2.147,52.45,203.5,74.9017971351072,0.0
|
109 |
+
2008-12-31,55.0,1.687,39.95,191.2,55.3560842389086,0.0
|
110 |
+
2009-01-31,55.0,1.788,43.44,181.5,67.3477472200155,0.0
|
111 |
+
2009-02-28,62.0,1.923,43.32,190.5,66.3674465440756,0.0
|
112 |
+
2009-03-31,62.0,1.959,46.54,189.0,64.9008981964321,0.0
|
113 |
+
2009-04-30,62.0,2.049,50.18,185.0,73.7707013618509,0.0
|
114 |
+
2009-05-31,65.0,2.266,57.3,189.0,76.8046193901897,0.0
|
115 |
+
2009-06-30,68.0,2.631,68.61,188.8,75.9603180428538,0.0
|
116 |
+
2009-07-31,68.0,2.527,64.44,201.2,79.3432605757159,0.0
|
117 |
+
2009-08-31,68.0,2.616,72.51,200.8,93.2047030240823,0.0
|
118 |
+
2009-09-30,72.0,2.554,67.65,202.7,98.5533685046526,0.0
|
119 |
+
2009-10-31,72.0,2.551,72.77,200.4,106.69329944307,0.0
|
120 |
+
2009-11-30,72.0,2.651,76.66,201.2,115.713711163267,0.0
|
121 |
+
2009-12-31,72.0,2.607,74.46,203.6,127.232811096697,0.0
|
122 |
+
2010-01-31,76.0,2.715,76.17,201.0,139.790854789358,0.0
|
123 |
+
2010-02-28,84.0,2.644,73.75,217.1,141.865718355091,0.0
|
124 |
+
2010-03-31,90.0,2.772,78.83,219.5,151.4369231728,0.0
|
125 |
+
2010-04-30,90.0,2.848,84.82,238.8,179.086727788998,0.0
|
126 |
+
2010-05-31,84.0,2.836,75.95,226.0,166.911390841138,0.0
|
127 |
+
2010-06-30,78.0,2.732,74.76,218.8,161.740922574989,0.0
|
128 |
+
2010-07-31,76.0,2.729,75.58,224.8,148.514565693036,0.0
|
129 |
+
2010-08-31,76.0,2.73,77.04,222.7,150.415532340762,0.0
|
130 |
+
2010-09-30,81.0,2.705,77.84,221.6,160.244065973852,0.0
|
131 |
+
2010-10-31,81.0,2.801,82.67,227.7,178.024417122312,0.0
|
132 |
+
2010-11-30,85.0,2.859,85.28,221.3,195.323292160842,0.0
|
133 |
+
2010-12-31,85.0,2.993,91.45,218.4,215.275194818155,0.0
|
134 |
+
2011-01-31,85.0,3.095,96.52,224.1,250.361686346119,0.0
|
135 |
+
2011-02-28,88.0,3.211,103.72,231.6,280.787618727944,0.0
|
136 |
+
2011-03-31,90.0,3.561,114.64,237.2,245.782276192328,0.0
|
137 |
+
2011-04-30,96.0,3.8,123.26,244.3,265.492465821774,0.0
|
138 |
+
2011-05-31,96.0,3.906,114.99,258.4,232.074008219104,0.0
|
139 |
+
2011-06-30,93.0,3.68,113.83,255.4,223.802741515545,0.0
|
140 |
+
2011-07-31,89.0,3.65,116.97,253.2,214.640164744945,0.0
|
141 |
+
2011-08-31,89.0,3.639,110.22,248.9,212.113004249518,0.0
|
142 |
+
2011-09-30,89.0,3.611,112.83,250.9,206.452812729631,0.0
|
143 |
+
2011-10-31,84.0,3.448,109.55,242.5,184.20634848636,0.0
|
144 |
+
2011-11-30,84.0,3.384,110.77,245.8,152.945049162992,0.0
|
145 |
+
2011-12-31,89.0,3.266,107.87,240.0,153.517440215375,0.0
|
146 |
+
2012-01-31,89.0,3.38,110.69,245.3,164.475176292465,0.0
|
147 |
+
2012-02-29,92.0,3.579,119.33,249.3,181.551641984733,0.0
|
148 |
+
2012-03-31,95.0,3.852,125.45,253.4,178.218715903215,0.0
|
149 |
+
2012-04-30,95.0,3.9,119.75,253.5,174.404205713456,0.0
|
150 |
+
2012-05-31,88.0,3.732,110.34,252.1,169.105621995462,0.0
|
151 |
+
2012-06-30,81.0,3.539,95.16,248.7,145.091411931049,0.0
|
152 |
+
2012-07-31,81.0,3.439,102.62,245.0,139.632391811906,0.0
|
153 |
+
2012-08-31,86.0,3.722,113.36,246.4,126.692819537845,0.0
|
154 |
+
2012-09-30,86.0,3.849,112.86,241.9,137.821937567472,0.0
|
155 |
+
2012-10-31,86.0,3.746,111.71,245.5,145.329106397227,0.0
|
156 |
+
2012-11-30,84.0,3.452,109.06,245.5,134.905011164865,0.0
|
157 |
+
2012-12-31,84.0,3.31,109.49,244.7,141.053787047201,0.0
|
158 |
+
2013-01-31,89.0,3.319,112.96,253.6,149.85060298992,0.0
|
159 |
+
2013-02-28,93.0,3.67,116.05,258.4,144.509661024979,0.0
|
160 |
+
2013-03-31,93.0,3.711,108.47,261.9,135.048216926273,0.0
|
161 |
+
2013-04-30,93.0,3.57,102.25,260.2,130.03683999139,0.0
|
162 |
+
2013-05-31,93.0,3.615,102.56,257.5,137.803685852783,0.0
|
163 |
+
2013-06-30,95.0,3.626,102.92,258.7,127.468679409603,0.0
|
164 |
+
2013-07-31,95.0,3.591,107.93,256.8,116.259806974523,225.7
|
165 |
+
2013-08-31,95.0,3.574,111.28,258.1,116.525750469469,226.7
|
166 |
+
2013-09-30,100.0,3.532,111.6,259.8,119.662129441593,229.1
|
167 |
+
2013-10-31,100.0,3.344,109.08,260.2,114.963122896463,231.9
|
168 |
+
2013-11-30,100.0,3.243,107.79,262.7,112.925194753356,231.9
|
169 |
+
2013-12-31,100.0,3.276,110.76,262.6,116.050665895991,231.9
|
170 |
+
2014-01-31,100.0,3.313,108.12,266.1,105.516510565907,231.9
|
171 |
+
2014-02-28,104.0,3.356,108.9,269.4,97.2956790739447,234.0
|
172 |
+
2014-03-31,104.0,3.533,107.48,271.9,103.477502439682,237.0
|
173 |
+
2014-04-30,104.0,3.661,107.76,273.1,99.5787633847708,237.0
|
174 |
+
2014-05-31,104.0,3.673,109.54,271.7,94.0184703032722,238.4
|
175 |
+
2014-06-30,104.0,3.692,111.8,269.4,94.6475604693347,238.4
|
176 |
+
2014-07-31,104.0,3.611,106.77,272.0,91.5742230571997,238.4
|
177 |
+
2014-08-31,104.0,3.487,101.61,274.9,83.9125282793579,238.4
|
178 |
+
2014-09-30,107.0,3.406,97.09,277.1,74.589230384787,238.4
|
179 |
+
2014-10-31,107.0,3.171,87.43,279.7,73.4885312272799,240.9
|
180 |
+
2014-11-30,104.0,2.912,79.44,275.3,74.2009960900291,240.7
|
181 |
+
2014-12-31,100.0,2.543,62.34,265.4,72.715066954437,238.3
|
182 |
+
2015-01-31,72.0,2.116,47.76,254.0,75.0264271868902,234.2
|
183 |
+
2015-02-28,67.0,2.216,58.1,248.4,82.0272377502195,233.0
|
184 |
+
2015-03-31,67.0,2.464,55.89,241.2,78.7169258606513,226.3
|
185 |
+
2015-04-30,67.0,2.469,59.52,240.3,77.1259143677066,224.5
|
186 |
+
2015-05-31,72.0,2.718,64.08,242.9,83.5472779889505,225.5
|
187 |
+
2015-06-30,72.0,2.802,61.48,244.7,82.9794228656618,223.5
|
188 |
+
2015-07-31,72.0,2.794,56.56,242.5,74.3665575019731,221.7
|
189 |
+
2015-08-31,67.0,2.636,46.52,238.9,64.4340664508838,223.5
|
190 |
+
2015-09-30,63.0,2.365,47.62,231.4,59.5136576825031,220.5
|
191 |
+
2015-10-31,63.0,2.29,48.43,228.9,59.0041903737688,218.2
|
192 |
+
2015-11-30,63.0,2.158,44.27,227.4,55.4403933557711,216.3
|
193 |
+
2015-12-31,63.0,2.038,38.01,228.2,56.59327533392,216.3
|
194 |
+
2016-01-31,60.0,1.949,30.7,224.8,55.3269951284122,213.9
|
195 |
+
2016-02-29,58.0,1.764,32.18,223.4,57.0405020270829,211.5
|
196 |
+
2016-03-31,63.0,1.969,38.21,222.6,65.639017567241,210.8
|
197 |
+
2016-04-30,67.0,2.113,41.58,222.7,78.0374201190487,211.5
|
198 |
+
2016-05-31,67.0,2.268,46.74,226.3,75.9184932421137,212.6
|
199 |
+
2016-06-30,67.0,2.366,48.25,229.7,71.6965446941588,214.0
|
200 |
+
2016-07-31,67.0,2.239,44.95,229.6,80.5036695666373,214.0
|
201 |
+
2016-08-31,67.0,2.178,45.84,230.3,74.9789079297113,214.0
|
202 |
+
2016-09-30,72.0,2.219,46.57,231.6,72.7822222683015,215.7
|
203 |
+
2016-10-31,72.0,2.249,49.52,233.7,75.5988182392733,217.2
|
204 |
+
2016-11-30,69.0,2.182,44.73,232.2,85.2692816160443,219.1
|
205 |
+
2016-12-31,67.0,2.254,53.31,227.3,101.010820998846,218.5
|
206 |
+
2017-01-31,67.0,2.349,54.58,229.3,115.897763023011,216.9
|
207 |
+
2017-02-28,72.0,2.304,54.87,235.3,122.989449428927,218.0
|
208 |
+
2017-03-31,75.0,2.325,51.59,240.8,107.351636661824,226.0
|
209 |
+
2017-04-30,75.0,2.417,52.31,245.6,101.249099379342,228.5
|
210 |
+
2017-05-31,72.0,2.391,50.33,245.8,98.6067785788373,229.7
|
211 |
+
2017-06-30,72.0,2.347,46.37,244.5,79.7675530736104,228.5
|
212 |
+
2017-07-31,72.0,2.3,48.48,241.4,79.3528395564121,225.4
|
213 |
+
2017-08-31,75.0,2.38,51.7,240.8,83.1023445805132,225.4
|
214 |
+
2017-09-30,77.0,2.645,56.15,244.3,83.6584082517622,226.1
|
215 |
+
2017-10-31,80.5,2.505,57.51,249.4,73.6116493026981,232.6
|
216 |
+
2017-11-30,82.0,2.564,62.71,251.6,70.2656652434845,235.0
|
217 |
+
2017-12-31,82.0,2.477,64.37,253.2,73.6340049532346,236.9
|
218 |
+
2018-01-31,79.0,2.555,69.08,247.0,76.8242063567335,239.0
|
219 |
+
2018-02-28,83.0,2.587,65.32,247.3,78.4085743171663,236.8
|
220 |
+
2018-03-31,83.0,2.591,66.02,252.0,78.1670180931732,238.1
|
221 |
+
2018-04-30,83.0,2.757,72.11,248.9,77.7415047447978,239.7
|
222 |
+
2018-05-31,83.0,2.901,76.98,254.3,76.1236900344774,236.2
|
223 |
+
2018-06-30,83.0,2.891,74.41,257.4,70.0483530041459,235.7
|
224 |
+
2018-07-31,83.0,2.849,74.25,257.7,66.1977615602277,234.2
|
225 |
+
2018-08-31,83.0,2.836,72.53,262.7,66.5917590376227,234.2
|
226 |
+
2018-09-30,86.0,2.836,78.89,260.3,64.9477007375421,230.7
|
227 |
+
2018-10-31,86.0,2.86,81.03,260.8,64.4318867137904,233.7
|
228 |
+
2018-11-30,83.0,2.647,64.75,254.6,61.0147262177998,233.7
|
229 |
+
2018-12-31,80.0,2.366,57.36,248.7,64.4388411130883,224.9
|
230 |
+
2019-01-31,80.0,2.248,59.41,242.7,71.8944761455489,223.8
|
231 |
+
2019-02-28,80.0,2.309,63.96,241.3,73.9009577214054,223.7
|
232 |
+
2019-03-31,80.0,2.516,66.14,239.7,77.7544645422103,223.7
|
233 |
+
2019-04-30,83.0,2.798,71.23,239.2,77.6248665680858,224.4
|
234 |
+
2019-05-31,83.0,2.859,71.32,241.7,81.5516851840572,221.4
|
235 |
+
2019-06-30,83.0,2.716,64.22,238.2,89.9164386367575,222.7
|
236 |
+
2019-07-31,80.0,2.74,63.92,237.2,79.7238841910249,222.0
|
237 |
+
2019-08-31,77.0,2.621,59.04,237.1,67.7304932369297,220.9
|
238 |
+
2019-09-30,80.0,2.592,62.83,237.6,68.1361348959393,220.9
|
239 |
+
2019-10-31,80.0,2.627,59.71,238.7,65.121509293294,221.1
|
240 |
+
2019-11-30,77.0,2.598,63.21,235.4,69.723710078964,219.7
|
241 |
+
2019-12-31,77.0,2.555,67.31,229.5,74.949424390598,217.7
|
242 |
+
2020-01-31,47.0,2.548,63.65,228.9,75.2125082780706,215.5
|
243 |
+
2020-02-29,47.0,2.442,55.66,232.8,71.6608757971895,218.0
|
244 |
+
2020-03-31,47.0,2.234,32.01,231.9,68.3729457395668,217.4
|
245 |
+
2020-04-30,43.0,1.841,18.38,216.6,60.6993711474302,219.1
|
246 |
+
2020-05-31,43.0,1.87,29.38,210.2,61.37364060725,214.1
|
247 |
+
2020-06-30,47.0,2.082,40.27,212.1,64.7854381831213,211.7
|
248 |
+
2020-07-31,52.0,2.183,43.24,217.3,67.9849372594608,216.5
|
249 |
+
2020-08-31,57.0,2.182,44.74,225.1,79.9616260398618,214.3
|
250 |
+
2020-09-30,62.0,2.183,40.91,226.0,89.3124438678774,220.9
|
251 |
+
2020-10-31,62.0,2.158,40.19,238.2,101.520278489552,224.0
|
252 |
+
2020-11-30,62.0,2.108,42.69,240.0,110.151798107092,222.4
|
253 |
+
2020-12-31,67.0,2.195,49.99,246.3,107.745595720848,228.4
|
254 |
+
2021-01-31,72.0,2.334,54.77,256.7,104.398944035707,229.2
|
255 |
+
2021-02-28,79.0,2.501,62.28,271.7,105.246154792108,233.0
|
256 |
+
2021-03-31,86.0,2.81,65.41,302.3,108.160215326471,242.9
|
257 |
+
2021-04-30,93.0,2.858,64.81,321.8,99.3282073014635,247.4
|
258 |
+
2021-05-31,98.0,2.985,68.53,329.8,105.414992152843,255.9
|
259 |
+
2021-06-30,103.0,3.064,73.16,342.7,97.0688826192269,268.6
|
260 |
+
2021-07-31,108.0,3.136,75.17,353.336,84.9233924775288,275.777
|
261 |
+
2021-08-31,108.0,3.158,70.75,358.454,86.2496117460692,282.857
|
262 |
+
2021-09-30,108.0,3.175,74.49,358.01,81.2240575782592,286.721
|
263 |
+
2021-10-31,103.0,3.291,83.54,359.606,85.5368228883846,285.666
|
264 |
+
2021-11-30,98.0,3.395,81.05,353.75,88.5024565295995,296.322
|
265 |
+
2021-12-31,93.0,3.307,74.17,343.395,88.1867087380963,292.442
|
266 |
+
2022-01-31,93.0,3.315,86.51,328.684,90.21055782856,285.039
|
267 |
+
2022-02-28,93.0,3.517,97.13,328.986,96.8899654160606,284.688
|
268 |
+
2022-03-31,97.0,4.222,117.25,328.095,98.3014720470411,288.808
|
269 |
+
2022-04-30,97.0,4.109,104.58,343.327,97.0667226529915,291.62
|
270 |
+
2022-05-31,100.0,4.444,113.34,349.319,96.0544839308527,291.348
|
271 |
+
2022-06-30,100.0,4.929,122.71,352.112,94.0215629822002,304.147
|
272 |
+
2022-07-31,97.0,4.559,111.93,342.621,82.938383507189,304.969
|
273 |
+
2022-08-31,93.0,3.975,100.45,329.278,73.3045584509684,303.837
|
274 |
+
2022-09-30,90.0,3.7,89.76,326.451,66.9564987905564,308.976
|
275 |
+
2022-10-31,90.0,3.815,93.33,316.901,68.5357286494898,312.788
|
276 |
+
2022-11-30,90.0,3.685,91.42,300.185,65.2658343099326,307.226
|
277 |
+
2022-12-31,90.0,3.21,80.92,291.825,65.2658343099326,307.226
|
data/multivariate/demo_future.csv
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,weekday
|
2 |
+
2023-01-31,1
|
3 |
+
2023-02-28,1
|
4 |
+
2023-03-31,4
|
5 |
+
2023-04-30,6
|
data/multivariate/demo_historical.csv
ADDED
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datetime,y,gas_regm,weekday
|
2 |
+
2000-01-31,41.0,1.289,0
|
3 |
+
2000-02-29,41.0,1.377,1
|
4 |
+
2000-03-31,45.0,1.516,4
|
5 |
+
2000-04-30,47.0,1.465,6
|
6 |
+
2000-05-31,47.0,1.487,2
|
7 |
+
2000-06-30,47.0,1.633,4
|
8 |
+
2000-07-31,47.0,1.551,0
|
9 |
+
2000-08-31,46.0,1.465,3
|
10 |
+
2000-09-30,45.0,1.55,5
|
11 |
+
2000-10-31,43.0,1.532,1
|
12 |
+
2000-11-30,42.0,1.517,3
|
13 |
+
2000-12-31,41.0,1.443,6
|
14 |
+
2001-01-31,41.0,1.447,2
|
15 |
+
2001-02-28,46.0,1.45,2
|
16 |
+
2001-03-31,49.0,1.409,5
|
17 |
+
2001-04-30,49.0,1.552,0
|
18 |
+
2001-05-31,46.0,1.702,3
|
19 |
+
2001-06-30,44.0,1.616,5
|
20 |
+
2001-07-31,41.0,1.421,1
|
21 |
+
2001-08-31,38.0,1.421,4
|
22 |
+
2001-09-30,37.0,1.522,6
|
23 |
+
2001-10-31,36.0,1.315,2
|
24 |
+
2001-11-30,35.0,1.171,4
|
25 |
+
2001-12-31,34.0,1.086,0
|
26 |
+
2002-01-31,33.0,1.107,3
|
27 |
+
2002-02-28,32.0,1.114,3
|
28 |
+
2002-03-31,35.0,1.249,6
|
29 |
+
2002-04-30,37.0,1.397,1
|
30 |
+
2002-05-31,37.0,1.392,4
|
31 |
+
2002-06-30,40.0,1.382,6
|
32 |
+
2002-07-31,42.0,1.397,2
|
33 |
+
2002-08-31,42.0,1.396,5
|
34 |
+
2002-09-30,42.0,1.4,0
|
35 |
+
2002-10-31,41.5,1.445,3
|
36 |
+
2002-11-30,41.0,1.419,5
|
37 |
+
2002-12-31,40.0,1.386,1
|
38 |
+
2003-01-31,42.0,1.458,4
|
39 |
+
2003-02-28,45.0,1.613,4
|
40 |
+
2003-03-31,51.0,1.693,0
|
41 |
+
2003-04-30,51.0,1.589,2
|
42 |
+
2003-05-31,49.0,1.497,5
|
43 |
+
2003-06-30,47.0,1.493,0
|
44 |
+
2003-07-31,46.0,1.513,3
|
45 |
+
2003-08-31,46.0,1.62,6
|
46 |
+
2003-09-30,49.0,1.679,1
|
47 |
+
2003-10-31,50.0,1.564,4
|
48 |
+
2003-11-30,50.0,1.512,6
|
49 |
+
2003-12-31,50.0,1.479,2
|
50 |
+
2004-01-31,50.0,1.572,5
|
51 |
+
2004-02-29,52.0,1.648,6
|
52 |
+
2004-03-31,53.0,1.736,2
|
53 |
+
2004-04-30,51.0,1.798,4
|
54 |
+
2004-05-31,54.0,1.983,0
|
55 |
+
2004-06-30,50.0,1.969,2
|
56 |
+
2004-07-31,50.0,1.911,5
|
57 |
+
2004-08-31,54.0,1.878,1
|
58 |
+
2004-09-30,54.0,1.87,3
|
59 |
+
2004-10-31,59.0,2.0,6
|
60 |
+
2004-11-30,65.0,1.979,1
|
61 |
+
2004-12-31,65.0,1.841,4
|
62 |
+
2005-01-31,65.0,1.831,0
|
63 |
+
2005-02-28,65.0,1.91,0
|
64 |
+
2005-03-31,65.0,2.079,3
|
65 |
+
2005-04-30,63.0,2.243,5
|
66 |
+
2005-05-31,59.0,2.161,1
|
67 |
+
2005-06-30,55.0,2.156,3
|
68 |
+
2005-07-31,55.0,2.29,6
|
69 |
+
2005-08-31,61.0,2.486,2
|
70 |
+
2005-09-30,70.5,2.903,4
|
71 |
+
2005-10-31,79.0,2.717,0
|
72 |
+
2005-11-30,87.0,2.257,2
|
73 |
+
2005-12-31,83.0,2.185,5
|
74 |
+
2006-01-31,79.0,2.316,1
|
75 |
+
2006-02-28,75.0,2.28,1
|
76 |
+
2006-03-31,71.0,2.425,4
|
77 |
+
2006-04-30,67.0,2.742,6
|
78 |
+
2006-05-31,70.0,2.907,2
|
79 |
+
2006-06-30,73.0,2.885,4
|
80 |
+
2006-07-31,73.0,2.981,0
|
81 |
+
2006-08-31,78.0,2.952,3
|
82 |
+
2006-09-30,76.0,2.555,5
|
83 |
+
2006-10-31,70.0,2.245,1
|
84 |
+
2006-11-30,64.0,2.229,3
|
85 |
+
2006-12-31,61.0,2.313,6
|
86 |
+
2007-01-31,61.0,2.24,2
|
87 |
+
2007-02-28,64.0,2.278,2
|
88 |
+
2007-03-31,67.0,2.563,5
|
89 |
+
2007-04-30,67.0,2.845,0
|
90 |
+
2007-05-31,71.0,3.146,3
|
91 |
+
2007-06-30,71.0,3.056,5
|
92 |
+
2007-07-31,76.0,2.965,1
|
93 |
+
2007-08-31,76.0,2.786,4
|
94 |
+
2007-09-30,76.0,2.803,6
|
95 |
+
2007-10-31,80.0,2.803,2
|
96 |
+
2007-11-30,85.0,3.08,4
|
97 |
+
2007-12-31,85.0,3.018,0
|
98 |
+
2008-01-31,85.0,3.043,3
|
99 |
+
2008-02-29,85.0,3.028,4
|
100 |
+
2008-03-31,85.0,3.244,0
|
101 |
+
2008-04-30,88.0,3.458,2
|
102 |
+
2008-05-31,91.0,3.766,5
|
103 |
+
2008-06-30,96.0,4.054,0
|
104 |
+
2008-07-31,103.0,4.062,3
|
105 |
+
2008-08-31,103.0,3.779,6
|
106 |
+
2008-09-30,96.0,3.703,1
|
107 |
+
2008-10-31,85.0,3.051,4
|
108 |
+
2008-11-30,65.0,2.147,6
|
109 |
+
2008-12-31,55.0,1.687,2
|
110 |
+
2009-01-31,55.0,1.788,5
|
111 |
+
2009-02-28,62.0,1.923,5
|
112 |
+
2009-03-31,62.0,1.959,1
|
113 |
+
2009-04-30,62.0,2.049,3
|
114 |
+
2009-05-31,65.0,2.266,6
|
115 |
+
2009-06-30,68.0,2.631,1
|
116 |
+
2009-07-31,68.0,2.527,4
|
117 |
+
2009-08-31,68.0,2.616,0
|
118 |
+
2009-09-30,72.0,2.554,2
|
119 |
+
2009-10-31,72.0,2.551,5
|
120 |
+
2009-11-30,72.0,2.651,0
|
121 |
+
2009-12-31,72.0,2.607,3
|
122 |
+
2010-01-31,76.0,2.715,6
|
123 |
+
2010-02-28,84.0,2.644,6
|
124 |
+
2010-03-31,90.0,2.772,2
|
125 |
+
2010-04-30,90.0,2.848,4
|
126 |
+
2010-05-31,84.0,2.836,0
|
127 |
+
2010-06-30,78.0,2.732,2
|
128 |
+
2010-07-31,76.0,2.729,5
|
129 |
+
2010-08-31,76.0,2.73,1
|
130 |
+
2010-09-30,81.0,2.705,3
|
131 |
+
2010-10-31,81.0,2.801,6
|
132 |
+
2010-11-30,85.0,2.859,1
|
133 |
+
2010-12-31,85.0,2.993,4
|
134 |
+
2011-01-31,85.0,3.095,0
|
135 |
+
2011-02-28,88.0,3.211,0
|
136 |
+
2011-03-31,90.0,3.561,3
|
137 |
+
2011-04-30,96.0,3.8,5
|
138 |
+
2011-05-31,96.0,3.906,1
|
139 |
+
2011-06-30,93.0,3.68,3
|
140 |
+
2011-07-31,89.0,3.65,6
|
141 |
+
2011-08-31,89.0,3.639,2
|
142 |
+
2011-09-30,89.0,3.611,4
|
143 |
+
2011-10-31,84.0,3.448,0
|
144 |
+
2011-11-30,84.0,3.384,2
|
145 |
+
2011-12-31,89.0,3.266,5
|
146 |
+
2012-01-31,89.0,3.38,1
|
147 |
+
2012-02-29,92.0,3.579,2
|
148 |
+
2012-03-31,95.0,3.852,5
|
149 |
+
2012-04-30,95.0,3.9,0
|
150 |
+
2012-05-31,88.0,3.732,3
|
151 |
+
2012-06-30,81.0,3.539,5
|
152 |
+
2012-07-31,81.0,3.439,1
|
153 |
+
2012-08-31,86.0,3.722,4
|
154 |
+
2012-09-30,86.0,3.849,6
|
155 |
+
2012-10-31,86.0,3.746,2
|
156 |
+
2012-11-30,84.0,3.452,4
|
157 |
+
2012-12-31,84.0,3.31,0
|
158 |
+
2013-01-31,89.0,3.319,3
|
159 |
+
2013-02-28,93.0,3.67,3
|
160 |
+
2013-03-31,93.0,3.711,6
|
161 |
+
2013-04-30,93.0,3.57,1
|
162 |
+
2013-05-31,93.0,3.615,4
|
163 |
+
2013-06-30,95.0,3.626,6
|
164 |
+
2013-07-31,95.0,3.591,2
|
165 |
+
2013-08-31,95.0,3.574,5
|
166 |
+
2013-09-30,100.0,3.532,0
|
167 |
+
2013-10-31,100.0,3.344,3
|
168 |
+
2013-11-30,100.0,3.243,5
|
169 |
+
2013-12-31,100.0,3.276,1
|
170 |
+
2014-01-31,100.0,3.313,4
|
171 |
+
2014-02-28,104.0,3.356,4
|
172 |
+
2014-03-31,104.0,3.533,0
|
173 |
+
2014-04-30,104.0,3.661,2
|
174 |
+
2014-05-31,104.0,3.673,5
|
175 |
+
2014-06-30,104.0,3.692,0
|
176 |
+
2014-07-31,104.0,3.611,3
|
177 |
+
2014-08-31,104.0,3.487,6
|
178 |
+
2014-09-30,107.0,3.406,1
|
179 |
+
2014-10-31,107.0,3.171,4
|
180 |
+
2014-11-30,104.0,2.912,6
|
181 |
+
2014-12-31,100.0,2.543,2
|
182 |
+
2015-01-31,72.0,2.116,5
|
183 |
+
2015-02-28,67.0,2.216,5
|
184 |
+
2015-03-31,67.0,2.464,1
|
185 |
+
2015-04-30,67.0,2.469,3
|
186 |
+
2015-05-31,72.0,2.718,6
|
187 |
+
2015-06-30,72.0,2.802,1
|
188 |
+
2015-07-31,72.0,2.794,4
|
189 |
+
2015-08-31,67.0,2.636,0
|
190 |
+
2015-09-30,63.0,2.365,2
|
191 |
+
2015-10-31,63.0,2.29,5
|
192 |
+
2015-11-30,63.0,2.158,0
|
193 |
+
2015-12-31,63.0,2.038,3
|
194 |
+
2016-01-31,60.0,1.949,6
|
195 |
+
2016-02-29,58.0,1.764,0
|
196 |
+
2016-03-31,63.0,1.969,3
|
197 |
+
2016-04-30,67.0,2.113,5
|
198 |
+
2016-05-31,67.0,2.268,1
|
199 |
+
2016-06-30,67.0,2.366,3
|
200 |
+
2016-07-31,67.0,2.239,6
|
201 |
+
2016-08-31,67.0,2.178,2
|
202 |
+
2016-09-30,72.0,2.219,4
|
203 |
+
2016-10-31,72.0,2.249,0
|
204 |
+
2016-11-30,69.0,2.182,2
|
205 |
+
2016-12-31,67.0,2.254,5
|
206 |
+
2017-01-31,67.0,2.349,1
|
207 |
+
2017-02-28,72.0,2.304,1
|
208 |
+
2017-03-31,75.0,2.325,4
|
209 |
+
2017-04-30,75.0,2.417,6
|
210 |
+
2017-05-31,72.0,2.391,2
|
211 |
+
2017-06-30,72.0,2.347,4
|
212 |
+
2017-07-31,72.0,2.3,0
|
213 |
+
2017-08-31,75.0,2.38,3
|
214 |
+
2017-09-30,77.0,2.645,5
|
215 |
+
2017-10-31,80.5,2.505,1
|
216 |
+
2017-11-30,82.0,2.564,3
|
217 |
+
2017-12-31,82.0,2.477,6
|
218 |
+
2018-01-31,79.0,2.555,2
|
219 |
+
2018-02-28,83.0,2.587,2
|
220 |
+
2018-03-31,83.0,2.591,5
|
221 |
+
2018-04-30,83.0,2.757,0
|
222 |
+
2018-05-31,83.0,2.901,3
|
223 |
+
2018-06-30,83.0,2.891,5
|
224 |
+
2018-07-31,83.0,2.849,1
|
225 |
+
2018-08-31,83.0,2.836,4
|
226 |
+
2018-09-30,86.0,2.836,6
|
227 |
+
2018-10-31,86.0,2.86,2
|
228 |
+
2018-11-30,83.0,2.647,4
|
229 |
+
2018-12-31,80.0,2.366,0
|
230 |
+
2019-01-31,80.0,2.248,3
|
231 |
+
2019-02-28,80.0,2.309,3
|
232 |
+
2019-03-31,80.0,2.516,6
|
233 |
+
2019-04-30,83.0,2.798,1
|
234 |
+
2019-05-31,83.0,2.859,4
|
235 |
+
2019-06-30,83.0,2.716,6
|
236 |
+
2019-07-31,80.0,2.74,2
|
237 |
+
2019-08-31,77.0,2.621,5
|
238 |
+
2019-09-30,80.0,2.592,0
|
239 |
+
2019-10-31,80.0,2.627,3
|
240 |
+
2019-11-30,77.0,2.598,5
|
241 |
+
2019-12-31,77.0,2.555,1
|
242 |
+
2020-01-31,47.0,2.548,4
|
243 |
+
2020-02-29,47.0,2.442,5
|
244 |
+
2020-03-31,47.0,2.234,1
|
245 |
+
2020-04-30,43.0,1.841,3
|
246 |
+
2020-05-31,43.0,1.87,6
|
247 |
+
2020-06-30,47.0,2.082,1
|
248 |
+
2020-07-31,52.0,2.183,4
|
249 |
+
2020-08-31,57.0,2.182,0
|
250 |
+
2020-09-30,62.0,2.183,2
|
251 |
+
2020-10-31,62.0,2.158,5
|
252 |
+
2020-11-30,62.0,2.108,0
|
253 |
+
2020-12-31,67.0,2.195,3
|
254 |
+
2021-01-31,72.0,2.334,6
|
255 |
+
2021-02-28,79.0,2.501,6
|
256 |
+
2021-03-31,86.0,2.81,2
|
257 |
+
2021-04-30,93.0,2.858,4
|
258 |
+
2021-05-31,98.0,2.985,0
|
259 |
+
2021-06-30,103.0,3.064,2
|
260 |
+
2021-07-31,108.0,3.136,5
|
261 |
+
2021-08-31,108.0,3.158,1
|
262 |
+
2021-09-30,108.0,3.175,3
|
263 |
+
2021-10-31,103.0,3.291,6
|
264 |
+
2021-11-30,98.0,3.395,1
|
265 |
+
2021-12-31,93.0,3.307,4
|
266 |
+
2022-01-31,93.0,3.315,0
|
267 |
+
2022-02-28,93.0,3.517,0
|
268 |
+
2022-03-31,97.0,4.222,3
|
269 |
+
2022-04-30,97.0,4.109,5
|
270 |
+
2022-05-31,100.0,4.444,1
|
271 |
+
2022-06-30,100.0,4.929,3
|
272 |
+
2022-07-31,97.0,4.559,6
|
273 |
+
2022-08-31,93.0,3.975,2
|
274 |
+
2022-09-30,90.0,3.7,4
|
275 |
+
2022-10-31,90.0,3.815,0
|
276 |
+
2022-11-30,90.0,3.685,2
|
277 |
+
2022-12-31,90.0,3.21,5
|
data/multivariate/resource.md
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
data source: https://www.kaggle.com/datasets/baravindkumar/predicting-the-price-of-blow-mold-timeseries-multi
|
demo.py
CHANGED
@@ -43,7 +43,7 @@ with demo:
|
|
43 |
|
44 |
df_ts_data = gr.DataFrame(**args.df_ts_data)
|
45 |
|
46 |
-
with gr.Accordion('Data Visualisation', open=False):
|
47 |
dropdown_ts_data = gr.Dropdown(**args.dropdown_ts_data)
|
48 |
plot_ts_data = gr.Plot()
|
49 |
pass
|
@@ -70,9 +70,16 @@ with demo:
|
|
70 |
|
71 |
df_model_data = gr.DataFrame()
|
72 |
file_model_data = gr.File()
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
gr.HTML('<hr style="border:2px solid gray">')
|
75 |
-
|
76 |
gr.Markdown('# Step 3 - Forecasting')
|
77 |
|
78 |
with gr.Row():
|
@@ -90,10 +97,10 @@ with demo:
|
|
90 |
|
91 |
btn_load_demo_result = gr.Button('Load Demo Result')
|
92 |
|
93 |
-
df_forecast = gr.
|
94 |
file_forecast = gr.File()
|
95 |
|
96 |
-
with gr.Accordion('
|
97 |
dropdown_forecast = gr.Dropdown(**args.dropdown_forecast)
|
98 |
plot_forecast = gr.Plot()
|
99 |
|
@@ -132,7 +139,11 @@ with demo:
|
|
132 |
|
133 |
btn_model_selection.click(
|
134 |
app.btn_model_selection__click,
|
135 |
-
[],
|
|
|
|
|
|
|
|
|
136 |
|
137 |
btn_forecast.click(
|
138 |
app.btn_forecast__click,
|
@@ -166,5 +177,10 @@ with demo:
|
|
166 |
[plot_forecast]
|
167 |
)
|
168 |
|
|
|
|
|
|
|
|
|
|
|
169 |
|
170 |
demo.launch()
|
|
|
43 |
|
44 |
df_ts_data = gr.DataFrame(**args.df_ts_data)
|
45 |
|
46 |
+
with gr.Accordion('Input Data Visualisation', open=False):
|
47 |
dropdown_ts_data = gr.Dropdown(**args.dropdown_ts_data)
|
48 |
plot_ts_data = gr.Plot()
|
49 |
pass
|
|
|
70 |
|
71 |
df_model_data = gr.DataFrame()
|
72 |
file_model_data = gr.File()
|
73 |
+
|
74 |
+
accordion_model_selection = gr.Accordion(
|
75 |
+
'Model Selection Visualisation', open=False, visible=False)
|
76 |
+
|
77 |
+
with accordion_model_selection:
|
78 |
+
dropdown_model_selection = gr.Dropdown(**args.dropdown_model_selection)
|
79 |
+
plot_model_selection = gr.Plot()
|
80 |
+
|
81 |
gr.HTML('<hr style="border:2px solid gray">')
|
82 |
+
|
83 |
gr.Markdown('# Step 3 - Forecasting')
|
84 |
|
85 |
with gr.Row():
|
|
|
97 |
|
98 |
btn_load_demo_result = gr.Button('Load Demo Result')
|
99 |
|
100 |
+
df_forecast = gr.Dataframe(**args.df_forecast)
|
101 |
file_forecast = gr.File()
|
102 |
|
103 |
+
with gr.Accordion('Forecasting Result Visualisation', open=False):
|
104 |
dropdown_forecast = gr.Dropdown(**args.dropdown_forecast)
|
105 |
plot_forecast = gr.Plot()
|
106 |
|
|
|
139 |
|
140 |
btn_model_selection.click(
|
141 |
app.btn_model_selection__click,
|
142 |
+
[],
|
143 |
+
[df_model_data,
|
144 |
+
file_model_data,
|
145 |
+
accordion_model_selection,
|
146 |
+
dropdown_model_selection])
|
147 |
|
148 |
btn_forecast.click(
|
149 |
app.btn_forecast__click,
|
|
|
177 |
[plot_forecast]
|
178 |
)
|
179 |
|
180 |
+
dropdown_model_selection.select(
|
181 |
+
app.dropdown_model_selection__select,
|
182 |
+
[dropdown_model_selection],
|
183 |
+
[plot_model_selection])
|
184 |
+
|
185 |
|
186 |
demo.launch()
|
demo2.py
ADDED
@@ -0,0 +1,275 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import json
|
2 |
+
|
3 |
+
import gradio as gr
|
4 |
+
from gr_app2 import args, GradioApp
|
5 |
+
|
6 |
+
demo = gr.Blocks(**args.block)
|
7 |
+
|
8 |
+
with demo:
|
9 |
+
app = GradioApp()
|
10 |
+
|
11 |
+
md__title = gr.Markdown(**args.md__title)
|
12 |
+
|
13 |
+
with gr.Row():
|
14 |
+
with gr.Column():
|
15 |
+
file__historical = gr.File(**args.file__historical)
|
16 |
+
|
17 |
+
with gr.Column():
|
18 |
+
file__future = gr.File(**args.file__future)
|
19 |
+
md__future = gr.Markdown(**args.md__future)
|
20 |
+
|
21 |
+
with gr.Row():
|
22 |
+
btn__load_historical_demo = gr.Button("Load Demo Historical Data")
|
23 |
+
btn__load_future_demo = gr.Button("Load Demo Future Data")
|
24 |
+
|
25 |
+
with gr.Row():
|
26 |
+
number__n_predict = gr.Number(
|
27 |
+
value=app.n_predict,
|
28 |
+
**args.number__n_predict)
|
29 |
+
|
30 |
+
number__window_length = gr.Number(
|
31 |
+
value=app.window_length,
|
32 |
+
**args.number__window_length
|
33 |
+
)
|
34 |
+
|
35 |
+
textbox__target_column = gr.Textbox(
|
36 |
+
value=app.target_column,
|
37 |
+
**args.textbox__target_column
|
38 |
+
)
|
39 |
+
|
40 |
+
number__n_predict.change(
|
41 |
+
app.number__n_predict__change,
|
42 |
+
[number__n_predict]
|
43 |
+
)
|
44 |
+
|
45 |
+
number__window_length.change(
|
46 |
+
app.number__window_length__change,
|
47 |
+
[number__window_length]
|
48 |
+
)
|
49 |
+
|
50 |
+
textbox__target_column.change(
|
51 |
+
app.textbox__target_column__change,
|
52 |
+
[textbox__target_column]
|
53 |
+
)
|
54 |
+
|
55 |
+
# ---------- #
|
56 |
+
# Data Views #
|
57 |
+
# ---------- #
|
58 |
+
|
59 |
+
with gr.Tabs():
|
60 |
+
with gr.Tab('Table View'):
|
61 |
+
df__table_view = gr.Dataframe(**args.df__table_view)
|
62 |
+
|
63 |
+
with gr.Tab('Chart View'):
|
64 |
+
dropdown__chart_view_filter = gr.Dropdown(
|
65 |
+
multiselect=True,
|
66 |
+
label='Filter')
|
67 |
+
plot__chart_view = gr.Plot()
|
68 |
+
|
69 |
+
with gr.Tab('Seasonality and Auto Correlation'):
|
70 |
+
dropdown__seasonality_decompose = gr.Dropdown(
|
71 |
+
label='Please select column to decompose')
|
72 |
+
|
73 |
+
with gr.Row():
|
74 |
+
plot__seasonality_decompose = gr.Plot()
|
75 |
+
plot_acg_pacf = gr.Plot()
|
76 |
+
|
77 |
+
with gr.Tab('Correlations'):
|
78 |
+
btn__plot_correlation = gr.Button('Plot Correlations')
|
79 |
+
plot__correlation = gr.Plot()
|
80 |
+
|
81 |
+
btn__plot_correlation.click(
|
82 |
+
app.btn__plot_correlation__click,
|
83 |
+
[],
|
84 |
+
[plot__correlation]
|
85 |
+
)
|
86 |
+
|
87 |
+
with gr.Tab("Data Profile"):
|
88 |
+
btn__profiling = gr.Button('Profile Data')
|
89 |
+
md__profiling = gr.Markdown()
|
90 |
+
plot__change_points = gr.Plot()
|
91 |
+
|
92 |
+
dropdown__seasonality_decompose.change(
|
93 |
+
app.dropdown__seasonality_decompose__change,
|
94 |
+
[dropdown__seasonality_decompose],
|
95 |
+
[plot__seasonality_decompose,
|
96 |
+
plot_acg_pacf]
|
97 |
+
)
|
98 |
+
|
99 |
+
btn__profiling.click(
|
100 |
+
app.btn__profiling__click,
|
101 |
+
[],
|
102 |
+
[md__profiling,
|
103 |
+
plot__change_points]
|
104 |
+
)
|
105 |
+
|
106 |
+
# ---------------------- #
|
107 |
+
# Fit data to forecaster #
|
108 |
+
# ---------------------- #
|
109 |
+
|
110 |
+
btn__fit_data = gr.Button(**args.btn__fit_data)
|
111 |
+
|
112 |
+
# =========== #
|
113 |
+
# Forecasting #
|
114 |
+
# =========== #
|
115 |
+
|
116 |
+
column__models = gr.Column(visible=True)
|
117 |
+
|
118 |
+
with column__models:
|
119 |
+
md__fit_ready = gr.Markdown(**args.md__fit_ready)
|
120 |
+
|
121 |
+
md__forecast_data_info = gr.Markdown()
|
122 |
+
|
123 |
+
# ------------- #
|
124 |
+
# Model Configs #
|
125 |
+
# ------------- #
|
126 |
+
|
127 |
+
with gr.Row():
|
128 |
+
checkbox__round_results = gr.Checkbox(
|
129 |
+
app.round_results,
|
130 |
+
label='Round Results',
|
131 |
+
interactive=True)
|
132 |
+
|
133 |
+
checkbox__round_results.change(
|
134 |
+
app.checkbox__round_results__change,
|
135 |
+
[checkbox__round_results],
|
136 |
+
[]
|
137 |
+
)
|
138 |
+
|
139 |
+
gr.Markdown('## Models')
|
140 |
+
# ------- #
|
141 |
+
# XGBoost #
|
142 |
+
# ------- #
|
143 |
+
with gr.Tab('XGBoost'):
|
144 |
+
|
145 |
+
with gr.Row():
|
146 |
+
checkbox__xgboost_cv = gr.Checkbox(
|
147 |
+
app.xgboost_cv, label='Cross Validation')
|
148 |
+
checkbox__xgboost_round = gr.Checkbox(
|
149 |
+
app.xgboost.round_result,
|
150 |
+
label='Round Result',
|
151 |
+
interactive=True)
|
152 |
+
|
153 |
+
checkbox__xgboost_round.change(
|
154 |
+
app.checkbox__xgboost_round__change,
|
155 |
+
[checkbox__xgboost_round],
|
156 |
+
[]
|
157 |
+
)
|
158 |
+
|
159 |
+
with gr.Row():
|
160 |
+
with gr.Column():
|
161 |
+
textbox__xgboost_params = gr.Textbox(
|
162 |
+
interactive=True,
|
163 |
+
value=app.xgboost_params)
|
164 |
+
|
165 |
+
btn__set_xgboost_params = gr.Button("Set Params")
|
166 |
+
|
167 |
+
json_xgboost_params = gr.JSON(
|
168 |
+
value=app.xgboost_params,
|
169 |
+
**args.json_xgboost_params)
|
170 |
+
|
171 |
+
btn__set_xgboost_params.click(
|
172 |
+
app.btn__set_xgboost_params__click,
|
173 |
+
[textbox__xgboost_params],
|
174 |
+
[json_xgboost_params])
|
175 |
+
|
176 |
+
btn__train_xgboost = gr.Button("Forecast with XGBoost Model")
|
177 |
+
|
178 |
+
plot__xgboost_result = gr.Plot()
|
179 |
+
|
180 |
+
with gr.Row():
|
181 |
+
df__xgboost_result = gr.Dataframe()
|
182 |
+
file__xgboost_result = gr.File()
|
183 |
+
|
184 |
+
btn__train_xgboost.click(
|
185 |
+
app.btn__train_xgboost__click,
|
186 |
+
[],
|
187 |
+
[plot__xgboost_result,
|
188 |
+
file__xgboost_result,
|
189 |
+
df__xgboost_result])
|
190 |
+
|
191 |
+
# ------- #
|
192 |
+
# Prophet #
|
193 |
+
# ------- #
|
194 |
+
with gr.Tab('Prophet'):
|
195 |
+
gr.Markdown('Prophet')
|
196 |
+
|
197 |
+
btn__forecast_with_prophet = gr.Button(
|
198 |
+
**args.btn__forecast_with_prophet)
|
199 |
+
|
200 |
+
plot__prophet_result = gr.Plot()
|
201 |
+
|
202 |
+
with gr.Row():
|
203 |
+
df__prophet_result = gr.DataFrame()
|
204 |
+
file__prophet_result = gr.File()
|
205 |
+
|
206 |
+
btn__forecast_with_prophet.click(
|
207 |
+
app.btn__forecast_with_prophet__click,
|
208 |
+
[],
|
209 |
+
[plot__prophet_result,
|
210 |
+
file__prophet_result,
|
211 |
+
df__prophet_result]
|
212 |
+
)
|
213 |
+
|
214 |
+
# --------- #
|
215 |
+
# Operators #
|
216 |
+
# --------- #
|
217 |
+
|
218 |
+
file__historical.upload(
|
219 |
+
app.file__historical__upload,
|
220 |
+
[file__historical],
|
221 |
+
[df__table_view,
|
222 |
+
dropdown__chart_view_filter,
|
223 |
+
dropdown__seasonality_decompose,
|
224 |
+
plot__chart_view])
|
225 |
+
|
226 |
+
file__future.upload(
|
227 |
+
app.file__future__upload,
|
228 |
+
[file__future],
|
229 |
+
[df__table_view,
|
230 |
+
dropdown__chart_view_filter,
|
231 |
+
dropdown__seasonality_decompose,
|
232 |
+
plot__chart_view,
|
233 |
+
number__n_predict])
|
234 |
+
|
235 |
+
btn__fit_data.click(
|
236 |
+
app.btn__fit_data__click,
|
237 |
+
[],
|
238 |
+
[
|
239 |
+
number__n_predict,
|
240 |
+
number__window_length,
|
241 |
+
file__historical,
|
242 |
+
file__future,
|
243 |
+
btn__fit_data,
|
244 |
+
column__models,
|
245 |
+
btn__load_historical_demo,
|
246 |
+
btn__load_future_demo,
|
247 |
+
md__forecast_data_info,
|
248 |
+
])
|
249 |
+
|
250 |
+
btn__load_historical_demo.click(
|
251 |
+
app.btn__load_historical_demo__click,
|
252 |
+
[],
|
253 |
+
[df__table_view,
|
254 |
+
dropdown__chart_view_filter,
|
255 |
+
dropdown__seasonality_decompose,
|
256 |
+
plot__chart_view,]
|
257 |
+
)
|
258 |
+
|
259 |
+
btn__load_future_demo.click(
|
260 |
+
app.btn__load_future_demo__click,
|
261 |
+
[],
|
262 |
+
[df__table_view,
|
263 |
+
dropdown__chart_view_filter,
|
264 |
+
dropdown__seasonality_decompose,
|
265 |
+
plot__chart_view,
|
266 |
+
number__n_predict]
|
267 |
+
)
|
268 |
+
|
269 |
+
dropdown__chart_view_filter.change(
|
270 |
+
app.dropdown__chart_view_filter__change,
|
271 |
+
[dropdown__chart_view_filter],
|
272 |
+
[plot__chart_view]
|
273 |
+
)
|
274 |
+
|
275 |
+
demo.launch()
|
forecast_result.csv
CHANGED
@@ -1,61 +1,13 @@
|
|
1 |
datetime,y,sku
|
2 |
-
|
3 |
-
2023-
|
4 |
-
|
5 |
-
2023-
|
6 |
-
2023-
|
7 |
-
2023-
|
8 |
-
|
9 |
-
2023-
|
10 |
-
|
11 |
-
2023-
|
12 |
-
|
13 |
-
|
14 |
-
2023-07-16,27,sku-0
|
15 |
-
2023-07-23,27,sku-0
|
16 |
-
2023-07-30,27,sku-0
|
17 |
-
2023-04-09,77,sku-1
|
18 |
-
2023-04-16,78,sku-1
|
19 |
-
2023-04-23,78,sku-1
|
20 |
-
2023-04-30,79,sku-1
|
21 |
-
2023-05-07,80,sku-1
|
22 |
-
2023-05-14,80,sku-1
|
23 |
-
2023-05-21,81,sku-1
|
24 |
-
2023-05-28,82,sku-1
|
25 |
-
2023-06-04,82,sku-1
|
26 |
-
2023-06-11,83,sku-1
|
27 |
-
2023-06-18,84,sku-1
|
28 |
-
2023-06-25,84,sku-1
|
29 |
-
2023-07-02,85,sku-1
|
30 |
-
2023-07-09,86,sku-1
|
31 |
-
2023-07-16,86,sku-1
|
32 |
-
2022-12-04,0,sku-2
|
33 |
-
2022-12-11,46,sku-2
|
34 |
-
2022-12-18,0,sku-2
|
35 |
-
2022-12-25,46,sku-2
|
36 |
-
2023-01-01,0,sku-2
|
37 |
-
2023-01-08,53,sku-2
|
38 |
-
2023-01-15,0,sku-2
|
39 |
-
2023-01-22,46,sku-2
|
40 |
-
2023-01-29,0,sku-2
|
41 |
-
2023-02-05,46,sku-2
|
42 |
-
2023-02-12,48,sku-2
|
43 |
-
2023-02-19,0,sku-2
|
44 |
-
2023-02-26,50,sku-2
|
45 |
-
2023-03-05,0,sku-2
|
46 |
-
2023-03-12,49,sku-2
|
47 |
-
2023-04-23,0,sku-3
|
48 |
-
2023-04-30,0,sku-3
|
49 |
-
2023-05-07,17,sku-3
|
50 |
-
2023-05-14,0,sku-3
|
51 |
-
2023-05-21,0,sku-3
|
52 |
-
2023-05-28,20,sku-3
|
53 |
-
2023-06-04,0,sku-3
|
54 |
-
2023-06-11,18,sku-3
|
55 |
-
2023-06-18,0,sku-3
|
56 |
-
2023-06-25,0,sku-3
|
57 |
-
2023-07-02,19,sku-3
|
58 |
-
2023-07-09,0,sku-3
|
59 |
-
2023-07-16,0,sku-3
|
60 |
-
2023-07-23,19,sku-3
|
61 |
-
2023-07-30,0,sku-3
|
|
|
1 |
datetime,y,sku
|
2 |
+
2022-12-01,1261.881563271306,Item_A
|
3 |
+
2023-01-01,1238.1241261473267,Item_A
|
4 |
+
2022-12-01,67.98226881358575,Item_B
|
5 |
+
2023-01-01,54.089203200916906,Item_B
|
6 |
+
2023-01-01,189.0,Item_C
|
7 |
+
2023-02-01,89.0,Item_C
|
8 |
+
2022-12-01,574.0,Item_D
|
9 |
+
2023-01-01,590.0,Item_D
|
10 |
+
2022-12-01,562.7574409930887,Item_E
|
11 |
+
2023-01-01,392.3652129393938,Item_E
|
12 |
+
2022-12-04,0.0,Item_F
|
13 |
+
2022-12-11,0.0,Item_F
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gr_app/GradioApp.py
CHANGED
@@ -31,14 +31,28 @@ class GradioApp():
|
|
31 |
'sku': self.skus,
|
32 |
'best_model': '',
|
33 |
'characteristic': '',
|
34 |
-
|
|
|
|
|
35 |
}
|
36 |
)
|
|
|
37 |
|
38 |
def __set_forecast(self, forecast: pd.DataFrame):
|
|
|
39 |
self.forecast = forecast.set_index('datetime')
|
40 |
self.forecast.index = pd.to_datetime(self.forecast.index)
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
def __set_model(self, model_df):
|
43 |
if (self.skus is None):
|
44 |
raise gr.Error(
|
@@ -96,9 +110,12 @@ class GradioApp():
|
|
96 |
|
97 |
def btn_model_selection__click(self):
|
98 |
print('btn_model_selection__click')
|
|
|
|
|
|
|
99 |
for sku in self.skus:
|
100 |
print('Selecting model ', sku)
|
101 |
-
data =
|
102 |
|
103 |
# ----------------- #
|
104 |
# Feature Selection #
|
@@ -111,11 +128,28 @@ class GradioApp():
|
|
111 |
|
112 |
self.model_data.loc[self.model_data['sku'] ==
|
113 |
sku, 'best_model'] = res['forecast'][0]['model']
|
114 |
-
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
return (self.update__df_model_data(),
|
118 |
-
self.update__file_model_data()
|
|
|
|
|
119 |
|
120 |
def slider_forecast_horizon__update(self, slider):
|
121 |
# print('slider_forecast_horizon__update ', slider)
|
@@ -148,12 +182,13 @@ class GradioApp():
|
|
148 |
print(model, characteristic)
|
149 |
res = self.forecaster.forecast(
|
150 |
data, self.forecast_horizon, model=model, run_test=False, characteristic=characteristic)
|
|
|
151 |
forecast = pd.DataFrame(
|
152 |
res['forecast'][0]['forecast'], columns=['datetime', 'y'])
|
153 |
forecast['sku'] = sku
|
154 |
forecasts.append(forecast)
|
155 |
|
156 |
-
self.
|
157 |
|
158 |
return (self.update__df_forecast(),
|
159 |
self.update__file_forecast(),
|
@@ -168,22 +203,27 @@ class GradioApp():
|
|
168 |
def dropdown_forecast__select(self, sku):
|
169 |
return self.update__plot_forecast(sku)
|
170 |
|
|
|
|
|
|
|
171 |
# ======== #
|
172 |
# Updaters #
|
173 |
# ======== #
|
174 |
|
175 |
def update__file_model_data(self):
|
176 |
self.model_data.to_csv('./best_models.csv', index=False)
|
177 |
-
return gr.File
|
178 |
|
179 |
def update__df_model_data(self):
|
180 |
-
return gr.
|
181 |
|
182 |
def update__df_ts_data(self):
|
183 |
-
return gr.
|
184 |
|
185 |
def update__df_forecast(self):
|
186 |
-
|
|
|
|
|
187 |
|
188 |
def update__slider_forecast_horizon(self):
|
189 |
skus = self.skus
|
@@ -195,27 +235,30 @@ class GradioApp():
|
|
195 |
# max_horizon = int(
|
196 |
# self.ts_data[self.ts_data['sku'] == sku].shape[0] * 0.2)
|
197 |
|
198 |
-
return gr.Slider
|
199 |
|
200 |
def update__file_forecast(self):
|
201 |
reset_index(self.forecast).to_csv('./forecast_result.csv', index=False)
|
202 |
-
return gr.File
|
203 |
|
204 |
def update__md_ts_data_info(self):
|
205 |
md = f'''
|
206 |
### Data Description
|
207 |
-
Columns: {self.ts_data.columns.tolist()}
|
208 |
-
Size: {[str(sku) + '
|
209 |
'''
|
210 |
-
return gr.Markdown
|
211 |
|
212 |
def update__dropdown_ts_data(self):
|
213 |
# print(type(self.skus))
|
214 |
-
return gr.Dropdown
|
215 |
|
216 |
def update__dropdown_forecast(self):
|
217 |
skus = self.forecast['sku'].unique().tolist()
|
218 |
-
return gr.Dropdown
|
|
|
|
|
|
|
219 |
|
220 |
def update__plot_ts_data(self, skus):
|
221 |
# print('update__plot_ts_data')
|
@@ -227,17 +270,58 @@ class GradioApp():
|
|
227 |
ax.legend(loc='upper left')
|
228 |
fig.tight_layout()
|
229 |
|
230 |
-
return gr.Plot
|
231 |
|
232 |
def update__plot_forecast(self, sku):
|
233 |
fig, ax = plt.subplots(figsize=(12, 4))
|
234 |
|
235 |
-
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
ax.plot(self.forecast[self.forecast['sku']
|
238 |
== sku]['y'], label=f'{sku} - forecast')
|
239 |
|
240 |
ax.legend(loc='upper left')
|
241 |
fig.tight_layout()
|
242 |
|
243 |
-
return gr.Plot
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
'sku': self.skus,
|
32 |
'best_model': '',
|
33 |
'characteristic': '',
|
34 |
+
'predictability': '',
|
35 |
+
'RMSE': '',
|
36 |
+
'Intermittent Scores':''
|
37 |
}
|
38 |
)
|
39 |
+
print('[__set_ts_data] End')
|
40 |
|
41 |
def __set_forecast(self, forecast: pd.DataFrame):
|
42 |
+
print('__set_forecast')
|
43 |
self.forecast = forecast.set_index('datetime')
|
44 |
self.forecast.index = pd.to_datetime(self.forecast.index)
|
45 |
|
46 |
+
def __set_model_selection_res(self, model_selection_reses: pd.DataFrame):
|
47 |
+
'''
|
48 |
+
self.model_selection_res will be identical to self.forecast
|
49 |
+
keep tracking on this just to visualize the model selection result
|
50 |
+
'''
|
51 |
+
print('__set_model_selection_res')
|
52 |
+
self.model_selection_res = model_selection_reses
|
53 |
+
# self.model_selection_res = pd.to_datetime(
|
54 |
+
# self.model_selection_res.index)
|
55 |
+
|
56 |
def __set_model(self, model_df):
|
57 |
if (self.skus is None):
|
58 |
raise gr.Error(
|
|
|
110 |
|
111 |
def btn_model_selection__click(self):
|
112 |
print('btn_model_selection__click')
|
113 |
+
ts_data = reset_index(self.ts_data)
|
114 |
+
|
115 |
+
model_selection_reses = []
|
116 |
for sku in self.skus:
|
117 |
print('Selecting model ', sku)
|
118 |
+
data = ts_data[ts_data['sku'] == sku]
|
119 |
|
120 |
# ----------------- #
|
121 |
# Feature Selection #
|
|
|
128 |
|
129 |
self.model_data.loc[self.model_data['sku'] ==
|
130 |
sku, 'best_model'] = res['forecast'][0]['model']
|
131 |
+
|
132 |
+
self.model_data.loc[self.model_data['sku'] ==
|
133 |
+
sku, 'predictability'] = res['predictability']
|
134 |
+
|
135 |
+
self.model_data.loc[self.model_data['sku'] ==
|
136 |
+
sku, 'RMSE'] = round(res['forecast'][0]['RMSE'], 2)
|
137 |
+
|
138 |
+
self.model_data.loc[self.model_data['sku'] ==
|
139 |
+
sku, 'Intermittent Scores'] = str(res['forecast'][0]['interm_scores'])
|
140 |
+
|
141 |
+
model_selection_res = res['forecast'][0]['test'].drop(
|
142 |
+
columns='truth').rename(columns={'test': 'y'})
|
143 |
+
|
144 |
+
model_selection_res['sku'] = sku
|
145 |
+
model_selection_reses.append(model_selection_res)
|
146 |
+
|
147 |
+
self.__set_model_selection_res(pd.concat(model_selection_reses))
|
148 |
|
149 |
return (self.update__df_model_data(),
|
150 |
+
self.update__file_model_data(),
|
151 |
+
self.update__accordion_model_selection(),
|
152 |
+
self.update__dropdown_model_selection())
|
153 |
|
154 |
def slider_forecast_horizon__update(self, slider):
|
155 |
# print('slider_forecast_horizon__update ', slider)
|
|
|
182 |
print(model, characteristic)
|
183 |
res = self.forecaster.forecast(
|
184 |
data, self.forecast_horizon, model=model, run_test=False, characteristic=characteristic)
|
185 |
+
print(res)
|
186 |
forecast = pd.DataFrame(
|
187 |
res['forecast'][0]['forecast'], columns=['datetime', 'y'])
|
188 |
forecast['sku'] = sku
|
189 |
forecasts.append(forecast)
|
190 |
|
191 |
+
self.__set_forecast(pd.concat(forecasts))
|
192 |
|
193 |
return (self.update__df_forecast(),
|
194 |
self.update__file_forecast(),
|
|
|
203 |
def dropdown_forecast__select(self, sku):
|
204 |
return self.update__plot_forecast(sku)
|
205 |
|
206 |
+
def dropdown_model_selection__select(self, sku):
|
207 |
+
return self.update__plot_model_selection(sku)
|
208 |
+
|
209 |
# ======== #
|
210 |
# Updaters #
|
211 |
# ======== #
|
212 |
|
213 |
def update__file_model_data(self):
|
214 |
self.model_data.to_csv('./best_models.csv', index=False)
|
215 |
+
return gr.File(value='./best_models.csv')
|
216 |
|
217 |
def update__df_model_data(self):
|
218 |
+
return gr.Dataframe(value=self.model_data)
|
219 |
|
220 |
def update__df_ts_data(self):
|
221 |
+
return gr.Dataframe(value=reset_index(self.ts_data))
|
222 |
|
223 |
def update__df_forecast(self):
|
224 |
+
print('upupdate__df_forecastda')
|
225 |
+
print(self.forecast)
|
226 |
+
return gr.Dataframe(value = reset_index(self.forecast))
|
227 |
|
228 |
def update__slider_forecast_horizon(self):
|
229 |
skus = self.skus
|
|
|
235 |
# max_horizon = int(
|
236 |
# self.ts_data[self.ts_data['sku'] == sku].shape[0] * 0.2)
|
237 |
|
238 |
+
return gr.Slider(maximum=max_horizon)
|
239 |
|
240 |
def update__file_forecast(self):
|
241 |
reset_index(self.forecast).to_csv('./forecast_result.csv', index=False)
|
242 |
+
return gr.File(value='./forecast_result.csv')
|
243 |
|
244 |
def update__md_ts_data_info(self):
|
245 |
md = f'''
|
246 |
### Data Description
|
247 |
+
Columns: **{reset_index(self.ts_data).columns.tolist()}**
|
248 |
+
Size: {' | '.join([str(sku) + ' : **' + str(self.ts_data[self.ts_data["sku"] == sku].shape[0]) + '**' for sku in self.skus])}
|
249 |
'''
|
250 |
+
return gr.Markdown(md)
|
251 |
|
252 |
def update__dropdown_ts_data(self):
|
253 |
# print(type(self.skus))
|
254 |
+
return gr.Dropdown(choices=self.skus)
|
255 |
|
256 |
def update__dropdown_forecast(self):
|
257 |
skus = self.forecast['sku'].unique().tolist()
|
258 |
+
return gr.Dropdown(choices=skus)
|
259 |
+
|
260 |
+
def update__dropdown_model_selection(self):
|
261 |
+
return gr.Dropdown(choices=self.skus)
|
262 |
|
263 |
def update__plot_ts_data(self, skus):
|
264 |
# print('update__plot_ts_data')
|
|
|
270 |
ax.legend(loc='upper left')
|
271 |
fig.tight_layout()
|
272 |
|
273 |
+
return gr.Plot(fig)
|
274 |
|
275 |
def update__plot_forecast(self, sku):
|
276 |
fig, ax = plt.subplots(figsize=(12, 4))
|
277 |
|
278 |
+
'''
|
279 |
+
A trick been used here,
|
280 |
+
to connect the plotting lines, for the historical part,
|
281 |
+
have to concat with the 1st data in the forecasting result.
|
282 |
+
Because the forecasting result already have date time index,
|
283 |
+
using head(1) to get the first element of the forecasting result
|
284 |
+
'''
|
285 |
+
|
286 |
+
ax.plot(pd.concat(
|
287 |
+
[
|
288 |
+
self.ts_data[self.ts_data['sku'] == sku],
|
289 |
+
self.forecast[self.forecast['sku'] == sku].head(1)
|
290 |
+
])['y'],
|
291 |
+
|
292 |
+
label=f'{sku} - historical')
|
293 |
+
|
294 |
ax.plot(self.forecast[self.forecast['sku']
|
295 |
== sku]['y'], label=f'{sku} - forecast')
|
296 |
|
297 |
ax.legend(loc='upper left')
|
298 |
fig.tight_layout()
|
299 |
|
300 |
+
return gr.Plot(fig)
|
301 |
+
|
302 |
+
def update__plot_model_selection(self, sku):
|
303 |
+
fig, ax = plt.subplots(figsize=(12, 4))
|
304 |
+
|
305 |
+
'''
|
306 |
+
Reason need to filter out the last index is - sometimes IDSC model cannot
|
307 |
+
forecast the full required data size. Have to crop out the tail part.
|
308 |
+
'''
|
309 |
+
idx = self.model_selection_res[self.model_selection_res['sku'] == sku].index
|
310 |
+
|
311 |
+
ax.plot(self.ts_data[
|
312 |
+
(self.ts_data['sku'] == sku) &
|
313 |
+
(self.ts_data.index <= idx[-1])
|
314 |
+
]['y'], label=f'{sku} - ground truth')
|
315 |
+
|
316 |
+
ax.plot(self.model_selection_res[self.model_selection_res['sku']
|
317 |
+
== sku]['y'], label=f'{sku} - model result')
|
318 |
+
|
319 |
+
ax.axvline(x=idx[0], ymin=0.05, ymax=0.95, ls='--')
|
320 |
+
|
321 |
+
ax.legend(loc='upper left')
|
322 |
+
fig.tight_layout()
|
323 |
+
|
324 |
+
return gr.Plot(fig)
|
325 |
+
|
326 |
+
def update__accordion_model_selection(self):
|
327 |
+
return gr.Accordion(visible=True)
|
gr_app/__init__.py
CHANGED
@@ -1 +0,0 @@
|
|
1 |
-
|
|
|
|
gr_app/__pycache__/GradioApp.cpython-310.pyc
CHANGED
Binary files a/gr_app/__pycache__/GradioApp.cpython-310.pyc and b/gr_app/__pycache__/GradioApp.cpython-310.pyc differ
|
|
gr_app/__pycache__/GradioApp.cpython-311.pyc
CHANGED
Binary files a/gr_app/__pycache__/GradioApp.cpython-311.pyc and b/gr_app/__pycache__/GradioApp.cpython-311.pyc differ
|
|
gr_app/__pycache__/GradioApp.cpython-39.pyc
CHANGED
Binary files a/gr_app/__pycache__/GradioApp.cpython-39.pyc and b/gr_app/__pycache__/GradioApp.cpython-39.pyc differ
|
|
gr_app/__pycache__/__init__.cpython-310.pyc
CHANGED
Binary files a/gr_app/__pycache__/__init__.cpython-310.pyc and b/gr_app/__pycache__/__init__.cpython-310.pyc differ
|
|
gr_app/__pycache__/__init__.cpython-311.pyc
CHANGED
Binary files a/gr_app/__pycache__/__init__.cpython-311.pyc and b/gr_app/__pycache__/__init__.cpython-311.pyc differ
|
|
gr_app/__pycache__/__init__.cpython-39.pyc
CHANGED
Binary files a/gr_app/__pycache__/__init__.cpython-39.pyc and b/gr_app/__pycache__/__init__.cpython-39.pyc differ
|
|
gr_app/__pycache__/args.cpython-310.pyc
CHANGED
Binary files a/gr_app/__pycache__/args.cpython-310.pyc and b/gr_app/__pycache__/args.cpython-310.pyc differ
|
|
gr_app/__pycache__/args.cpython-311.pyc
CHANGED
Binary files a/gr_app/__pycache__/args.cpython-311.pyc and b/gr_app/__pycache__/args.cpython-311.pyc differ
|
|
gr_app/__pycache__/args.cpython-39.pyc
ADDED
Binary file (320 Bytes). View file
|
|
gr_app/__pycache__/helpers.cpython-310.pyc
CHANGED
Binary files a/gr_app/__pycache__/helpers.cpython-310.pyc and b/gr_app/__pycache__/helpers.cpython-310.pyc differ
|
|
gr_app/args.py
CHANGED
@@ -26,3 +26,7 @@ dropdown_ts_data = {
|
|
26 |
dropdown_forecast = {
|
27 |
'interactive': True
|
28 |
}
|
|
|
|
|
|
|
|
|
|
26 |
dropdown_forecast = {
|
27 |
'interactive': True
|
28 |
}
|
29 |
+
|
30 |
+
dropdown_model_selection = {
|
31 |
+
'interactive': True
|
32 |
+
}
|
gr_app/helpers.py
CHANGED
@@ -3,5 +3,5 @@ import pandas as pd
|
|
3 |
|
4 |
def reset_index(_df: pd.DataFrame):
|
5 |
df = _df.reset_index()
|
6 |
-
df['datetime'] =
|
7 |
return df
|
|
|
3 |
|
4 |
def reset_index(_df: pd.DataFrame):
|
5 |
df = _df.reset_index()
|
6 |
+
df['datetime'] =_df.index.astype(str)
|
7 |
return df
|
gr_app2/__init__.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
from .gr_app import GradioApp
|
gr_app2/__pycache__/GradioApp.cpython-310.pyc
ADDED
Binary file (660 Bytes). View file
|
|
gr_app2/__pycache__/__init__.cpython-310.pyc
ADDED
Binary file (205 Bytes). View file
|
|
gr_app2/__pycache__/args.cpython-310.pyc
ADDED
Binary file (1.77 kB). View file
|
|
gr_app2/__pycache__/gr_app.cpython-310.pyc
ADDED
Binary file (14.4 kB). View file
|
|
gr_app2/args.py
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
block = {
|
2 |
+
'css':
|
3 |
+
'''
|
4 |
+
footer {visibility: hidden}
|
5 |
+
|
6 |
+
.json_xgboost_params {
|
7 |
+
max-height: 200px;
|
8 |
+
overflow: scroll !important;
|
9 |
+
}
|
10 |
+
'''
|
11 |
+
}
|
12 |
+
|
13 |
+
md__title = {
|
14 |
+
'value':
|
15 |
+
"""
|
16 |
+
# Sentient.io - Time Series Forecasting
|
17 |
+
---
|
18 |
+
"""
|
19 |
+
}
|
20 |
+
|
21 |
+
md__fit_ready = {
|
22 |
+
'value':
|
23 |
+
"""
|
24 |
+
# Data Fitted...
|
25 |
+
Ready for forecasting
|
26 |
+
"""
|
27 |
+
}
|
28 |
+
|
29 |
+
file__historical = {
|
30 |
+
'label': 'Historical Data',
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
md__future = {
|
35 |
+
'value': "Optional. Future data's columns must within historical data's columns, length of future data will determine the N Predict, which is the max model's predictability.",
|
36 |
+
}
|
37 |
+
|
38 |
+
file__future = {
|
39 |
+
'label': 'Future Data (optional)',
|
40 |
+
|
41 |
+
'show_label': True
|
42 |
+
}
|
43 |
+
|
44 |
+
number__n_predict = {
|
45 |
+
'label': 'N Predict',
|
46 |
+
'info': 'Number of future data point to predict, recommend set to 1 seasonal period (max 20). If future data is provided, N Predict will set to exact length of future data.',
|
47 |
+
'interactive': True,
|
48 |
+
'precision': 0
|
49 |
+
}
|
50 |
+
|
51 |
+
number__window_length = {
|
52 |
+
'label': 'Window Length',
|
53 |
+
'info': 'Window length for sliding window to build feature sets for prediction. Recommend set window length same as auto correlation (AR) lags. But feel free to adjust it.',
|
54 |
+
'interactive': True,
|
55 |
+
'precision': 0
|
56 |
+
}
|
57 |
+
|
58 |
+
textbox__target_column = {
|
59 |
+
'label': 'Target Column',
|
60 |
+
'info': 'Please provide the target column for forecasting. It must be one of the column in uploaded data. All other columns will be used as exogenous data.',
|
61 |
+
'interactive': True,
|
62 |
+
}
|
63 |
+
|
64 |
+
df__table_view = {}
|
65 |
+
|
66 |
+
|
67 |
+
btn__fit_data = {
|
68 |
+
'value': 'Fit Data To Models',
|
69 |
+
'variant': 'primary'
|
70 |
+
}
|
71 |
+
|
72 |
+
btn__forecast_with_prophet = {
|
73 |
+
'value': 'Forecast with Prophet',
|
74 |
+
'variant': 'primary'
|
75 |
+
}
|
76 |
+
|
77 |
+
json_xgboost_params = {
|
78 |
+
'elem_classes': 'json_xgboost_params'
|
79 |
+
}
|
gr_app2/gr_app.py
ADDED
@@ -0,0 +1,500 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import json
|
2 |
+
import io
|
3 |
+
import os
|
4 |
+
import tempfile
|
5 |
+
import datetime
|
6 |
+
|
7 |
+
import gradio as gr
|
8 |
+
import pandas as pd
|
9 |
+
import matplotlib.pyplot as plt
|
10 |
+
import seaborn as sns
|
11 |
+
import numpy as np
|
12 |
+
from sktime.utils.plotting import plot_series
|
13 |
+
from statsmodels.tsa.seasonal import seasonal_decompose
|
14 |
+
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
|
15 |
+
|
16 |
+
from src.forecaster import Forecaster
|
17 |
+
from src.forecaster.models import XGBoost
|
18 |
+
from src.analyser import Analyser
|
19 |
+
from src.idsc import IDSC
|
20 |
+
|
21 |
+
from src.forecaster.models import ProphetForecaster
|
22 |
+
|
23 |
+
|
24 |
+
class GradioApp():
|
25 |
+
def __init__(
|
26 |
+
self
|
27 |
+
) -> None:
|
28 |
+
self.forecaster = Forecaster()
|
29 |
+
self.analyser = Analyser()
|
30 |
+
self.idsc = IDSC()
|
31 |
+
|
32 |
+
self.historical_demo_data = 'data/multivariate/demo_historical.csv'
|
33 |
+
self.future_demo_data = 'data/multivariate/demo_future.csv'
|
34 |
+
|
35 |
+
self.data: pd.DataFrame = None
|
36 |
+
self.n_predict = 3
|
37 |
+
self.window_length = 7
|
38 |
+
self.target_column = 'y'
|
39 |
+
self.exog_columns = []
|
40 |
+
|
41 |
+
# Define if the model's result is going to be rounded
|
42 |
+
self.round_results = True
|
43 |
+
|
44 |
+
# Delete old temp files oder than n minutes
|
45 |
+
self.delete_file_old_than_n_minutes = 10
|
46 |
+
|
47 |
+
self.plot_figsize_full_screen = (20, 4)
|
48 |
+
|
49 |
+
# -------------------- #
|
50 |
+
# Model Related Params #
|
51 |
+
# -------------------- #
|
52 |
+
|
53 |
+
# XGBoost #
|
54 |
+
self.xgboost = XGBoost()
|
55 |
+
self.xgboost_cv = False
|
56 |
+
self.xgboost_params = self.xgboost.cv_params
|
57 |
+
self.xgboost_strategy = 'recursive'
|
58 |
+
self.xgboost_forecast = None
|
59 |
+
self.xgboost_test = None
|
60 |
+
print('Init Gradio app')
|
61 |
+
|
62 |
+
# Prophet #
|
63 |
+
self.prophet = ProphetForecaster()
|
64 |
+
self.prophet__seasonality_mode = 'multiplicative'
|
65 |
+
self.prophet__add_country_holidays = {'country_name': 'Singapore'}
|
66 |
+
self.prophet__yearly_seasonality = True
|
67 |
+
self.prophet__weekly_seasonality = False
|
68 |
+
self.prophet__daily_seasonality = False
|
69 |
+
|
70 |
+
def checkbox__round_results__change(self, val):
|
71 |
+
self.round_results = val
|
72 |
+
|
73 |
+
def textbox__target_column__change(self, val):
|
74 |
+
print('Updating textbox__target_column:', val)
|
75 |
+
self.target_column = val
|
76 |
+
|
77 |
+
def btn__profiling__click(self):
|
78 |
+
self.analyser.fit(self.data)
|
79 |
+
self.analyser.profiling()
|
80 |
+
|
81 |
+
return (
|
82 |
+
self.update__md__profiling(),
|
83 |
+
self.update__plot__changepoints())
|
84 |
+
|
85 |
+
def btn__plot_correlation__click(self):
|
86 |
+
return (self.update__plot__correlation())
|
87 |
+
|
88 |
+
def file__historical__upload(
|
89 |
+
self,
|
90 |
+
file
|
91 |
+
):
|
92 |
+
self.data = pd.read_csv(
|
93 |
+
file.name,
|
94 |
+
index_col='datetime',
|
95 |
+
parse_dates=['datetime'])
|
96 |
+
|
97 |
+
print('[file__historical__upload]')
|
98 |
+
|
99 |
+
return (
|
100 |
+
self.update__df__table_view(),
|
101 |
+
self.update__dropdown__chart_view_filter(),
|
102 |
+
self.update__dropdown__seasonality_decompose(),
|
103 |
+
self.update__plot__chart_view())
|
104 |
+
|
105 |
+
def file__future__upload(
|
106 |
+
self,
|
107 |
+
file
|
108 |
+
):
|
109 |
+
self.__handle_future_data_upload(file.name)
|
110 |
+
|
111 |
+
return (
|
112 |
+
self.update__df__table_view(),
|
113 |
+
self.update__dropdown__chart_view_filter(),
|
114 |
+
self.update__dropdown__seasonality_decompose(),
|
115 |
+
self.update__plot__chart_view(),
|
116 |
+
self.update__number__n_predict())
|
117 |
+
|
118 |
+
def btn__load_future_demo__click(
|
119 |
+
self
|
120 |
+
):
|
121 |
+
self.__handle_future_data_upload(self.future_demo_data)
|
122 |
+
|
123 |
+
# [df__table_view, number__n_predict]
|
124 |
+
|
125 |
+
return (
|
126 |
+
self.update__df__table_view(),
|
127 |
+
self.update__dropdown__chart_view_filter(),
|
128 |
+
self.update__dropdown__seasonality_decompose(),
|
129 |
+
self.update__plot__chart_view(),
|
130 |
+
self.update__number__n_predict())
|
131 |
+
|
132 |
+
def __handle_future_data_upload(
|
133 |
+
self,
|
134 |
+
path
|
135 |
+
):
|
136 |
+
data = pd.read_csv(
|
137 |
+
path,
|
138 |
+
index_col='datetime',
|
139 |
+
parse_dates=['datetime'])
|
140 |
+
self.exog_columns = data.columns.tolist()
|
141 |
+
self.n_predict = len(data)
|
142 |
+
|
143 |
+
print(
|
144 |
+
f"[file__future__upload] with {self.exog_columns} columns")
|
145 |
+
|
146 |
+
self.data = pd.concat(
|
147 |
+
[self.data, data],
|
148 |
+
axis=0)
|
149 |
+
|
150 |
+
def number__n_predict__change(
|
151 |
+
self,
|
152 |
+
val
|
153 |
+
):
|
154 |
+
print(f'[number__n_predict__change], {val}')
|
155 |
+
self.n_predict = val
|
156 |
+
|
157 |
+
def number__window_length__change(
|
158 |
+
self,
|
159 |
+
val):
|
160 |
+
print(f'[number__window_length__change], {val}')
|
161 |
+
self.window_length = val
|
162 |
+
|
163 |
+
def btn__fit_data__click(
|
164 |
+
self):
|
165 |
+
data = self.data.drop(columns=self.exog_columns).dropna(how='any')
|
166 |
+
|
167 |
+
self.forecaster.fit(
|
168 |
+
data,
|
169 |
+
target_col=self.target_column,
|
170 |
+
n_predict=self.n_predict,
|
171 |
+
window_length=self.window_length,
|
172 |
+
exog=None if len(
|
173 |
+
self.exog_columns) == 0 else self.data[self.exog_columns])
|
174 |
+
return (
|
175 |
+
gr.Number(interactive=False), # number__n_predict
|
176 |
+
gr.Number(interactive=False), # number__window_length
|
177 |
+
gr.File(interactive=False), # file__historical
|
178 |
+
gr.File(interactive=False), # file__future
|
179 |
+
gr.Button(visible=False), # btn__fit_data
|
180 |
+
gr.Column(visible=True), # column__models
|
181 |
+
gr.Button(visible=False), # btn__load_historical_demo
|
182 |
+
gr.Button(visible=False), # btn__load_future_demo
|
183 |
+
self.update__md__forecast_data_info()
|
184 |
+
)
|
185 |
+
|
186 |
+
def btn__load_historical_demo__click(
|
187 |
+
self
|
188 |
+
):
|
189 |
+
self.data = pd.read_csv(
|
190 |
+
self.historical_demo_data,
|
191 |
+
index_col='datetime',
|
192 |
+
parse_dates=['datetime'])
|
193 |
+
|
194 |
+
return (
|
195 |
+
self.update__df__table_view(),
|
196 |
+
self.update__dropdown__chart_view_filter(),
|
197 |
+
self.update__dropdown__seasonality_decompose(),
|
198 |
+
self.update__plot__chart_view()
|
199 |
+
)
|
200 |
+
|
201 |
+
def dropdown__chart_view_filter__change(self, options):
|
202 |
+
return (self.update__plot__chart_view(options))
|
203 |
+
|
204 |
+
def dropdown__seasonality_decompose__change(self, col):
|
205 |
+
return (
|
206 |
+
self.update__plot__seasonality_decompose(col),
|
207 |
+
self.update__plot_acg_pacf(col))
|
208 |
+
|
209 |
+
# ------------------------ #
|
210 |
+
# XGboost Model Operations #
|
211 |
+
# ------------------------ #
|
212 |
+
|
213 |
+
def btn__train_xgboost__click(self):
|
214 |
+
(test, forecast, best_params) = self.xgboost.fit_predict(
|
215 |
+
y=self.forecaster.y,
|
216 |
+
y_train=self.forecaster.y_train,
|
217 |
+
window_length=self.forecaster.window_length,
|
218 |
+
fh=self.forecaster.fh,
|
219 |
+
fh_test=self.forecaster.fh_test,
|
220 |
+
params=self.xgboost_params,
|
221 |
+
X=self.forecaster.X,
|
222 |
+
X_train=self.forecaster.X_train,
|
223 |
+
X_test=self.forecaster.X_test,
|
224 |
+
X_future=self.forecaster.X_future
|
225 |
+
)
|
226 |
+
|
227 |
+
print(test, forecast, best_params)
|
228 |
+
|
229 |
+
self.xgboost_forecast = forecast
|
230 |
+
self.xgboost_test = test
|
231 |
+
|
232 |
+
return (
|
233 |
+
self.update__plot__xgboost_result(test, forecast),
|
234 |
+
self.update__file__xgboost_result(),
|
235 |
+
self.update__df__xgboost_result())
|
236 |
+
|
237 |
+
def btn__set_xgboost_params__click(self, text):
|
238 |
+
params = json.loads(text.replace("'", '"'))
|
239 |
+
self.xgboost_params = params
|
240 |
+
|
241 |
+
return (
|
242 |
+
self.update__json_xgboost_params()
|
243 |
+
)
|
244 |
+
|
245 |
+
def checkbox__xgboost_round__change(self, val):
|
246 |
+
self.xgboost.round_result = val
|
247 |
+
|
248 |
+
# ----------------------------------- #
|
249 |
+
# Prophet Model Operations & Updaters #
|
250 |
+
# ----------------------------------- #
|
251 |
+
|
252 |
+
def btn__forecast_with_prophet__click(self):
|
253 |
+
self.prophet.fit_predict(
|
254 |
+
self.forecaster.y_train,
|
255 |
+
self.forecaster.y,
|
256 |
+
self.forecaster.fh,
|
257 |
+
self.forecaster.fh_test,
|
258 |
+
self.forecaster.period,
|
259 |
+
self.forecaster.freq,
|
260 |
+
X=self.forecaster.exog,
|
261 |
+
seasonality_mode=self.prophet__seasonality_mode,
|
262 |
+
add_country_holidays=self.prophet__add_country_holidays,
|
263 |
+
yearly_seasonality=self.prophet__yearly_seasonality,
|
264 |
+
weekly_seasonality=self.prophet__weekly_seasonality,
|
265 |
+
daily_seasonality=self.prophet__daily_seasonality,
|
266 |
+
round_val=self.round_results)
|
267 |
+
|
268 |
+
return (
|
269 |
+
self.update__plot__prophet_result(),
|
270 |
+
self.update__file__prophet_result(),
|
271 |
+
self.update__df__prophet_result())
|
272 |
+
|
273 |
+
def update__plot__prophet_result(self):
|
274 |
+
fig, ax = plt.subplots(figsize=self.plot_figsize_full_screen)
|
275 |
+
|
276 |
+
plot_series(
|
277 |
+
self.forecaster.y_train[-2 * self.forecaster.period:],
|
278 |
+
self.forecaster.y_test,
|
279 |
+
self.prophet.predict,
|
280 |
+
self.prophet.forecast,
|
281 |
+
pred_interval=self.prophet.forecast_interval,
|
282 |
+
labels=['Train', 'Test', 'Predicted - Test', 'Forecast'],
|
283 |
+
ax=ax)
|
284 |
+
|
285 |
+
ax.set_title('Prophet Forecast Result')
|
286 |
+
ax.legend(loc='upper left')
|
287 |
+
fig.tight_layout()
|
288 |
+
|
289 |
+
return gr.Plot(fig)
|
290 |
+
|
291 |
+
def update__file__prophet_result(self):
|
292 |
+
prophet_forecast_df = pd.DataFrame(self.prophet.forecast)
|
293 |
+
path = self.__create_temp_csv_file(prophet_forecast_df)
|
294 |
+
return gr.File(path)
|
295 |
+
|
296 |
+
def update__df__prophet_result(self):
|
297 |
+
prophet_forecast_df = self.prophet.forecast.reset_index()
|
298 |
+
return gr.Dataframe(value=prophet_forecast_df)
|
299 |
+
|
300 |
+
# =============================== #
|
301 |
+
# || Gradio Component Updaters || #
|
302 |
+
# =============================== #
|
303 |
+
|
304 |
+
def update__plot__changepoints(self):
|
305 |
+
fig, axs = plt.subplots(2, 1, figsize=(20, 8))
|
306 |
+
|
307 |
+
axs[0].plot(self.data[['y']])
|
308 |
+
|
309 |
+
axs[0].text(self.data.index[0],
|
310 |
+
axs[0].get_ylim()[1]*0.9,
|
311 |
+
self.analyser.quantity_predictability[0],
|
312 |
+
fontsize=20)
|
313 |
+
|
314 |
+
for i, p in enumerate(self.analyser.quantity_change_points):
|
315 |
+
axs[0].axvline(x=p)
|
316 |
+
axs[0].text(p,
|
317 |
+
axs[0].get_ylim()[1]*0.9,
|
318 |
+
self.analyser.quantity_predictability[i+1],
|
319 |
+
fontsize=20)
|
320 |
+
|
321 |
+
axs[1].plot(self.data[['y']])
|
322 |
+
|
323 |
+
axs[1].text(self.data.index[0],
|
324 |
+
axs[1].get_ylim()[1]*0.9,
|
325 |
+
self.analyser.intermittent_predictability[0],
|
326 |
+
fontsize=20)
|
327 |
+
|
328 |
+
for i, p in enumerate(self.analyser.intermittent_change_points):
|
329 |
+
axs[1].axvline(x=p)
|
330 |
+
axs[1].text(p,
|
331 |
+
axs[1].get_ylim()[1]*0.9,
|
332 |
+
self.analyser.intermittent_predictability[i+1],
|
333 |
+
fontsize=20)
|
334 |
+
|
335 |
+
axs[0].set_title('Quantity Change Points & Predictability')
|
336 |
+
axs[1].set_title('Intermittent Change Points & Predictability')
|
337 |
+
|
338 |
+
fig.tight_layout()
|
339 |
+
|
340 |
+
return gr.Plot(fig)
|
341 |
+
|
342 |
+
def update__md__profiling(self):
|
343 |
+
|
344 |
+
return (f"""
|
345 |
+
\n### Data Characteristic:
|
346 |
+
\n # {self.analyser.characteristic}
|
347 |
+
\n ---
|
348 |
+
\n### Quantity Change Points: {self.analyser.quantity_change_points.astype(str).tolist()}
|
349 |
+
\n### Quantity Predictability: {self.analyser.quantity_predictability}
|
350 |
+
\n### Intermittent Change Points: {self.analyser.intermittent_change_points.astype(str).tolist()}
|
351 |
+
\n### Intermittent Predictability: {self.analyser.intermittent_predictability}
|
352 |
+
""")
|
353 |
+
|
354 |
+
def update__md__forecast_data_info(self):
|
355 |
+
return gr.Markdown(value=f' \
|
356 |
+
**Forecasting for these timestamps**: \
|
357 |
+
{self.forecaster.fh.to_pandas().astype(str).tolist()} \
|
358 |
+
\n **Data Period**: {self.forecaster.period} \
|
359 |
+
\n **Data Frequency**: {self.forecaster.freq} \
|
360 |
+
')
|
361 |
+
|
362 |
+
def update__plot__correlation(self):
|
363 |
+
fig, ax = plt.subplots(figsize=(20, 8))
|
364 |
+
corr = self.data.corr(numeric_only=True)
|
365 |
+
mask = np.triu(np.ones_like(corr, dtype=bool))
|
366 |
+
sns.heatmap(
|
367 |
+
corr,
|
368 |
+
mask=mask,
|
369 |
+
square=True,
|
370 |
+
annot=True,
|
371 |
+
cmap='coolwarm',
|
372 |
+
linewidths=.5,
|
373 |
+
cbar_kws={"shrink": .5},
|
374 |
+
ax=ax)
|
375 |
+
|
376 |
+
fig.tight_layout()
|
377 |
+
|
378 |
+
return gr.Plot(fig)
|
379 |
+
|
380 |
+
def update__df__table_view(
|
381 |
+
self
|
382 |
+
):
|
383 |
+
data = self.data.reset_index()
|
384 |
+
return gr.Dataframe(value=data)
|
385 |
+
|
386 |
+
def update__number__n_predict(
|
387 |
+
self
|
388 |
+
):
|
389 |
+
return gr.Number(self.n_predict, interactive=False)
|
390 |
+
|
391 |
+
def update__dropdown__chart_view_filter(self):
|
392 |
+
options = self.data.columns.tolist()
|
393 |
+
return gr.Dropdown(options, value=options)
|
394 |
+
|
395 |
+
def update__dropdown__seasonality_decompose(self):
|
396 |
+
options = self.data.columns.tolist()
|
397 |
+
return gr.Dropdown(options)
|
398 |
+
|
399 |
+
def update__plot__seasonality_decompose(self, col):
|
400 |
+
seasonal = seasonal_decompose(self.data[col].dropna())
|
401 |
+
|
402 |
+
fig = seasonal.plot()
|
403 |
+
return gr.Plot(fig)
|
404 |
+
|
405 |
+
def update__plot_acg_pacf(self, col):
|
406 |
+
fig, axs = plt.subplots(2, 1, sharex=True, sharey=True)
|
407 |
+
|
408 |
+
plot_acf(self.data[col].dropna(), ax=axs[0], zero=False)
|
409 |
+
plot_pacf(self.data[col].dropna(), ax=axs[1], zero=False)
|
410 |
+
|
411 |
+
axs[0].set_title('Auto Correlation')
|
412 |
+
axs[1].set_title('Partial Auto Correlation')
|
413 |
+
|
414 |
+
return gr.Plot(fig)
|
415 |
+
|
416 |
+
# ---------------------- #
|
417 |
+
# Update XGboost Results #
|
418 |
+
# ---------------------- #
|
419 |
+
|
420 |
+
def update__json_xgboost_params(self):
|
421 |
+
return gr.JSON(value=self.xgboost_params)
|
422 |
+
|
423 |
+
def update__plot__xgboost_result(self, test, predict):
|
424 |
+
|
425 |
+
fig, ax = plt.subplots(figsize=self.plot_figsize_full_screen)
|
426 |
+
|
427 |
+
plot_series(
|
428 |
+
self.forecaster.y_train[-2*self.forecaster.period:],
|
429 |
+
self.forecaster.y_test,
|
430 |
+
test,
|
431 |
+
predict,
|
432 |
+
labels=["y_train (part)", "y_test", "y_pred", 'y_forecast'],
|
433 |
+
x_label='Date',
|
434 |
+
ax=ax)
|
435 |
+
|
436 |
+
ax.set_xticklabels(ax.get_xticklabels(), rotation=45)
|
437 |
+
fig.tight_layout()
|
438 |
+
|
439 |
+
return gr.Plot(fig)
|
440 |
+
|
441 |
+
def update__plot__chart_view(self, cols=None):
|
442 |
+
fig, ax = plt.subplots(figsize=self.plot_figsize_full_screen)
|
443 |
+
|
444 |
+
_cols = cols
|
445 |
+
|
446 |
+
if _cols is None:
|
447 |
+
_cols = self.data.columns
|
448 |
+
|
449 |
+
print('[update__plot__chart_view]')
|
450 |
+
|
451 |
+
for col in _cols:
|
452 |
+
ax.plot(self.data[[col]], label=col)
|
453 |
+
|
454 |
+
fig.legend()
|
455 |
+
fig.tight_layout()
|
456 |
+
return gr.Plot(fig)
|
457 |
+
|
458 |
+
def update__file__xgboost_result(self):
|
459 |
+
path = self.__create_temp_csv_file(self.xgboost_forecast)
|
460 |
+
return gr.File(path)
|
461 |
+
|
462 |
+
def update__df__xgboost_result(self):
|
463 |
+
|
464 |
+
# xgboost_forecast is actually a Series instead of proper DataFrame
|
465 |
+
# Re constructing a proper dataframe for gradio to take
|
466 |
+
data = pd.DataFrame(
|
467 |
+
{"datetime": self.xgboost_forecast.index,
|
468 |
+
"y": self.xgboost_forecast.values})
|
469 |
+
|
470 |
+
return gr.Dataframe(value=data)
|
471 |
+
|
472 |
+
# ------------- #
|
473 |
+
# Util Function #
|
474 |
+
# ------------- #
|
475 |
+
|
476 |
+
def __create_temp_csv_file(self, df) -> str:
|
477 |
+
time_format = "%Y%m%d%H%M%S"
|
478 |
+
directory = 'temp'
|
479 |
+
now = datetime.datetime.now()
|
480 |
+
|
481 |
+
# Check if there are old files, remove them #
|
482 |
+
for filename in os.listdir(directory):
|
483 |
+
file_path = os.path.join(directory, filename)
|
484 |
+
|
485 |
+
file_time = datetime.datetime.strptime(
|
486 |
+
filename.split('.')[0], time_format)
|
487 |
+
|
488 |
+
# If the file is older than 3 minutes, delete the file
|
489 |
+
if now > datetime.timedelta(
|
490 |
+
minutes=self.delete_file_old_than_n_minutes) + file_time:
|
491 |
+
print('deleting olde file: ', filename)
|
492 |
+
os.remove(file_path)
|
493 |
+
|
494 |
+
new_file_name = now.strftime(format=time_format) + '.csv'
|
495 |
+
|
496 |
+
new_file_path = os.path.join(directory, new_file_name)
|
497 |
+
|
498 |
+
df.to_csv(new_file_path)
|
499 |
+
|
500 |
+
return new_file_path
|
notebooks/E01-quick_look_multivariate_data.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
notebooks/E02-ts_analytics.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
notebooks/E03-multivariate_forecasting.ipynb
ADDED
@@ -0,0 +1,361 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "markdown",
|
5 |
+
"metadata": {},
|
6 |
+
"source": [
|
7 |
+
"# Aims\n",
|
8 |
+
"\n",
|
9 |
+
"- Test multivariate forecasting pipeline"
|
10 |
+
]
|
11 |
+
},
|
12 |
+
{
|
13 |
+
"cell_type": "code",
|
14 |
+
"execution_count": 1,
|
15 |
+
"metadata": {},
|
16 |
+
"outputs": [],
|
17 |
+
"source": [
|
18 |
+
"# To call functions outside of this folder\n",
|
19 |
+
"import sys \n",
|
20 |
+
"sys.path.insert(0, '..')"
|
21 |
+
]
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"cell_type": "code",
|
25 |
+
"execution_count": 2,
|
26 |
+
"metadata": {},
|
27 |
+
"outputs": [],
|
28 |
+
"source": [
|
29 |
+
"import pandas as pd\n",
|
30 |
+
"import matplotlib.pyplot as plt\n",
|
31 |
+
"\n",
|
32 |
+
"from src.forecast.multivariate import MultivariateForecasting"
|
33 |
+
]
|
34 |
+
},
|
35 |
+
{
|
36 |
+
"cell_type": "markdown",
|
37 |
+
"metadata": {},
|
38 |
+
"source": [
|
39 |
+
"---\n",
|
40 |
+
"\n",
|
41 |
+
"# Load Data"
|
42 |
+
]
|
43 |
+
},
|
44 |
+
{
|
45 |
+
"cell_type": "code",
|
46 |
+
"execution_count": 3,
|
47 |
+
"metadata": {},
|
48 |
+
"outputs": [],
|
49 |
+
"source": [
|
50 |
+
"data = pd.read_csv('../data/multivariate/blow_mold_preprocessed.csv')\n",
|
51 |
+
"\n",
|
52 |
+
"train = data[:252]\n",
|
53 |
+
"exog = data[252:].drop(columns='y')\n",
|
54 |
+
"\n",
|
55 |
+
"test = data[252:].set_index('datetime')\n",
|
56 |
+
"test.index = pd.to_datetime(test.index)\n",
|
57 |
+
"test = test[['y']]\n",
|
58 |
+
"\n",
|
59 |
+
"mf = MultivariateForecasting(train, exog)\n",
|
60 |
+
"\n"
|
61 |
+
]
|
62 |
+
},
|
63 |
+
{
|
64 |
+
"cell_type": "markdown",
|
65 |
+
"metadata": {},
|
66 |
+
"source": [
|
67 |
+
"---\n",
|
68 |
+
"\n",
|
69 |
+
"# How does train test been splitted?\n",
|
70 |
+
"\n",
|
71 |
+
"- Test size is same as forecast horizon size\n",
|
72 |
+
"- No sliding window for cross validation at this moment"
|
73 |
+
]
|
74 |
+
},
|
75 |
+
{
|
76 |
+
"cell_type": "code",
|
77 |
+
"execution_count": 17,
|
78 |
+
"metadata": {},
|
79 |
+
"outputs": [
|
80 |
+
{
|
81 |
+
"data": {
|
82 |
+
"text/plain": [
|
83 |
+
"24"
|
84 |
+
]
|
85 |
+
},
|
86 |
+
"execution_count": 17,
|
87 |
+
"metadata": {},
|
88 |
+
"output_type": "execute_result"
|
89 |
+
}
|
90 |
+
],
|
91 |
+
"source": [
|
92 |
+
"len(mf.fh)"
|
93 |
+
]
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"cell_type": "code",
|
97 |
+
"execution_count": 18,
|
98 |
+
"metadata": {},
|
99 |
+
"outputs": [
|
100 |
+
{
|
101 |
+
"data": {
|
102 |
+
"text/plain": [
|
103 |
+
"(24, 5)"
|
104 |
+
]
|
105 |
+
},
|
106 |
+
"execution_count": 18,
|
107 |
+
"metadata": {},
|
108 |
+
"output_type": "execute_result"
|
109 |
+
}
|
110 |
+
],
|
111 |
+
"source": [
|
112 |
+
"mf.X_test.shape"
|
113 |
+
]
|
114 |
+
},
|
115 |
+
{
|
116 |
+
"cell_type": "markdown",
|
117 |
+
"metadata": {},
|
118 |
+
"source": [
|
119 |
+
"---\n",
|
120 |
+
"\n",
|
121 |
+
"# What is exog data?"
|
122 |
+
]
|
123 |
+
},
|
124 |
+
{
|
125 |
+
"cell_type": "markdown",
|
126 |
+
"metadata": {},
|
127 |
+
"source": [
|
128 |
+
"- For example, using 3 different independent variable A, B, C to forecast y\n",
|
129 |
+
"- if the goal is to forecast next 4 y values, y_t+1, y_t+2, y_t+3, y_t+4\n",
|
130 |
+
"- both A, B and C must have the future 4 values in the first place, and these \"future\" values of A, B, C are exogenous data, which could be hard to collect\n",
|
131 |
+
"- Likely, these exogenous data are also forecasted by some other method, and any forecasting will carry error, these error will be accumulated in multivariate forecasting"
|
132 |
+
]
|
133 |
+
},
|
134 |
+
{
|
135 |
+
"cell_type": "markdown",
|
136 |
+
"metadata": {},
|
137 |
+
"source": [
|
138 |
+
"---\n",
|
139 |
+
"\n",
|
140 |
+
"# How does the forecast horizon been defined ?\n",
|
141 |
+
"\n",
|
142 |
+
"- Forecast horizon is same size as exog "
|
143 |
+
]
|
144 |
+
},
|
145 |
+
{
|
146 |
+
"cell_type": "code",
|
147 |
+
"execution_count": 20,
|
148 |
+
"metadata": {},
|
149 |
+
"outputs": [
|
150 |
+
{
|
151 |
+
"data": {
|
152 |
+
"text/plain": [
|
153 |
+
"(24, 5)"
|
154 |
+
]
|
155 |
+
},
|
156 |
+
"execution_count": 20,
|
157 |
+
"metadata": {},
|
158 |
+
"output_type": "execute_result"
|
159 |
+
}
|
160 |
+
],
|
161 |
+
"source": [
|
162 |
+
"mf.exog.shape"
|
163 |
+
]
|
164 |
+
},
|
165 |
+
{
|
166 |
+
"cell_type": "code",
|
167 |
+
"execution_count": 5,
|
168 |
+
"metadata": {},
|
169 |
+
"outputs": [
|
170 |
+
{
|
171 |
+
"data": {
|
172 |
+
"text/plain": [
|
173 |
+
"ForecastingHorizon(['2021-01-31', '2021-02-28', '2021-03-31', '2021-04-30',\n",
|
174 |
+
" '2021-05-31', '2021-06-30', '2021-07-31', '2021-08-31',\n",
|
175 |
+
" '2021-09-30', '2021-10-31', '2021-11-30', '2021-12-31',\n",
|
176 |
+
" '2022-01-31', '2022-02-28', '2022-03-31', '2022-04-30',\n",
|
177 |
+
" '2022-05-31', '2022-06-30', '2022-07-31', '2022-08-31',\n",
|
178 |
+
" '2022-09-30', '2022-10-31', '2022-11-30', '2022-12-31'],\n",
|
179 |
+
" dtype='datetime64[ns]', name='datetime', freq=None, is_relative=False)"
|
180 |
+
]
|
181 |
+
},
|
182 |
+
"execution_count": 5,
|
183 |
+
"metadata": {},
|
184 |
+
"output_type": "execute_result"
|
185 |
+
}
|
186 |
+
],
|
187 |
+
"source": [
|
188 |
+
"mf.fh"
|
189 |
+
]
|
190 |
+
},
|
191 |
+
{
|
192 |
+
"cell_type": "code",
|
193 |
+
"execution_count": 7,
|
194 |
+
"metadata": {},
|
195 |
+
"outputs": [],
|
196 |
+
"source": [
|
197 |
+
"mf.train_xgboost()"
|
198 |
+
]
|
199 |
+
},
|
200 |
+
{
|
201 |
+
"cell_type": "markdown",
|
202 |
+
"metadata": {},
|
203 |
+
"source": [
|
204 |
+
"---\n",
|
205 |
+
"\n",
|
206 |
+
"# Forecast result"
|
207 |
+
]
|
208 |
+
},
|
209 |
+
{
|
210 |
+
"cell_type": "code",
|
211 |
+
"execution_count": 8,
|
212 |
+
"metadata": {},
|
213 |
+
"outputs": [
|
214 |
+
{
|
215 |
+
"data": {
|
216 |
+
"text/plain": [
|
217 |
+
"[<matplotlib.lines.Line2D at 0x12325e510>]"
|
218 |
+
]
|
219 |
+
},
|
220 |
+
"execution_count": 8,
|
221 |
+
"metadata": {},
|
222 |
+
"output_type": "execute_result"
|
223 |
+
},
|
224 |
+
{
|
225 |
+
"data": {
|
226 |
+
"image/png": "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RMRreH0wCQ4O5oknniA4ONjqUtxK7WycmlJ7m0pbm0o7QW1tzLy5vV43+FVERESaLq/vMREREZGmQ8FEREREvIaCiYiIiHgNBRMRERHxGvUKJjNmzKBPnz6Eh4cTGxvLVVddxY4dO6ocYxgGU6dOJTExkdDQUAYPHsyWLVuqHDN79mwGDx5MREQENpuNnJyc015r48aNXHbZZURFRRETE8Ndd91FQUHBr9aYmprKoEGDCA0NpXXr1vzlL3+pMn9/eno648ePp3Pnzvj5+TFlypRG2c5TfffddwQEBNCzZ89G186JEydis9lO27p16+ZTbS0pKWHixIn06NGDgIAArrrqqmqPW758Ob169SIkJIT27dvz6quvVnucK9p7/Phx7r//fjp37kxYWBht2rThgQceIDc3t8p5srOzueWWW4iMjCQyMpJbbrml2j+XX/KW96rV7TxVTe/VxtJWT75f3dlWX36/Pv300/Tv35+wsDCioqLO2M5TueL9+quMerj88suNOXPmGJs3bzZ++OEHY+TIkUabNm2MgoIC5zHPPPOMER4ebnz44YdGamqqccMNNxgJCQlGXl6e85gXX3zRmDFjhjFjxgwDMLKzs6u8zuHDh40WLVoYkyZNMrZv326sW7fO6N+/v3HNNdecsb7c3FwjLi7OuPHGG43U1FTjww8/NMLDw42//e1vzmP27dtnPPDAA8bcuXONnj17Gg8++GCjbGelnJwco3379sawYcOMc889t9G1Mycnx0hPT3duaWlpRnR0tPHEE0/4VFsLCgqMSZMmGbNnzzYuv/xyY8yYMacds3fvXiMsLMx48MEHja1btxqvv/66ERgYaPznP/857VhXtDc1NdUYO3as8cknnxi7d+82vv76a6NTp06ntWX48OFG9+7djVWrVhmrVq0yunfvbowaNeqM7fWm96rV7ax0pvdqY2mrJ9+v7myrL79f//znPxsvvPCC8dBDDxmRkZFnbGclV71ff029gskvZWZmGoCxfPlywzAMw+FwGPHx8cYzzzzjPKakpMSIjIw0Xn311dOe/80331T7n/trr71mxMbGGhUVFc59mzZtMgBj165dNdbzyiuvGJGRkUZJSYlz34wZM4zExETD4XCcdvygQYNq9Yfny+284YYbjD/+8Y/GE088Ue1/do2lnZUWLlxo2Gw2Y//+/T7V1lNNmDCh2v/oHnnkEaNLly5V9t19991Gv379fvWcDW1vpQ8++MAICgoyysrKDMMwjK1btxqAsWbNGucxq1evNgBj+/btNZ7HW9+rVrazLu9VX29rJU+9X13d1lP50vv1VHPmzKl1MHHX+/WXXDLGpLKLKDo6GoB9+/aRkZHBsGHDnMcEBwczaNAgVq1aVevz2u12goKCqiwGFBoaCsDKlStrfN7q1asZNGhQlYljLr/8co4cOcL+/ftr/fq/5KvtnDNnDnv27OGJJ56oVT2+2s5TvfHGG1x66aUkJyefsSZva2ttrF69ukp9YP55fP/995SVlZ3xua5qb25uLhEREQQEBDhrioyMpG/fvs5j+vXrR2Rk5BnP4+3vVU+3s67vVV9u66k8/X51VVtrwxvfr/XlrvfrLzU4mBiGwUMPPcTAgQPp3r07ABkZGQDExcVVOTYuLs75WG0MHTqUjIwM/vrXv1JaWkp2djaPPfYYYF7HqklGRka1r31qbXXlq+3ctWsXf/jDH5g/f36t/lH6ajtPlZ6ezpdffskdd9xxxnq8sa21UdOfR3l5OceOHavxea5qb1ZWFk8++SR33313lZpiY2NPOzY2NvaMf27e/F71dDvr+l4F323rqTz9fnVlW2vDG9+v9eWO92t1GhxM7rvvPn766Sfee++90x6z2WxVfjYM47R9Z9KtWzfmzp3L888/T1hYGPHx8bRv3564uDj8/f2dxzRv3pzmzZszYsSIM752dftryxfbWVFRwfjx45k2bRopKSmNtp2/9NZbbxEVFVXjQLRK3trW2qjPv29XtDcvL4+RI0dy9tlnn/ZbfXXHn3oeX3qverqd9Xmvgm+29Zc8+X51R1trwxvfr7/GU+/X6jSoX+f+++/nk08+YcWKFZx11lnO/fHx8YCZoBISEpz7MzMzT0tbv2b8+PGMHz+eo0eP0qxZM2w2Gy+88ALt2rUD4IsvvnB2h1V2lcfHx5+W3jIzM4HTk2Zt+Go78/Pz+f7779m0aRP33XcfAA6HA8MwCAgI4KuvvmLo0KE+385TGYbBm2++yS233EJQUFCNdXhrW2ujpj+PgIAAYmJiqn2OK9qbn5/P8OHDad68OQsXLiQwMLDKeY4ePXra6/7888/O8/jKe9WKdtb1verLbT2VJ9+v7mhrbXjj+7U2PPF+rVGdR6UY5gCcyZMnG4mJicbOnTurfTw+Pt549tlnnfvsdnudBxBW54033jDCwsLOeOwrr7xiREVFGXa73bnvmWeeqfMAHV9vZ0VFhZGamlplu+eee4zOnTsbqampzpHevt7O6l47NTW12nN5e1tPdabBdF27dq2yb9KkSdUOpnNVe3Nzc41+/foZgwYNMgoLC087T+XgwbVr1zr3rVmzplYDJb3pvWpVO2v7Xm0MbT2Vp96v7mrrqXzp/Xqqug5+dcX79dfUK5jcc889RmRkpLFs2bIqt3wVFRVVKTYyMtL46KOPjNTUVGPcuHGn3XKZnp5ubNq0yXj99dcNwFixYoWxadMmIysry3nMP//5T2PDhg3Gjh07jJkzZxqhoaHG3//+9zPWl5OTY8TFxRnjxo0zUlNTjY8++siIiIg47da8TZs2GZs2bTJ69epljB8/3ti0aZOxZcuWRtfOU1U30r8xtfPmm282+vbtW+O5vL2thmEYW7ZsMTZt2mSMHj3aGDx4sPPfaaXK2w9/+9vfGlu3bjXeeOONGm8/dEV78/LyjL59+xo9evQwdu/eXeU85eXlzvMMHz7cOOecc4zVq1cbq1evNnr06PGrt1t603vVG9p5qpruymlMbfXE+9WdbTUM332/HjhwwNi0aZMxbdo0o3nz5s668/Pza2yrq96vv6ZewQSodpszZ47zGIfDYTzxxBNGfHy8ERwcbFx88cWnpeInnnjiV89zyy23GNHR0UZQUJBxzjnnGG+//Xatavzpp5+Miy66yAgODjbi4+ONqVOnnpboqnvt5OTkRtfOX9byy//sGks7c3JyjNDQUGP27Nk1nscX2pqcnFztuU+1bNky47zzzjOCgoKMtm3bGrNmzXJbeyt/q61u27dvn/O4rKws46abbjLCw8ON8PBw46abbqpV75C3vFe9oZ2nqimYNJa2eur96u62+ur7dcKECdUe880335yxva54v/4a24mTiIiIiFhOa+WIiIiI11AwEREREa+hYCIiIiJeQ8FEREREvIaCiYiIiHgNBRMRERHxGgomIiIi4jUUTERERMRrKJiIiIiI11AwEREREa+hYCIiIiJeQ8FEREREvMb/A1MoQS8Ri3VwAAAAAElFTkSuQmCC",
|
227 |
+
"text/plain": [
|
228 |
+
"<Figure size 640x480 with 1 Axes>"
|
229 |
+
]
|
230 |
+
},
|
231 |
+
"metadata": {},
|
232 |
+
"output_type": "display_data"
|
233 |
+
}
|
234 |
+
],
|
235 |
+
"source": [
|
236 |
+
"plt.plot(mf.y_test)\n",
|
237 |
+
"plt.plot(mf.models['xgboost']['test'])"
|
238 |
+
]
|
239 |
+
},
|
240 |
+
{
|
241 |
+
"cell_type": "code",
|
242 |
+
"execution_count": 9,
|
243 |
+
"metadata": {},
|
244 |
+
"outputs": [
|
245 |
+
{
|
246 |
+
"data": {
|
247 |
+
"text/plain": [
|
248 |
+
"[<matplotlib.lines.Line2D at 0x1232a0490>]"
|
249 |
+
]
|
250 |
+
},
|
251 |
+
"execution_count": 9,
|
252 |
+
"metadata": {},
|
253 |
+
"output_type": "execute_result"
|
254 |
+
},
|
255 |
+
{
|
256 |
+
"data": {
|
257 |
+
"image/png": "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HEVRmDFjBhEREfj4+DBw4EDi4+Mtj2dmZvLUU0/RunVrfH19iYqK4umnnyY7O7vS87z11lv06dMHX19f6tevX+MY4+LiiI2NxcfHh8aNG/P6669XahSVlpbGhAkTaN26NXq9nqlTp7rstV5u8+bNeHh40KVLF5e7zokTJ6LT6a66tW/f/qrncvTrLSoqYuLEiXTs2BEPDw9uu+22Ks/bsGED3bt3x9vbm2bNmjFv3jzNrjUxMZFHH32UmJgYfHx8aN68Oa+++iolJSXXvV5rvF9d4Tovd633qqtca03fr45+rc74XgW49dZbiYqKwtvbm/DwcB588EFSU1OrvVaw3mfrdSk2MHz4cGX+/PnKwYMHlX379imjR49WoqKilLy8PMs577zzjuLv76/8+OOPSlxcnHLvvfcq4eHhSk5OjqIoihIXF6fccccdyi+//KKcOHFCWbt2rdKyZUvlzjvvrPRar7zyijJ79mxl2rRpSmBgYI3iy87OVkJDQ5Xx48crcXFxyo8//qj4+/sr7733nuWchIQE5emnn1YWLFigdOnSRfnrX//qstdaISsrS2nWrJkybNgwpXPnzi53nVlZWUpaWprllpycrAQFBSmvvvrqVc/n6Nebl5enPP7448pnn32mDB8+XBk3btxV55w6dUrx9fVV/vrXvyqHDh1S/v3vfyuenp7KDz/8oMm1rlixQpk4caKycuVK5eTJk8rPP/+sNGrUSHn22WervVZrvV9d4TorVPdedZVrren71dGv1Rnfq4qiKLNnz1a2bt2qJCYmKps3b1Z69+6t9O7du9prteZn6/XYJHm5UkZGhgIoGzZsUBRFUcxmsxIWFqa88847lnOKioqUwMBAZd68edd8nu+//17x8vJSSktLr3ps/vz5Nf7F//HHHyuBgYFKUVGR5b6ZM2cqERERitlsvur82NjYGv8HduZrvffee5W///3vyquvvlrlL8TLOfN1Vli8eLGi0+mUxMTE6z6/o13v5R5++OEqfyG+8MILSps2bSrdN3nyZKVXr17VPp89rrXCrFmzlJiYmGrjsdX71ZmvszbvVUVx7mutUNP3q6Nd6+Wc+b36888/KzqdTikpKbnmObb8bL2SXda8VAxHBQUFAZCQkEB6ejrDhg2znGM0GomNjWXLli3VPk9AQAAeHjfWT3Lr1q3ExsZWqhw4fPhwUlNTSUxMvKHndtZrnT9/PidPnuTVV1+t0fM663Ve7osvvmDIkCFER0df9/kd7XprYuvWrZXiA/W/ya5duygtLb3m99nzWrOzsy2vU9112OL96qzXWdv3asXrg/Nd6+Vq+n51tGutCUd/r2ZmZrJo0SL69OmDp6dntddhq8/WK9k8eVEUhWnTptGvXz86dOgAQHp6OgChoaGVzg0NDbU8dqULFy7wxhtvMHny5BuOKT09vcrXvjy2unDWaz1+/Dh/+9vfWLRoUY0+VJ31Oi+XlpbGihUreOyxx6773I54vTVxrf8mZWVlnD9/vsrvsee1njx5kg8//JDHH3+8TtdxeWy15azXWdv3KjjvtV6upu9XR7zWmnDU9+qLL76In58fDRs2JCkpiZ9//rlO13F5bNZi8+TlL3/5CwcOHOCbb7656jGdTlfp34qiXHUfQE5ODqNHj6Zdu3a1+msDoH379tSrV4969eoxcuTIal+7qvtrwxmv1WQyMWHCBF577TVatWpVo9dxxuu80n/+8x/q169/zcVzl3PU662J2v6c2+taU1NTGTFiBHfffXelDyR7vV+d8Trr8l511mu9Uk3fr456rTXhiO/V559/nr1797Jq1SoMBgMPPfSQJS57frZWxaZj10899RS//PILGzdupEmTJpb7w8LCADUTCw8Pt9yfkZFxVdaWm5vLiBEjqFevHosXL652yKoqy5cvtwy7+fj4WF7/yiwwIyMDuDpjrSlnvdbc3Fx27drF3r17+ctf/gKA2WxGURQ8PDxYtWoVgwcPdvrrvJyiKHz55Zc8+OCDeHl5Vftajnq9NXGt/yYeHh40bNjwqvPtda2pqakMGjSI3r1789lnn133Wq39fnXW66zte9WZr/VyNX2/Ouq11oSjvleDg4MJDg6mVatWtG3blsjISLZt20bv3r3t9tl6TXVaKXMdZrNZefLJJ5WIiAjl2LFjVT4eFhamvPvuu5b7iouLr1pUlJ2drfTq1UuJjY1V8vPzq33N2i7urF+/vlJcXGy575133qnToiJnv1aTyaTExcVVuj3xxBNK69atlbi4OMsqdme/zsv9/vvvCqDExcVd8/kc/XovV90iwLZt21a67/HHH79qEaA9r/XMmTNKy5YtlfHjxytlZWU1uj5rvV+d/Tpr+l51hWu93PXer45+rZdzpvfqlZKSkhRA+f333695jjU/W6/HJsnLE088oQQGBirr16+vtNWtoKDAcs4777yjBAYGKj/99JMSFxen3HfffZW2c+Xk5Cg9e/ZUOnbsqJw4caLS81z+Q3P69Gll7969ymuvvabUq1dP2bt3r7J3714lNzf3mvFlZWUpoaGhyn333afExcUpP/30kxIQEHDVlsSK5+revbsyYcIEZe/evUp8fLxLXuvlqtrB4ErX+cADDyg9e/a85nM5w/UqiqLEx8cre/fuVcaOHasMHDjQ8n0VKrZfPvPMM8qhQ4eUL774osrtl/a61pSUFKVFixbK4MGDlTNnzlQ6pzrWer+6ynVe7lq7jVzpWq/3fnX0a1UU53uvbt++Xfnwww+VvXv3KomJicq6deuUfv36Kc2bN6+0k+hK1vxsvR6bJC9Albf58+dbzjGbzcqrr76qhIWFKUajURkwYEClzLoi267qlpCQYDnv4YcfrvKc6rJDRVGUAwcOKP3791eMRqMSFhamzJgx46rMsKrnjY6OdslrvVxVvxBd5TqzsrIUHx8f5bPPPqv2uZzheqOjo6v8vsutX79e6dq1q+Ll5aU0bdpU+eSTTzS71vnz51/znOuxxvvVVa7zctdKXlzlWmvyfnWGa3W29+qBAweUQYMGKUFBQYrRaFSaNm2qPP7448qZM2eue63W+my9Hl35EwkhhBBCOAXpbSSEEEIIpyLJixBCCCGciiQvQgghhHAqkrwIIYQQwqlI8iKEEEIIpyLJixBCCCGciiQvQgghhHAqkrwIIYQQwqlI8iKEEEIIpyLJixBCCCGciiQvQgghhHAq/w+Xp4s3oueeywAAAABJRU5ErkJggg==",
|
258 |
+
"text/plain": [
|
259 |
+
"<Figure size 640x480 with 1 Axes>"
|
260 |
+
]
|
261 |
+
},
|
262 |
+
"metadata": {},
|
263 |
+
"output_type": "display_data"
|
264 |
+
}
|
265 |
+
],
|
266 |
+
"source": [
|
267 |
+
"plt.plot(test)\n",
|
268 |
+
"plt.plot(mf.models['xgboost']['forecast'])"
|
269 |
+
]
|
270 |
+
},
|
271 |
+
{
|
272 |
+
"cell_type": "markdown",
|
273 |
+
"metadata": {},
|
274 |
+
"source": [
|
275 |
+
"---\n",
|
276 |
+
"\n",
|
277 |
+
"# What is the forecast accuracy?"
|
278 |
+
]
|
279 |
+
},
|
280 |
+
{
|
281 |
+
"cell_type": "code",
|
282 |
+
"execution_count": 21,
|
283 |
+
"metadata": {},
|
284 |
+
"outputs": [
|
285 |
+
{
|
286 |
+
"data": {
|
287 |
+
"text/plain": [
|
288 |
+
"0.23537933276005385"
|
289 |
+
]
|
290 |
+
},
|
291 |
+
"execution_count": 21,
|
292 |
+
"metadata": {},
|
293 |
+
"output_type": "execute_result"
|
294 |
+
}
|
295 |
+
],
|
296 |
+
"source": [
|
297 |
+
"mf.models['xgboost']['mape']"
|
298 |
+
]
|
299 |
+
},
|
300 |
+
{
|
301 |
+
"cell_type": "markdown",
|
302 |
+
"metadata": {},
|
303 |
+
"source": [
|
304 |
+
"---\n",
|
305 |
+
"\n",
|
306 |
+
"# Can MAPE handle zeros?\n",
|
307 |
+
"\n",
|
308 |
+
"- MAPE cannot handle inaccurate zero, zero, or very small value on true value will cause huge error size\n",
|
309 |
+
"- MAPE is not suitable for evaluating intermittent data"
|
310 |
+
]
|
311 |
+
},
|
312 |
+
{
|
313 |
+
"cell_type": "code",
|
314 |
+
"execution_count": 33,
|
315 |
+
"metadata": {},
|
316 |
+
"outputs": [
|
317 |
+
{
|
318 |
+
"data": {
|
319 |
+
"text/plain": [
|
320 |
+
"200.0"
|
321 |
+
]
|
322 |
+
},
|
323 |
+
"execution_count": 33,
|
324 |
+
"metadata": {},
|
325 |
+
"output_type": "execute_result"
|
326 |
+
}
|
327 |
+
],
|
328 |
+
"source": [
|
329 |
+
"from sktime.performance_metrics.forecasting import mean_absolute_percentage_error\n",
|
330 |
+
"\n",
|
331 |
+
"mean_absolute_percentage_error([1,0,1,1,0.001], [1,0,1,0,1])"
|
332 |
+
]
|
333 |
+
},
|
334 |
+
{
|
335 |
+
"cell_type": "markdown",
|
336 |
+
"metadata": {},
|
337 |
+
"source": []
|
338 |
+
}
|
339 |
+
],
|
340 |
+
"metadata": {
|
341 |
+
"kernelspec": {
|
342 |
+
"display_name": "base",
|
343 |
+
"language": "python",
|
344 |
+
"name": "python3"
|
345 |
+
},
|
346 |
+
"language_info": {
|
347 |
+
"codemirror_mode": {
|
348 |
+
"name": "ipython",
|
349 |
+
"version": 3
|
350 |
+
},
|
351 |
+
"file_extension": ".py",
|
352 |
+
"mimetype": "text/x-python",
|
353 |
+
"name": "python",
|
354 |
+
"nbconvert_exporter": "python",
|
355 |
+
"pygments_lexer": "ipython3",
|
356 |
+
"version": "3.11.5"
|
357 |
+
}
|
358 |
+
},
|
359 |
+
"nbformat": 4,
|
360 |
+
"nbformat_minor": 2
|
361 |
+
}
|
notebooks/E04-forecaster.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|