Giter Site home page Giter Site logo

cure-lab / ltsf-linear Goto Github PK

View Code? Open in Web Editor NEW
1.9K 16.0 433.0 5.8 MB

[AAAI-23 Oral] Official implementation of the paper "Are Transformers Effective for Time Series Forecasting?"

License: Apache License 2.0

Python 85.37% Shell 14.63%
deep-learning forecasting forecasting-model linear-models pytorch time-series time-series-forecasting time-series-prediction aaai aaai2023

ltsf-linear's Introduction

Are Transformers Effective for Time Series Forecasting? (AAAI 2023)

This repo is the official Pytorch implementation of LTSF-Linear: "Are Transformers Effective for Time Series Forecasting?".

Updates

  • [2024/01/28] Our model has been included in NeuralForecast. Special thanks to the contributor @cchallu!

  • [2022/11/23] Accepted to AAAI 2023 with three strong accept! We also release a benchmark for long-term time series forecasting for further research.

  • [2022/08/25] We update our paper with comprehensive analyses on why existing LTSF-Transformers do not work well on the LTSF problem!

  • [2022/08/25] Besides DLinear, we're excited to add two Linear models to the paper and this repo. Now we have an LTSF-Linear family!

    • Linear: Just one linear layer.
    • DLinear: Decomposition Linear to handle data with trend and seasonality patterns.
    • NLinear: A Normalized Linear to deal with train-test set distribution shifts. See section 'LTSF-Linear' for more details.
  • [2022/08/25] We update some scripts of LTSF-Linear.

    • Linear, NLinear, and DLinear use the same scripts.
    • Some results of DLinear are slightly different now.

Features

Besides LTSF-Linear, we provide five significant forecasting Transformers to re-implement the results in the paper.

Detailed Description

We provide all experiment script files in ./scripts:

Files Interpretation
EXP-LongForecasting Long-term Time Series Forecasting Task
EXP-LookBackWindow Study the impact of different look-back window sizes
EXP-Embedding Study the effects of different embedding strategies

This code is simply built on the code base of Autoformer. We appreciate the following GitHub repos a lot for their valuable code base or datasets:

The implementation of Autoformer, Informer, and Transformer is from https://github.com/thuml/Autoformer

The implementation of FEDformer is from https://github.com/MAZiqing/FEDformer

The implementation of Pyraformer is from https://github.com/alipay/Pyraformer

LTSF-Linear

LTSF-Linear family

image LTSF-Linear is a set of linear models.

  • Linear: It is just a one-layer linear model, but it outperforms Transformers.
  • NLinear: To boost the performance of Linear when there is a distribution shift in the dataset, NLinear first subtracts the input by the last value of the sequence. Then, the input goes through a linear layer, and the subtracted part is added back before making the final prediction. The subtraction and addition in NLinear are a simple normalization for the input sequence.
  • DLinear: It is a combination of a Decomposition scheme used in Autoformer and FEDformer with linear layers. It first decomposes a raw data input into a trend component by a moving average kernel and a remainder (seasonal) component. Then, two one-layer linear layers are applied to each component and we sum up the two features to get the final prediction. By explicitly handling trend, DLinear enhances the performance of a vanilla linear when there is a clear trend in the data.

Although LTSF-Linear is simple, it has some compelling characteristics:

  • An O(1) maximum signal traversing path length: The shorter the path, the better the dependencies are captured, making LTSF-Linear capable of capturing both short-range and long-range temporal relations.
  • High-efficiency: As each branch has only one linear layer, it costs much lower memory and fewer parameters and has a faster inference speed than existing Transformers.
  • Interpretability: After training, we can visualize weights to have some insights into the predicted values.
  • Easy-to-use: LTSF-Linear can be obtained easily without tuning model hyper-parameters.

Comparison with Transformers

Univariate Forecasting: image Multivariate Forecasting: image LTSF-Linear outperforms all transformer-based methods by a large margin.

Efficiency

