Giter Club home page Giter Club logo

Comments (5)

zhouhaoyi avatar zhouhaoyi commented on May 22, 2024 4

Thanks for your attention. We will release a colab to help people use our model on custom data. Please keep watching this repo.

from informer2020.

cookieminions avatar cookieminions commented on May 22, 2024 4

Understanding: Accurate!
Question1: Yes, our multivariate experiments use multivarite input to predict multivariate output, we will offer the option for multivariate input predicting univariate output later.
Question2: No, you just need to offer date information like '2020-01-01 00:00:00' in your data and name the column as 'date'. The code of time encoding is in line 65-73 of data/data_loader.py and utils/timefeatures.py. I suggest you use defaut embed augment 'TimeF' and the timeenc in dataset will be 1.
Question3: We recommend considering some meaningful time period related to specific data or tasks when choosing the input length, for example, choose one week as encoder input length and one day as decoder start token length.

from informer2020.

HeroadZ avatar HeroadZ commented on May 22, 2024 1

Thank you for the explanation. I'm not sure if I understand it correctly. Please check it.
Let's take the default settings as an example. The enc_input are 4-day(1,2,3,4) 7-channel features, the dec_input are 2-day(3,4) 7-channel features and 1-day(5) 7-channel 0s. The output are 1-day(5) 7-channel predictions. Is it right?

I have several questions. Sorry if they are stupid.

  1. The target is OT, but the output is 7-channel predictions when features is setting as "M". Then in the loss calculation step, you compare all channel predictions with the truth, not only OT. Is it correct?
  2. For the input x_mark, if I want to use my custom data, is it a must to set the same format like (month,day,weekday,hour)?
  3. Is there any good suggestion on the selection of input length and decode length?

from informer2020.

wywzxxz avatar wywzxxz commented on May 22, 2024

Actually there only 4 tensor that you need to figure the meaning of. And according to data/data_loader.py, I believe there shape are:
model.forward(x_enc, x_mark_enc, x_dec, x_mark_dec)

  1. x_enc : batch_size ✖️ input_seq_len✖️ channel
  2. x_dec : batch_size ✖️ output_seq_len✖️ channel
  3. x_mark_enc: batch_size ✖️ input_seq_len✖️ 4. represent the timestamp of each input_seq element, and formated as 4-len tuple: (month,day,weekday,hour)
  4. x_mark_dec:batch_size ✖️ output_seq_len✖️ 4.

Model arguments are more puzzling. Though I got some hints from main_informer.py.

Informer(
    enc_in ## encoder input size
   ,dec_in  ## decoder input size
   ,c_out   ## output size
   ,seq_len ## input series length
   ,label_len ## help series length
   ,pred_len ## predict series length
)

I not sure what label_len means. As far as I know, output_seq_len=label_len+pred_len. And in the training process zeroing x_dec[:,-pred_len:,:] before calling model.forward().

                dec_inp = torch.zeros_like(batch_y[:,-self.args.pred_len:,:]).double()

                dec_inp = torch.cat([batch_y[:,:self.args.label_len,:], dec_inp], dim=1).double().to(self.device)

However, I think this means dec_in=c_out, so I'm confused.

Anyway, since label_len=0 also works, It doesn't matter to much.

from informer2020.

cookieminions avatar cookieminions commented on May 22, 2024

Yes, label_len means length of the start token series before the predict seires, so output_seq_len=label_len+pred_len.
The input sequence of Informer decoder is consist of a history series(label_len) before prediction and a series(pred_len) filled with zero. You can refer to the Figure 1.

from informer2020.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.