TimeMixer
TimeMixer copied to clipboard
[ICLR 2024] Official implementation of "TimeMixer: Decomposable Multiscale Mixing for Time Series Forecasting"
My task is to carry out power load forecasting, the data is one data point per 15min (96 time points a day), I also have temperature data in the same...
How to perform hyperparameter search.
``` (TimeMixer) lisheng@sunshine-System-Product-Name:~/TimeMixer_lab/TimeMixer-main$ bash ./scripts/short_term_forecast/PEMS/PEMS04.sh 是否使用gpu:True Args in experiment: Namespace(task_name='long_term_forecast', is_training=1, model_id='PEMS04', model='TimeMixer', data='PEMS', root_path='./dataset/PEMS/', data_path='PEMS04.npz', features='M', target='OT', freq='h', checkpoints='./checkpoints/', seq_len=96, label_len=0, pred_len=12, seasonal_patterns='Monthly', inverse=False, top_k=5, num_kernels=6, enc_in=307, dec_in=307, c_out=307,...
1.When executing the short_time_forecast, running the script ./scripts/short_term_forecast/M4/TimeMixer.sh,results in the following error: ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimension....
An error
RuntimeError: The size of tensor a (96) must match the size of tensor b (144) at non-singleton dimension 1
读了论文,感觉有几个地方会有点不理解 1)二维图的竖轴是period len好理解,横轴这个frequency就误导了,修改为period index更好理解一些,例如fft峰值在frequency=4,那么纵轴period len = total len / 4,横轴period index = {0,1,2,3}。事实上这里的横轴不是频率,只是有数量关系fft peak frequency index = max period index,物理意义不对?个人感觉和stft 时频图那种的一个竖轴频率,一个横轴时间,物理意义更加明确。且在附录中,有time view和embedding view画的彩色图,个人理解是把dmodel的维度展开来可视化,和frequency还是没有什么关系?特别是横轴在展开dmodel之后,变成类似连续的了(之前time view横轴是0,1,2,3离散的;展开dmodel后横轴实际上是4*dmodel个离散值,如果freq=4峰值),更加难以解释物理意义?还请指正 2)在双轴注意力部分,附录中有点看不懂。首先说输入图像,前文说纵轴pk是period len,横轴fmk是period个数 = fft 峰值的freq index(个人还是认为可以换一个符号如...
作者您好!感谢开源。 我在运行代码时将down_sampling_method设置为conv,结果发现报错RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same。分析后,我认为def __multi_scale_process_inputs函数中nn.Conv1d的参数并没有随TIMEMIXER模型初始化时被一起初始化,原因是当执行 model = Model() 来实例化 Model 类时,Python 会调用 Model 类的 __init__ 方法(若未定义,会调用其父类的 __init__ 方法)。不过,因为 torch.nn.Conv1d 是在 __multi_scale_process_inputs...