image Comparison of method efficiency with Look-back window size 96 and Forecasting steps 720 on Electricity. MACs are the number of multiply-accumulate operations. We use DLinear for comparison since it has the double cost in LTSF-Linear. The inference time averages 5 runs.

Getting Started

Environment Requirements

First, please make sure you have installed Conda. Then, our environment can be installed by:

conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt

Data Preparation

You can obtain all the nine benchmarks from Google Drive provided in Autoformer. All the datasets are well pre-processed and can be used easily.

mkdir dataset

Please put them in the ./dataset directory

Training Example

  • In scripts/ , we provide the model implementation Dlinear/Autoformer/Informer/Transformer
  • In FEDformer/scripts/, we provide the FEDformer implementation
  • In Pyraformer/scripts/, we provide the Pyraformer implementation

For example:

To train the LTSF-Linear on Exchange-Rate dataset, you can use the script scripts/EXP-LongForecasting/Linear/exchange_rate.sh:

sh scripts/EXP-LongForecasting/Linear/exchange_rate.sh

It will start to train DLinear by default, the results will be shown in logs/LongForecasting. You can specify the name of the model in the script. (Linear, DLinear, NLinear)

All scripts about using LTSF-Linear on long forecasting task is in scripts/EXP-LongForecasting/Linear/, you can run them in a similar way. The default look-back window in scripts is 336, LTSF-Linear generally achieves better results with longer look-back window as dicussed in the paper.

Scripts about look-back window size and long forecasting of FEDformer and Pyraformer are in FEDformer/scripts and Pyraformer/scripts, respectively. To run them, you need to first cd FEDformer or cd Pyraformer. Then, you can use sh to run them in a similar way. Logs will be stored in logs/.

Each experiment in scripts/EXP-LongForecasting/Linear/ takes 5min-20min. For other Transformer scripts, since we put all related experiments in one script file, directly running them will take 8 hours per day. You can keep the experiments you are interested in and comment on the others.

Weights Visualization

As shown in our paper, the weights of LTSF-Linear can reveal some characteristics of the data, i.e., the periodicity. As an example, we provide the weight visualization of DLinear in weight_plot.py. To run the visualization, you need to input the model path (model_name) of DLinear (the model directory in ./checkpoint by default). To obtain smooth and clear patterns, you can use the initialization we provided in the file of linear models.

image

Citing

If you find this repository useful for your work, please consider citing it as follows:

@inproceedings{Zeng2022AreTE,
  title={Are Transformers Effective for Time Series Forecasting?},
  author={Ailing Zeng and Muxi Chen and Lei Zhang and Qiang Xu},
  journal={Proceedings of the AAAI Conference on Artificial Intelligence},
  year={2023}
}

Please remember to cite all the datasets and compared methods if you use them in your experiments.

ltsf-linear's People

Contributors

ailingzengzzz avatar mixiancmx avatar shaido987 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ltsf-linear's Issues

Support for external regressors/covariates

Hi,

In its current state, we map the inputs of (sample, time_back, channels) to (sample, time_fwd, channels). This assumes that channels stays the same. What can we do to allow for an influence of external covariates to the forecast - Is this also covered in the paper?

My current approach here would to simply map the inbound (sample, time_back, channels + covariates) to (sample, time_back, channels) via a simple 1D-Conv algorithm.

Thanks!

real_prediction.npy

Thank you for publishing this paper! I am using DLinear model and the dataset is Weather data provided by you to predict Weather data. I'm a little confused about the content of real_prediction.npy . Could you plz explain how it relates to the real weather data?

This is the part of real_prediction.npy(pred_len 192):
image

Scripts:

python -u run_longExp.py
 --is_training 1 
 --root_path ./dataset/ 
 --data_path weather.csv 
 --model_id weather_336_192 
 --model DLinear 
 --data custom 
 --features M 
 --seq_len 336
 --pred_len 192 
 --enc_in 21 
 --des 'Exp' 
 --itr 1 
 --batch_size 16  > logs/LongForecasting/DLinear_Weather_336_192.log

Question about short-time prediction

Dear author,
thanks for the clear documentation!
Very great work.

I am curious how the model performs on the short-term prediction. Did you do some experiments on short-term prediction as shown in SCINet?
As shown in Fig.4 (effect of the feedback window size), when the look-back window size is small the Linear model performs worse than some transformer models. Do you have any intuitive interpretation of this?

Best,

Not GPU optimal code

Hello:)

Thanks a lot for the paper and the repository, very intuitive and easy to use for a nice reproducibility.

I was doing some tests with the DLinear model in a GPU, and I have noticed that the improvement from the CPU version is quite negligible. Seems the implementation of the model is not optimal for GPU acceleration, probably the forward method in the moving_avg network class is the issue here.

Anyway, I just wanted to point it out so you could be aware of it if you were not already. Keep up the good work and thanks a lot!

BR,
Ferran

request

Dear developers ..a very big request from a newbie ... make notebooks in python in each project ..so that such a newbie can see how to run it correctly and try it. Thank you very much for your work

A question about reprocuctive results on ETT dataset

作者您好,我在使用您提供的脚本的DLinear模型跑ETT集的时候,发现复现不了您论文的结果,然后我根据您的最新更新更改了seq_len=96,仍然是没能得到期望的结果,想请问一下,是否还有其他的超参需要设置?可否更新关于这个数据集的最新脚本呢?谢谢,期待您的回复。

Hi i have a question !

image

Your research is very impressive. I wonder why you use the following code!

nn.Parameter((1/self.seq_len)*torch.ones([self.pred_len,self.seq_len]))

Why use the nn.parameter in linear module?
And why factor of nn.parameter (1/self.seq_len)*torch.ones([self.pred_len,self.I wonder if it is set to seq_len].

Thank you!

Decoder in D-linear model

hi could you please explain the usage of the decoder in the model for it's initialized but never been called? thanks

RunTime Error - Transformer

Hi,

I have been trying to run Transformer for ETTh1.csv with feature = 's' (univariate predicts univariate) but gets the:
RuntimeError: Given groups=1, weight of size [512, 7, 3], expected input[32, 1, 98] to have 7 channels, but got 1 channels instead.

I did not find any example of feature = 'S' in the scripts. It was not part of the paper experiments I believe but do you know the arguments to make this mode run?

A small question about run Autoformer

作者您好,我在跑Autoformer模型时出现错误(DLinear和NLinear模型能正常运行),Given groups=1, weight of size [512, 7, 3], expected input[32, 5, 482] to have 7 channels, but got 5 channels instead,请问是什么原因?

Add License file

Really awesome work with this model. I would love to add it to the darts forecasting library. Can you add a license?

about the final results in the paper [2]

Hello,

I am having trouble reproducing some results for the DLinear model, could the authors please comment if something is wrong with the results for the datasets ETTh2

datasets in the paper reproduced
0.399 0.397
ETTh1 0.416 0.418
0.443 0.436
0.49 0.495
0.353 0.401
ETTh2 0.418 0.463
0.465 0.502
0.551 0.586
0.343 0.345
ETTm1 0.365 0.364
0.386 0.389
0.421 0.420
0.26 0.261
ETTm2 0.303 0.316
0.342 0.366
0.421 0.436
0.237 0.239
Electricity 0.249 0.252
0.267 0.273
0.301 0.300
0.203 0.204
Exchange 0.293 0.312
0.414 0.417
0.601 0.808
0.282 0.291
Traffic 0.287 0.291
0.296 0.299
0.315 0.317
0.237 0.234
Weather 0.282 0.276
0.319 0.310
0.362 0.371

I used the hyperparameters given in the code repository for the sequence length 336 for the ETTh2 task, given here: https://github.com/cure-lab/DLinear/blob/main/scripts/EXP-LongForecasting/DLinear/etth2.sh

关于MS

您好,请问在代码中,如果设置individual为True的情况下,MS是否与S没有区别,MS只是分别计算了N个变量的结果,然后输出了target的结果?

"loss: nan" on my own dataset

Hi, thanks for your open-source code, I wanted to use it on my own dataset, but got "loss: nan" during training.

My dataset has thousands of sequences, each with nearly 10,000 Timesteps, spaced 10min apart. The style of the dataset is the same as other datasets like weather.csv.

The model I'm using is Dlinear, I only changed the "enc_in" parameter in weather.sh.

Can you help me? Thank you very much.

Error in "scripts/EXP-LongForecasting/Linear/univariate/etth2.sh"

There is an error while running univariate exp as shown in the following

(LTSF_Linear) user:~/LTSF-Linear-main$ sh scripts/EXP-LongForecasting/Linear/univariate/etth2.sh
Traceback (most recent call last):
File "run_longExp.py", line 120, in
exp.train(setting)
File "/user/LTSF-Linear-main/exp/exp_main.py", line 100, in train
train_data, train_loader = self._get_data(flag='train')
File "/user/LTSF-Linear-main/exp/exp_main.py", line 42, in _get_data
data_set, data_loader = data_provider(self.args, flag)
File "/user/LTSF-Linear-main/data_provider/data_factory.py", line 44, in data_provider
train_only=train_only
TypeError: init() got an unexpected keyword argument 'train_only'

FEDformer

It seems like there are some spelling errors in FEDformer/scripts/LongForecasting.sh.
77c949c5e62dd05ebe7dc99876a80a8
preLen should be change to pred_len.

RuntimeError - Transformer

Hi!
When I ran script:
DLinear]scripts/EXP-LongForecasting/DLinear)/weather.sh
for base line model: Transformer

I got an error:
RuntimeError: Given groups=1, weight of size [512, 7, 3], expected input[16, 21, 338] to have 7 channels, but got 21 channels instead

If yes, can you tell me what the error is and how to fix it?

Thank so much!

当加入do_predict 参数时,Informer模型报错

我运行了这个脚本:

python -u run_longExp.py \
    --do_predict \
    --is_training 1 \
    --root_path ./dataset/exchange_rate/ \
    --data_path exchange_rate.csv \
    --model_id exchange_96_$pred_len \
    --model Informer \
    --data custom \
    --features M \
    --seq_len 96 \
    --label_len 48 \
    --pred_len $pred_len \
    --e_layers 2 \
    --d_layers 1 \
    --factor 3 \
    --enc_in 8 \
    --dec_in 8 \
    --c_out 8 \
    --des 'Exp' \
    --itr 1 \
    --train_epochs 1 

以下是命令行输出:

Args in experiment:
Namespace(activation='gelu', batch_size=32, c_out=8, checkpoints='./checkpoints/', d_ff=2048, d_layers=1, d_model=512, data='custom', data_path='exchange_rate.csv', dec_in=8, des='Exp', devices='0,1,2,3', distil=True, do_predict=True, dropout=0.05, e_layers=2, embed='timeF', embed_type=0, enc_in=8, factor=3, features='M', freq='h', gpu=0, individual=False, is_training=1, itr=1, label_len=48, learning_rate=0.0001, loss='mse', lradj='type1', model='Informer', model_id='exchange_96_120', moving_avg=25, n_heads=8, num_workers=10, output_attention=False, patience=3, pred_len=120, root_path='./dataset/exchange_rate/', seq_len=96, target='OT', test_flop=False, train_epochs=1, use_amp=False, use_gpu=True, use_multi_gpu=False)
Use GPU: cuda:0
>>>>>>>start training : exchange_96_120_Informer_custom_ftM_sl96_ll48_pl120_dm512_nh8_el2_dl1_df2048_fc3_ebtimeF_dtTrue_Exp_0>>>>>>>>>>>>>>>>>>>>>>>>>>
train 5096
val 641
test 1398
        iters: 100, epoch: 1 | loss: 0.1259047
        speed: 0.0486s/iter; left time: 2.9178s
