原始论文链接:https://arxiv.org/abs/2402.02592
论文代码:https://github.com/SalesforceAIResearch/uni2ts
论文介绍PDF:https://icml.cc/media/icml-2024/Slides/35515_0AiUB3v.pdf
在这个页面,我们对lotsa_v1的各个数据信息进行分析,lotsa_v1一共有 170 个子数据集。
原文分了BuildingsBench,ClimateLearn,CloudOps TSF,GluonTS,LargeST,LibCity,Monash,ProEnFo,SubseasonalClimateUSA,Others这10个子集,而这里根据其领域的关系,进一步聚合为下面8个domain。(但其实有些内容也无法归于同一个domain,比如gluon_ts里面包含了monash archive许多不同领域的时序数据)
"buildings_bench": [BuildingsBenchDatasetBuilder, Buildings900KDatasetBuilder],
"cloud_ops_tsf": CloudOpsTSFDatasetBuilder,
"climate": [CMIP6DatasetBuilder, ERA5DatasetBuilder, SubseasonalDatasetBuilder],
"gluon_ts": GluonTSDatasetBuilder,
"large_st": LargeSTDatasetBuilder,
"lib_city": LibCityDatasetBuilder,
"pro_en_fo": ProEnFoDatasetBuilder,
"others_lotsa": OthersLOTSADatasetBuilder,
在初步分析前,我们先来看看lotsa数据集的格式
huggingface数据集链接:https://huggingface.co/datasets/Salesforce/lotsa_data

在所有文件里有很多文件夹,每个文件夹对应一个子数据集,读取方式如下。
datasets.load_from_disk(str(env.LOTSA_V1_PATH / dataset_name)).with_format("numpy")
下面以HZMETRO为例,来看其内部的结构。
数据是以huggingface dataset的结构存储。通俗来理解,一个dataset就是一个table,每一行对应了一个时间序列数据,其中列名包括:item_id,start(target的开始时间戳),freq(数据频率),target(单变量 / 多变量时间序列)。
论文中对HZMetro数据的介绍如下图所示,可以看见其频率为15T,一共有80个时间序列(对应于数据集中的行数为80,也即80个不同的item_id),#Targets为2表示其每个时间序列有两个变量维度,即是多变量时间序列,最后一列#Obs.代表了数据集中的时间点个数总和(“total number of observations in the dataset (defined as $\sum_{i=1}^N T_i$ for a dataset with N time series).”)。
此外有些数据集还存在covariates,即Table 13中的# Past Covariates列,如果存在的话其时间应该是和Targets严格对应的。
<aside> ⚠️
这里由于HZMETRO这个数据集,论文中的数值和我计算出来的结果不一致,我又根据原作者代码(https://github.com/SalesforceAIResearch/uni2ts/blob/main/example/lotsa_v1_weighting.ipynb)进行了复核,应该是论文中数值统计错了(因为其他数值大部分是可以对上的)。
</aside>

