Skip to content

zhilee2023/EV-charging-data-generation

Repository files navigation

EV-charging-data-generation

This repository contains the code for our research paper titled "Synthesis of Electric Vehicle Charging Data: A Real-World Data-Driven Approach".

Dependencies

The main dependencies are PyTorch (1.13.1+cu116) and GeoPandas (0.10.2).

Dataset

Due to the sensitivity of the original dataset, we are unable to provide it here. However, we provide the synthetic dataset generated by our model. This data is intended to be used for training and is approximately equivalent to the original dataset in terms of size - roughly 1.6 million charging events across 3,777 battery electric vehicles over a period of 365 days. You can download the dataset from the following Google Drive link: https://drive.google.com/file/d/1K-ERurerpo-y02n9A3ygTOSDSfYTgeiB/view?usp=sharing

Training

To train the model, first download the sample_best.csv file provided by us, and place it in the appropriate directory. Once downloaded, you can start the training process with the following command:

python train.py

Data Generation

We provide a pretrained model that can be used for data generation. Two types of data generation are available: generating overall data and conditional generation.

For overall data generation, use the following command:

python data_generation.py

For conditional data generation, use the following command:

python conditional_data_gen.py

In conditional generation, specify the conditioning variables while running the script. More details can be found in the script's comments.

Geo Index

We also provide detailed boundary and information about 251 regions in Shanghai. You can visualize these regions using the provided script:

import geopandas as gpd

gpd.read_file('shanghai_region/shanghai_boundary.shp',encoding='gbk')  

Comparative Analysis

We have facilitated a comparison between two baseline models and the Gibbs+NN model. To conduct this comparison, one can directly access the 'Comparative analysis' folder. By modifying the parameters in the 'train.py' file, the code will execute the model training. Upon completion, it will output two metrics and a JSON file containing the parameters, as well as a CSV file consisting of 200,000 samples collected by the corresponding model.

Citation

We hope this repository helps to further research in the field of electric vehicle charging behavior. To cite the work use the following bibtex:

@article{li2024synthesis,
  title={Synthesis of electric vehicle charging data: A real-world data-driven approach},
  author={Li, Zhi and Bian, Zilin and Chen, Zhibin and Ozbay, Kaan and Zhong, Minghui},
  journal={Communications in Transportation Research},
  volume={4},
  pages={100128},
  year={2024},
  publisher={Elsevier}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages