- Mar 01, 2021
-
-
Alexander Hess authored
-
- Feb 09, 2021
-
-
Alexander Hess authored
- the first notebook runs the tactical-forecasts command - the second notebook describes the tactical demand forecasting process + demand aggregation on a per-pixel level + time series generation: horizontal, vertical, and real-time time series + STL decomposition into seasonal, trend, and residual components + choosing the most promising forecasting model + predicting demand with various models - fix where to re-start the forecasting process after it was interrupted - enable the heuristic for choosing the most promising model to also work for 7 training weeks
-
- Feb 04, 2021
-
-
Alexander Hess authored
- the two notebook files are helpful in visualizing all relevant pickup (red) or delivery (blue) locations from the point of view of either e restaurant or a customer
-
Alexander Hess authored
-
Alexander Hess authored
-
Alexander Hess authored
- add notebook that runs the plotting code - add three visualizations per city: + all addresses, colored by zip code + all restaurants, incl. the number of received orders + all restaurants on a grid with pixel side length of 1000m
-
Alexander Hess authored
-
Alexander Hess authored
-
Alexander Hess authored
-
Alexander Hess authored
-
Alexander Hess authored
... after upgrading: - alembic - matplotlib - pandas - rpy2 - sqlalchemy - statsmodels - dev dependencies + coverage + factory-boy + faker + nox + packaging + pre-commit + flake8-annotations + pytest + pytest-cov + sphinx - research dependencies + numpy + pyty - transient dependencies + astpretty + atomicwrites + bleach + chardet + colorlog + darglint + flake8-comprehensions + gitpython + identify + ipykernel + ipython + jedi + jinja2 + jupyter-client + jupyter-core + mako + nbformat + nest-asyncio + notebook + parso + pluggy + prompt-toolkit + ptyprocess + pygments + pyyaml + pyzmq + requests + smmap + terminado + textfixtures + snowballstemmer + typed-ast + urllib3 + virtualenv - fix SQL statements written in raw text
-
Alexander Hess authored
-
- Feb 02, 2021
-
-
Alexander Hess authored
- use the `HorizontalSMAModel` for low demand - use the `TrivialModel` for no demand
-
Alexander Hess authored
- we use that shorter name in `urban_meal_delivery.forecasts.*` and want to be consistent in the ORM layer as well
-
Alexander Hess authored
- the trivial model simply predicts `0` demand for all time steps
-
Alexander Hess authored
- the model applies a simple moving average on horizontal time series - refactor `db.Forecast.from_dataframe()` to correctly convert `float('NaN')` values into `None`; otherwise, SQLAlchemy complains
-
Alexander Hess authored
- the method implements a heuristic from the first research paper that chooses the most promising forecasting `*Model` based on the average daily demand in a `Pixel` for a given `train_horizon` - adjust the test scenario => `LONG_TRAIN_HORIZON` becomes `8` as that is part of the rule implemented in the heuristic
-
- Feb 01, 2021
-
-
Alexander Hess authored
- when running tests marked with "r" we still must not run tests marked with "db" on the CI server
-
Alexander Hess authored
- the method calculates the number of daily `Order`s in a `Pixel` withing the `train_horizon` preceding the `predict_day`
-
Alexander Hess authored
- `*Model`s use the `methods.*.predict()` functions to predict demand given an order time series generated by `timify.OrderHistory` - `models.base.ForecastingModelABC` unifies how all `*Model`s work and implements a caching strategy - implement three `*Model`s for tactical forecasting, based on the hets, varima, and rtarima models described in the first research paper - add overall documentation for `urban_meal_delivery.forecasts` package - move the fixtures in `tests.forecasts.timify.conftest` to `tests.forecasts.conftest` and adjust the horizon of the test horizon from two to three weeks
-
Alexander Hess authored
- this alternative constructor takes the `pd.DataFrame`s from the `*Model.predict()` methods and converts them into ORM models
-
Alexander Hess authored
- the function implements a forecasting "method" similar to the seasonal naive method => instead of simply taking the last observation given a seasonal lag, it linearly extrapolates all observations of the same seasonal lag from the past into the future; conceptually, it is like the seasonal naive method with built-in smoothing - the function is tested just like the `arima.predict()` and `ets.predict()` functions + rename the `tests.forecasts.methods.test_ts_methods` module into `tests.forecasts.methods.test_predictions` - re-organize some constants in the `tests` package - streamline some docstrings
-
- Jan 31, 2021
-
-
Alexander Hess authored
-
Alexander Hess authored
- get the `datetime` of the first or last order within a pixel - unify some fixtures in `tests.forecasts.timify.conftest`
-
Alexander Hess authored
- rename "total_orders" columns into "n_orders" - rename `.make_*_time_series()` methods into `.make_*_ts()`
-
Alexander Hess authored
-
Alexander Hess authored
-
Alexander Hess authored
- the property loads all `Restaurant`s from the database that are within the `Pixel`
-
Alexander Hess authored
- move the module - unify the corresponding tests in `tests.forecasts.methods` sub-package - make all `predict()` and the `stl()` function round results - streamline documentation
-
Alexander Hess authored
-
Alexander Hess authored
-
- Jan 26, 2021
-
-
Alexander Hess authored
- this code is not unit-tested due to the complexity involving interactive `folium.Map`s => visual checks give high confidence
-
Alexander Hess authored
- the properties are needed for the drawing functionalitites
-
- Jan 24, 2021
-
-
Alexander Hess authored
-
Alexander Hess authored
- ensure a `Restaurant` only has one unique `Order.pickup_address` - rework `Grid.gridify()` so that only pickup addresses are assigned into `Pixel`s - include database migrations to ensure the data adhere to these tighter constraints
-
Alexander Hess authored
- this is a minor sanity check
-
Alexander Hess authored
-
Alexander Hess authored
-
- Jan 21, 2021
-
-
Alexander Hess authored
-
Alexander Hess authored
-