!!! This Repo under continuous construction !!!
We introduce EasyTS, a comprehensive toolkit engineered to streamline the complex procedures of data collection, analysis, and model creation.
The overall architecture of this toolkit is illustrated in Figure 1. EasyTS is structured into three progressively advanced lev- els. Initially, it offers a one-stop solution for datasets, allow- ing users to easily download and import richly-scenarioed time series datasets with a single click through dataloader. Subsequently, the toolkit embeds a variety of preprocessing and convenient visualization analysis tools to aid researchers in feature extraction and analysis. Building on this, an intu- itive model building and validation interface is implemented for rapid model development and assessment. In this stage, EasyTS provides diverse evaluation metrics and benchmark models to ensure comprehensive and in-depth model evalu- ation.
EasyTS currently encompasses multiple datasets from six different domains around the world, with specific details provided in Figure 2. EasyTS introduces four novel opensource datasets related to electrical energy: FOOD, MANU, PHAR, and OFFICE (Red indicates).
For detailed information about the dataset, please refer to the readme file in the "dataset" folder.
EasyTS extends a versatile array of analytical tools, elegantly illustrated in Figure 3.
Based on the two aspects mentioned above, scholars can swiftly design their own models within the toolkit's specified modules. EasyTS provides diverse time-series evaluation metrics, such as MSE, MAE, DDTW, CORR, RMSE, to objectively assess the sophistication of the models, with the scoring results displayed in Figure 4.
-
Dataset downloaded separately
Invoke the 'download' method in the corresponding data class(Are placed in the 'dataset' directory), and provide the download directory and the name of the dataset to be downloaded.
Dataset_Electricity.download(DATASET_PATH, 'FOOD1')
-
Data analysis tools
All data analysis functions are located in the 'analytical_tools.py' file under the 'Tools' directory.
file_path = "../Electricity/FOOD1.csv" draw_line_with_slider(file_path)
-
Train and validate the model
a. Place your personal model files in the 'models' folder and import the personal model module in 'score.py'.
b. Modify the model name in 'main.py', as well as the dataset type and the corresponding sub-dataset name you wish to use.
c. Simply run the 'main.py' method.
# score.py: ## If adding a custom model, please import it in the file from models import DLinear # main.py: ## Define the subset of dataset class to use here: Electricity_SubDataset = ["FOOD1.csv", "FOOD2.csv"] ## Define the dataset class to use here: parser.add_argument('--dataset_class', type=list, default=['Electricity'], help='Data class for evaluation') ## Define the model to be used here: parser.add_argument('--model', type=str, default='DLinear', help='model name') python main.py
We appreciate the following github repos a lot for their valuable code base or datasets:
https://github.com/cure-lab/LTSF-Linear
https://github.com/hsy23/KDD23_DynEformer
https://github.com/DAMO-DI-ML/ICML2022-FEDformer