来源:机器之心 本文长度为2527字,建议阅读5分钟 本文为你介绍如何在Keras深度学习库中搭建用于多变量时间序列预测的LSTM模型。...完成本教程后,你将学会: 如何将原始数据集转换成适用于时间序列预测的数据集 如何处理数据并使其适应用于多变量时间序列预测问题的 LSTM 模型。 如何做出预测并将结果重新调整到初始单元。...以下脚本用于加载原始数据集,并将日期时间信息解析为 Pandas DataFrame 索引。「No」列被删除,每列被指定更加清晰的名称。最后,将 NA 值替换为「0」值,并删除前一天的数据。...运行上例创建一个具有 7 个子图的大图,显示每个变量 5 年中的数据。 空气污染时间序列折线图 多变量 LSTM 预测模型 本节,我们将调整一个 LSTM 模型以适合此预测问题。...具体点讲,你学会了: 如何将原始数据集转换成适用于时间序列预测的数据集 如何处理数据并使其适应用于多变量时间序列预测问题的 LSTM 模型。 如何做出预测并将结果重新调整到初始单元。
数据集中可能包含成千上万个属性,绝大部分属性与分析或挖掘目标无关,这些无关的属性可直接被删除,以缩小数据集的规模,这一操作就是维度规约。...) 3.3.1 降采样介绍 降采样是一种简单的数据规约操作,它主要是将高频率采集数据规约到低频率采集数据,比如,从每日采集一次数据降低到每月采集一次数据,会增大采样的时间粒度,且在一定程度上减少了数据量...降采样常见于时间序列类型的数据。假设现有一组按日统计的包含开盘价、收盘价等信息的股票数据(非真实数据),该组数据的采集频率由每天采集一次变为每7天采集一次。...左表是按天采集的一个月股票数据,右表是按7天采集的一个月股票数据,且每行数据对应左表相同周期内数据的平均值。...resample方法,是针对时间序列的频率转换和重采样的简便方法。
重塑 DataFrame 是数据科学中一项重要且必不可少的技能。在本文中,我们将探讨 Pandas Melt() 以及如何使用它进行数据处理。...最简单的melt 最简单的melt()不需要任何参数,它将所有列变成行(显示为列变量)并在新列值中列出所有关联值。...id_vars='Country', var_name='Date', value_name='Cases' ) 指定多个 ID Melt() 最有用的特性之一是我们可以指定多个 id 以将它们保留为列...重塑 COVID-19 时间序列数据 有了到目前为止我们学到的知识,让我们来看看一个现实世界的问题:约翰霍普金斯大学 CSSE Github 提供的 COVID-19 时间序列数据。...日期显示为列名,它们很难执行逐日计算,例如计算每日新病例、新死亡人数和新康复人数。 让我们重塑 3 个数据集并将它们合并为一个 DataFrame。
2 第一部分 数据格式: 列名如下所示: 训练数据中有260个“特征”以及从测试数据中排除的类别变量。一年中约有253个交易日,feature1,feature2,…featureN是每日时间序列。...因此,可以对6,000个观测值中的1个进行采样,然后对unnest()进行采样,以获取所选随机资产之一的完整时间序列集,而不是对所有资产时间序列数据进行随机采样(这是完全错误的)。...现在,每种资产已从约260天分解到1个信号时间序列特征观测。 回想一下这里的目标是对合成时间序列与真实时间序列进行分类,而不是第二天的价格。...对于每项资产,我们都有一个信号观测值,并据此可以训练一种分类算法,以区分真实时间序列与合成时间序列。 训练数据: 数据的大小仍为12,000,具有109个特征(从tsfeatures包创建)。...训练X(输入变量)数据: 训练Y(预测变量)数据: 我们为XGBoost模型设置数据: 创建了一个网格搜索,以便在参数空间上进行搜索以找到数据集的最佳参数。它需要做更多的工作,但这是一个很好的起点。
周期内变化是指温度在一天内的变化,周期间变化是指温度每天或每年的变化。所以TimesNet的作者提出在二维空间中重塑序列,以模拟周期内和周期间的变化。...然后使用自适应聚合将该深度表示重塑回一维向量。 捕捉多周期性 为了捕获时间序列中多个时期的变化,作者建议将一维序列转换为二维空间,同时模拟周期内和周期间的变化。...在红色矩形内可以看到周期内的变化,也就是数据在一个周期内的变化。然后蓝色矩形包含周期间变化,这是数据如何从一个时期到另一个时期的变化。 为了更好地理解这一点,假设我们有以周为周期的每日数据。...然后,TimesNet为每个周期创建2D向量,并将这些向量发送到2D内核以捕获时间变化。...我们使用了知识共享署名许可下发布的Etth1数据集。这是文献中广泛使用的时间序列预测基准。它跟踪每小时的变压器油温,这反映了设备的状况。
使用时间序列数据 aapl.index aapl.columns ts = aapl['Close'][-10:] type(ts) aapl 为 Apple Inc. 的股票市场数据。...aapl的时间序列数据。...首先,对数据进行重新采样,以获取每个月的最后一个工作日,并使用lambda函数选择每个月的最后一个数据点,创建了名为monthly的新时间序列。...然后,计算了每个月度数据点之间的百分比变化,以显示aapl的月度增长或下降。接下来,对原始时间序列重新采样,以计算四个月的平均值,创建了名为quarter的新时间序列。...每个单元格显示两个变量的散点图,对角线图显示 KDE 图以可视化单个变量的分布。点的透明度值为 0.1 以显示密度,图形大小设置为 12 x 12 英寸。
在本文中,我们探索了如何使用开源库将日常能源消耗的时间序列数据集转换为表格形式。...我们仅使用训练数据计算每日能耗的四分位阈值,以避免数据泄漏。 接下来,我们将预测测试数据期间 PJME 的日能耗水平(以兆瓦为单位),并将预测值表示为离散变量。...建立时间序列模型时,只能使用时间序列预测模型(可能的ML模型的有限子集)。接下来,会探讨如何通过适当的特征化将时间序列转换为标准表格数据集,更灵活地对这些数据进行建模。...这些库可以提取大量的特征,包括统计特征、时间特征和可能的频谱特征,以捕捉时间序列数据的潜在模式和特征。通过将时间序列分解为单个特征,我们可以更容易地了解数据的不同方面是如何影响目标变量的。...不同类型模型的 AutoML 结果 在测试数据上运行推理以获得第二天的能耗水平预测结果后,我们发现测试准确率为 89%,与之前的梯度提升方法相比,原始准确率提高了 8%。
:一周中的一天,小时 在这种情况下,一天中的每个小时是一个分类变量,而不是连续变量。...elec_weat.head(3) 分成训练期和测试期 由于这是时间序列数据,定义训练期和测试期更有意义,而不是随机的零星数据点。...如果它不是一个时间序列,我们可以选择一个随机的样本来分离出一个测试集。 # 定义训练和测试期 train_start = '18-jan-2014'(训练开始)。...我们预留了一个测试数据集,所以我们将使用所有的输入变量(适当的缩放)来预测 "Y "目标值(下一小时的使用率)。...绘制测试期间的每日总千瓦时图 y_test_barplot ax.set_ylabel('每日总用电量(千瓦时)') # Pandas/Matplotlib的条形图将x轴转换为浮点,所以需要找回数据时间
每日最低温度数据集 这个数据集描述了澳大利亚墨尔本市十年(1981-1990)的每日最低温度。 单位是摄氏度,共有3650个观测值。数据的来源是澳大利亚气象局。...字符,在使用数据集之前必须将其删除。在文本编辑器中打开文件并删除“?”字符。也请删除该文件中的任何页脚信息。 下面的例子将会加载“每日最低温度数据集”并绘制时间序列图。...每日最低温度数据集图 相关和自相关 统计相关性总结了两个变量之间关系的强度。 我们可以假设每个变量的分布符合高斯(钟形曲线)分布。...使用较少滞后的每日最低温度数据集自相关图 偏自相关函数 偏自相关是时间序列中的观测值与去除掉干预观测值之间的关系的前先前时间步观测值之间的关系的摘要。...每日最低温度数据集的偏自相关图 ACF和PACF图的直观认识(intuition) 自相关函数图和时间序列的偏自相关函数说明了一个完全不同的事情。
这些预测可以被合并在一个集合中,以产生更好的预测。 在本教程中,我们将探讨可以考虑重新构建时间序列预测问题的三种不同的方法。...在我们进入之前,我们来看一个作为案例的简单单变量时间序列预测最低日温的问题。 最低每日温度数据集 这个数据集描述了澳大利亚墨尔本市十年(1981-1990)的最低日温度。...字符,在使用数据集之前必须将其删除。在文本编辑器中打开文件并删除“?”字符。也删除该文件中的任何页脚信息。 下面的例子将数据集加载为Pandas系列。...下面是一个例子,重新设置最低日温度预测问题,以预测每日温度四舍五入到最接近的5倍数的值。...问题的定义是:给定从前一天的最低日温度,以摄氏度为单位,预测未来7天的最低日温度。
NOAA 每月美国气候网格数据集 (NClimGrid)¶ NOAA 每月美国气候网格数据集 (NClimGrid) 数据集可作为每日 (NClimGrid-d) 或每月 (NClimGrid-m) 数据集提供...空间和时间平均往往会减少这些不确定性的影响,并且此类聚合值的时间序列可以证明适合气候学应用。您可以在此处找到有关数据集的其他信息前言 – 人工智能教程,并在此处找到气候引擎组织页面。...数据集描述¶ 空间信息 范围 价值 空间范围 美国本土 空间分辨率 4.6 公里(1/24 度 x 1/24 度) 时间分辨率 每日和每月 时间跨度 1951年1月1日至今(每日数据);1895年1月1...日至今(月度数据) 更新频率 每日更新,滞后 3 天(每日数据);每月更新一次,滞后 1 个月(每月数据) 变量 多变的 细节 最低温度,2m - 单位:摄氏度 - 比例因子:1.0 最高温度,2m...NClimGrid) 数据集可作为每日 (NClimGrid-d) 或每月 (NClimGrid-m) 数据集提供。
核密度估计法 核密度估计法是统计中常用的估计分布函数序列值的非参数方法,其基本的算法形式是: R中有专门进行核密度估计的包Kernsmooth.同样以HS300指数日度数据为例,以核密度方法计算VaR的...混合时间加权法也可以通过R简单实现,以HS300指数日度数据为例,其R代码如下: #混合时间加权法weight-ep(0,n) #计算出每个收益率的权重,距离当前越近的观测权重愈大。...混合时间加权的优点在于不改变原始数据,所求得的VaR必然是原始数据或其线性组合。如果置信度设为95%,重新运行程序得到每日的最大可能损失为2.19%。...例题:VaR的滚动计算与回测:从中证800中任选一只股票,选定2013年至今的日度收盘价序列为研究样本,以90天为窗宽,以正态分布法滚动计算日度95%VaR,并画出收盘价时序图和VaR预测的最坏变化图进行对比...,以60天为窗宽,以核密度估计法滚动计算日度95%VaR,并画出收盘价时序图和VaR预测的最坏变化图进行对比。
每日最低温度数据集 这个数据集描述了澳大利亚墨尔本市十年(1981-1990)的每日最低温度。 单位是摄氏度,共有3650个观测值。数据的来源是澳大利亚气象局。...字符,在使用数据集之前必须将其删除。在文本编辑器中打开文件并删除“?”字符。也请删除该文件中的任何页脚信息。 下面的例子将会加载“每日最低温度数据集”并绘制时间序列图。...[ndh0b95tiu.png] 每日最低温度数据集图 相关和自相关 统计相关性总结了两个变量之间关系的强度。 我们可以假设每个变量的分布符合高斯(钟形曲线)分布。...[xlzg3obqto.png] 使用较少滞后的每日最低温度数据集自相关图 偏自相关函数 偏自相关是时间序列中的观测值与去除掉干预观测值之间的关系的前先前时间步观测值之间的关系的摘要。...[fbn71zrqv1.png] 每日最低温度数据集的偏自相关图 ACF和PACF图的直观认识(intuition) 自相关函数图和时间序列的偏自相关函数说明了一个完全不同的事情。
这就引出了一个问题:时间序列的基础模型能像自然语言处理那样存在吗?一个预先训练了大量时间序列数据的大型模型,是否有可能在未见过的数据上产生准确的预测?...然后,我们将其应用于预测项目中,以评估其与其他最先进的方法(如N-BEATS, N-HiTS和PatchTST)的性能。 TimeGPT TimeGPT是为时间序列预测创建基础模型的第一次尝试。...在这里为测试集保留168个时间步长,这对应于24周的每日数据。...nf = NeuralForecast(models=models, freq='D') 在7个时间步骤的24个窗口上运行执行验证,以获得与用于TimeGPT的测试集一致的预测。...另外我们做的一个动作是将预测四舍五入为整数,因为小数在每日访问量上下文中是没有意义的。
这就引出了一个问题:时间序列的基础模型能像自然语言处理那样存在吗?一个预先训练了大量时间序列数据的大型模型,是否有可能在未见过的数据上产生准确的预测?...然后,我们将其应用于预测项目中,以评估其与其他最先进的方法(如N-BEATS, N-HiTS和PatchTST)的性能。 TimeGPT TimeGPT是为时间序列预测创建基础模型的第一次尝试。...在这里为测试集保留168个时间步长,这对应于24周的每日数据。...nf = NeuralForecast(models=models, freq='D') 在7个时间步骤的24个窗口上运行执行验证,以获得与用于TimeGPT的测试集一致的预测。...另外我们做的一个动作是将预测四舍五入为整数,因为小数在每日访问量上下文中是没有意义的。
完成本教程后,您将知道: 如何将原始数据集转换为我们可用于时间序列预测的东西。 如何准备数据和并将一个LSTM模型拟合到一个多变量的时间序列预测问题上。 如何进行预测并将结果重新调整到原始单位。...LSTM数据准备 第一步是准备LSTM的污染数据集。 这涉及将数据集构造为监督学习问题并对输入变量进行归一化。 我们将监督学习问题的框架,作为污染测量和天气条件在前一个时间步骤(t)预测污染。...下面的例子将数据集分解为训练集和测试集,然后将训练集和测试集分解为输入和输出变量。最后,输入(X)重塑成LSTM预期的3D格式,即[样例,时间步,特征]。...,您了解了如何将LSTM应用于多变量时间序列预测问题。...具体来说,你了解到: 如何将原始数据集转换为我们可用于时间序列预测的东西。 如何准备数据和适合多变量时间序列预测问题的LSTM。 如何进行预测并将结果重新调整到原始单位。
p=6663 此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测公民办公室的电力消耗。 每日数据是通过总计每天提供的15分钟间隔的消耗量来创建的。...自相关图,Dickey-Fuller测试和对数变换 为了确定我们的模型中是否存在平稳性: 生成自相关和偏自相关图 进行Dickey-Fuller测试 对时间序列进行对数变换,并再次运行上述两个过程,以确定平稳性的变化...(如果有的话) 首先,这是时间序列图: 据观察,波动性(或消费从一天到下一天的变化)非常高。...虽然这在技术上没有拒绝零假设所需的5%显着性阈值,但对数时间序列已显示基于CV度量的较低波动率,因此该时间序列用于LSTM的预测目的。 LSTM的时间序列分析 现在,LSTM模型用于预测目的。...0.24,测试数据集的均方根误差为0.23。
该数据集所包含的数据是以 "等水厚度 "为单位,以厘米为单位表示水的垂直范围的质量偏差。更多细节请参见提供者的月度质量网格概述。...GRACE Tellus(GRCTellus)月度质量网格数据集由三个中心制作。CSR(德克萨斯大学/空间研究中心)、GFZ(波茨坦地质研究中心)和JPL(美国航空航天局喷气推进实验室)。...每个中心都是GRACE地面系统的一部分,并产生本数据集所使用的二级数据(球面谐波场)。输出包括重力场和用于计算它们的纠偏场的球面谐波系数。由于每个中心独立产生系数,结果可能略有不同。...对大多数用户来说,建议使用所有三个数据集的平均值。更多的细节请见供应商的选择解决方案页面。 注意 由于GRACE观测的采样和后处理,小空间尺度的表面质量变化往往被削弱。...由球面谐波Level-2数据处理的GRCTellus陆地网格不适合准确量化格陵兰岛或南极洲、冰川和冰盖的冰量变化。对于这些地区,建议使用JPL的mascon解决方案,可作为以下图片集。
Lag-Llama lagllama是为单变量概率预测而构建的,它使用不依赖于频率的通用方法来标记时间序列数据。这样模型可以很好地泛化到不可见的频率。...它将从这个列表中为给定的数据集选择所有合适的频率: 季度、月、周、天、小时、秒 也就是说,如果以每日频率提供数据集,lag - llama将尝试使用每日滞后(t-1),每周滞后(t-7),每月滞后(t-...论文中说:Lag-Llama在来自不同领域的27个时间序列数据集上进行了训练,如能源、交通、经济等。 数据包含7965个单变量时间序列,总计约3.52亿个令牌。...实验使用了澳大利亚电力需求数据集,该数据集包含五个单变量时间序列,以半小时的频率跟踪能源需求。 这里有个说明:Lag-Llama目前的实现是初期阶段。...5、与TFT和DeepAR相比 我们在数据集上训练TFT和DeepAR模型,看看它们是否能表现得更好。 为了节省时间,我们将训练设置为5个epoch。
p=6663 此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测公民办公室的电力消耗。 每日数据是通过总计每天提供的15分钟间隔的消耗量来创建的。...自相关图,Dickey-Fuller测试和对数变换 为了确定我们的模型中是否存在平稳性: 生成自相关和偏自相关图 进行Dickey-Fuller测试 对时间序列进行对数变换,并再次运行上述两个过程,以确定平稳性的变化...(如果有的话) 首先,这是时间序列图: 据观察,波动性(或消费从一天到下一天的变化)非常高。...0.24,测试数据集的均方根误差为0.23。...此外,以对数格式表示时间序列可以提高LSTM的预测准确度。 本文摘选《Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据》。
领取专属 10元无门槛券
手把手带您无忧上云