These are the program of the paper HyperETA: a Non-Deep-Learning Method for Estimated Time of Arrival.
Estimated Time of Arrival (ETA) that predicts a given GPS trajectory’s travel time has been widely used in route planning. We present a new machine learning algorithm, called HyperETA, for ETA prediction. HyperETA is based on the Hypercube clustering method to measure the similarity among trajectories. This program uses Cheng-Du taxi trajectories as a benchmark.
This program run on python3.7. conda_env.yml have the list of required libraries.
python run_HyperETA.py --trainDataFile ./data/train --testDataFile ./data/testRemoveBeginLast
will show evaluated results (MAPE,RMSE,MAE)
python run_HyperETA.py --trajModel trainTrajModel.pickle --testTrajPreprocessed testPreprocessed.pickle
will show evaluated results(MAPE,RMSE,MAE) but skip preprocessing. It uses the existing trajectories model.
python run_HyperETA_noDTW.py --trainDataFile ./data/train --testDataFile ./data/testRemoveBeginLast
will show the results not involve DTW. It is faster then run_HyperETA.py.
python run_HyperETA_noDTW.py --trajModel trainTrajModel.pickle --testTrajPreprocessed testPreprocessed.pickle
will show evaluated results(MAPE,RMSE,MAE) but not involve DTW and skip preprocessing. It uses the existing trajectories model.
Raw trajectories for train.
Raw trajectories for test. Already remove staying points in the beginning and the end of a trajectory.
The trajectories model, includes 3 tables
- Hypercube series table : Preprocessed trajectories.
- Original trajectories table: Original GPS data.
- Mapping table : It map hypercubes to original trajectories.
Test data, includes 3 tables
- Hypercube series table : Preprocessed trajectories.
- Original trajectories table: Original GPS data.
- Mapping table : It map hypercubes to original trajectories.