Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to implement CSDI as a forecasting model for POTS data #264

Closed
WenjieDu opened this issue Dec 11, 2023 · 7 comments
Closed

Possible to implement CSDI as a forecasting model for POTS data #264

WenjieDu opened this issue Dec 11, 2023 · 7 comments
Assignees
Labels
enhancement New feature or request new feature Proposing to add a new feature

Comments

@WenjieDu
Copy link
Owner

1. Feature description

Although, in the CSDI paper, the authors discussed using the model for time series forecasting, their experiments and scenarios are for complete time series. However, the model is possible for POTS forecasting.

2. Motivation

Make CSDI a forecasting model in PyPOTS.

3. Your contribution

I'm currently overloaded. If anyone is interested in this task, please discuss it below to see if you can take it.

The CSDI model has been included in PyPOTS as an imputation model, so necessary modules are all available already.

@WenjieDu WenjieDu added enhancement New feature or request new feature Proposing to add a new feature labels Dec 11, 2023
@ahmaddroobi99
Copy link

I start working on it, to get familiar with code and understand its infrastructure.

@WenjieDu
Copy link
Owner Author

Many thanks, Ahmad. I've assigned this to you and me. I can help you at any time, please just start the discussion here if you need any information or assistance. And once you make the PR, I'll review the code.

@ahmaddroobi99
Copy link

Is this the Algorithm that should be implemented, could you describe more, As I understand now it will be in forecasting algorithms in PyPOTS.

image

@WenjieDu
Copy link
Owner Author

WenjieDu commented Jan 3, 2024

@ahmaddroobi99 The graph you posted is an overview of how CSDI works: input, process, and output.

Here are some clues and suggestions from me:

  1. read the paper and figure out the model itself first. I believe you've done well with this;
  2. walk through the code under this path https://github.com/WenjieDu/PyPOTS/blob/main/pypots/imputation/csdi and figure out how CSDI is implemented as an imputation model here. The CSDI code in PyPOTS keeps the same logic as the official implementation https://github.com/ermongroup/CSDI but is in a more unified PyPOTS way;
  3. read the code in https://github.com/ermongroup/CSDI/blob/main/exe_forecasting.py and the code it imports. This script will help you learn how CSDI works on the forecasting task;
  4. get your hands on turning the imputation CSDI in PyPOTS into a forecasting model. Basically, you need to do some refactoring work to adapt the code for the forecasting task;

Let me know if you have any further questions.

@LinglongQian
Copy link
Contributor

Hi @WenjieDu and @ahmaddroobi99 maybe I can help on this as well, I have some experience in CSDI code and had also familiar with their code and paper.

@WenjieDu
Copy link
Owner Author

WenjieDu commented Jan 9, 2024

Thanks, @LinglongQian, good to know you'd like to help. I'm going to check with Ahmad to see how things are going on his side. Then we can determine which part you can take care of.

@WenjieDu
Copy link
Owner Author

Ahmad @ahmaddroobi99 recently has been very busy with his own work. After communication, Linglong @LinglongQian and I will take care of this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new feature Proposing to add a new feature
Projects
None yet
Development

No branches or pull requests

3 participants