Epoch: 1 cost time: 7.077927827835083
Epoch: 1, Steps: 159 | Train Loss: 0.1731077 Vali Loss: 1.1843609 Test Loss: 1.1154609
Validation loss decreased (inf --> 1.184361).  Saving model ...
Updating learning rate to 0.0001
>>>>>>>testing : exchange_96_120_Informer_custom_ftM_sl96_ll48_pl120_dm512_nh8_el2_dl1_df2048_fc3_ebtimeF_dtTrue_Exp_0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
test 1398
mse:1.1147866249084473, mae:0.8330836892127991, rse:0.8076118230819702, corr:[0.24108462 0.24678592 0.24392055 0.24274895 0.22613086 0.19483154
 0.1852246  0.2311919  0.25147945 0.251398   0.25062573 0.25143278
 0.25249884 0.2528906  0.25294933 0.22224696 0.2227691  0.21820134
 0.19351245 0.18052752 0.19348595 0.22811855 0.23000397 0.23135814
 0.23256278 0.23463184 0.2364058  0.23792957 0.24070178 0.24167521
 0.2427638  0.2435694  0.2447382  0.24577461 0.24641903 0.24683402
 0.20000085 0.20692253 0.19702218 0.16924712 0.17058574 0.19402179
 0.22150224 0.2209114  0.22238493 0.22340567 0.22408836 0.22468452
 0.22588584 0.22590385 0.22753711 0.22735012 0.21611132 0.18711384
 0.20201753 0.22868772 0.22724001 0.1211504  0.11464377 0.1071261
 0.1140019  0.08780861 0.09210575 0.1355948  0.13518718 0.13542011
 0.13608931 0.13703717 0.13842893 0.13920164 0.13880695 0.1387923
 0.13823137 0.13817464 0.13796644 0.13769653 0.1388846  0.13867514
 0.06931209 0.08072186 0.08846329 0.08113836 0.0582654  0.06327966
 0.09149899 0.0925437  0.09210765 0.09361114 0.09443957 0.09350318
 0.08794986 0.0941087  0.10597284 0.09435335 0.09391043 0.09371786
 0.0939559  0.09545616 0.09653702 0.0536112  0.0556343  0.04710176
 0.03804478 0.01398382 0.04278605 0.06057864 0.06071161 0.06060273
 0.06185045 0.06670263 0.09216081 0.07663918 0.07157028 0.0708864
 0.0719923  0.07214642 0.07216961 0.07173441 0.07221275 0.07557579]
>>>>>>>predicting : exchange_96_120_Informer_custom_ftM_sl96_ll48_pl120_dm512_nh8_el2_dl1_df2048_fc3_ebtimeF_dtTrue_Exp_0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
pred 1
Traceback (most recent call last):
  File "run_longExp.py", line 126, in <module>
    exp.predict(setting, True)
  File "/DLinear/exp/exp_main.py", line 336, in predict
    outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)
  File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
    return forward_call(*input, **kwargs)
  File "/DLinear/models/Informer.py", line 95, in forward
    dec_out = self.dec_embedding(x_dec, x_mark_dec)
  File "/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
    return forward_call(*input, **kwargs)
  File "/DLinear/layers/Embed.py", line 117, in forward
    x = self.value_embedding(x) + self.temporal_embedding(x_mark) + self.position_embedding(x)
RuntimeError: The size of tensor a (96) must match the size of tensor b (168) at non-singleton dimension 1

LogTrans not find

Hi,LogTrans was compared in your paper, but the code is not find in this repository.
Can you give me some hints? Thanks.

A question about reprocuctive results on FEDformer

Hello,In the process of reproducing your paper, I encountered a little problem about FEDformer.
I did what you told at readme.md

torch1.11) [xxx@master FEDformer]sh scripts/LongForecasting.sh

And some error happened

RuntimeError: Given groups=1, weight of size [512, 7, 3], expected input[32, 1, 98] to have 7 channels, but got 1 channels instead

Have you meet this situation before?

Question regarding training with just pos embeddings

Hi,

Thank you for this insightful paper and the code base. I had a question:

Q1) I want to train the model (Transformer) with just pos embedding (as the original Transformer with just positional embedding dependent on trigonometric function), no value or temporal embedding. It throws an error because of different tensor sizes. Should we add an nn.linear embedding of output d_model before pos embedding to make the tensor size consistent? Does this seem consistent or do we have a more robust way?

about the final results in the paper

Hello,

Thank you for open-sourcing the code. I wanted to ask a follow-up question, whether the final test results in the paper correspond to the averages across different random seeds or are the test results based on the minimum validation result across different seeds?

Thank you and looking forward to hearing from you

Clarification about metrics

It seems to me that the metrics are being calculated w.r.t to the standard scaled data? I thought that the metrics reported in the paper were w.r.t the original dataset. Either way it would be great if this can be clarified.

Thanks in advance.

RuntimeError

In FEDformer/scripts/LongForecasting.sh,when I want to train the FEDformer on Exchange-Rate dataset.If I don't change --features S to --features M,I will get RuntimeError:Given groups=1, weight of size [512, 7, 3], expected input[32, 1, 98] to have 7 channels, but got 1 channels instead.
image
This question has been confusing me. Do you happen to know the reason?

label-len

Shouldn't label len be 0 in Linear models?
image
dataloader.py (in parser default label_len is 48)

    def __getitem__(self, index):
        s_begin = index
        s_end = s_begin + self.seq_len
        r_begin = s_end - self.label_len
        r_end = r_begin + self.label_len + self.pred_len

        seq_x = self.data_x[s_begin:s_end]
        seq_y = self.data_y[r_begin:r_end]
        seq_x_mark = self.data_stamp[s_begin:s_end]
        seq_y_mark = self.data_stamp[r_begin:r_end]

        return seq_x, seq_y, seq_x_mark, seq_y_mark

start a new process before the current process

when I run the existing training command
sh scripts/EXP-LongForecasting/Linear/exchange_rate.sh
I get this error. I am using anaconda windows environment

An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.

关于训练数据量和时间特征对于linear模型的影响

您好,非常令人眼前一亮的工作。我看您在文章中分析了一下训练数据量对于一些former的影响,我想问一下训练数据量对于linea模型的影响您有大致分析过吗?另外,如果对linear模型结合一些时间特征time embedding(不采用informer的embedding方式),对模型性能会有什么样的影响呢

Cannot reproduce the paper results with the exchange_rate dataset

Hi,
I've used your scripts to try and reproduce the results of the exchange dataset but the results look different for some forecast horizons:

Screen Shot 2023-01-19 at 20 09 55

I wonder if you've made any changes to the code base after you run your experiments that might have had a negative impact on performance.

The results I got are still better than for other Transformers, and very close to the published ones for "Repeat". If this is the case, it would indicate that none of the models in the study is capable of correctly predicting the exchange rate in the long term better than the last available value (which is not the case for other datasets).

How to understand the test result CORR?

Thank you so much for such insight on tsf tasks!!!
I have a simple question,Given dataset ettm1 for example,how to understand the Corr?the shape of Corr is correlated with the shape of datasets? example ,input shape (8,7,96),output shape (8,7,96)

关于MS multivariate predict univariate

参数features type如果选择MS的话,应该是multivariate predict univariate,那么在这种情况下,看起来训练用到了 历史数据的各种多变量features,例如ETT数据集里的['HUFL', 'HULL','MUFL', 'MULL','LUFL','LULL'] 这些, 但inference/predict部分的时候并没有用到pred_features里的这些特征,而是直接预测了target,请问这个理解是不是正确的呢?

run_stat results are the same?

Use stat_ model gbrt to test ETTm1 , the test result is a horizontal line。I don't know the reason for this result? Could you give me some information?
image

Calculation of metric when features type is M

Hi, according to my understanding of codes, when features type is set to M, the size of prediction tensor is [Batch, Output length, Feature], and the metrics (mae, mse, etc) are calculated with all the features, instead of only with target ?

Prediction without a target column?

Thanks for your sharing! Your paper was a pleasant read.

To my best understanding, all datasets have a target column as a 'dependent variable.' Is it possible to train the model on all columns instead with this inplementation? For example, a model trained with temperature & humidity will produce future temperature & humidity.

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.