当前位置: 首页 > news >正文

用vs与dw做网站什么做电子书下载网站好

用vs与dw做网站,什么做电子书下载网站好,智威汤逊广告公司,大连建设网站制作目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文模型 1.3.1 数据处理 1.3.2 GNet-LS 2 相关代码 摘要 本周阅读了一篇时间序列预测论文。论文模型为GNet-LS#xff0c;主要包含四个模块#xff1a;粒度划分模块#xff08;GD#xff09;…目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要  1.3 论文模型 1.3.1 数据处理 1.3.2 GNet-LS 2 相关代码 摘要 本周阅读了一篇时间序列预测论文。论文模型为GNet-LS主要包含四个模块粒度划分模块GD变量间外部关系挖掘模块ER目标变量内部关系挖掘模块IC特征融合模块DF。首先通过粒度划分模块将原始多元时间序列序列划分为多粒度序列接着由变量间外部关系挖掘模块捕获外部关系目标变量内部关系挖掘模块挖掘内部相关性最后通过数据融合模块获得最终的预测结果。GNet-LS主要由CNN、LSTM、Attention、自回归组成。 ABSTRACT This week, We read a paper on time series forecasting. The paper presents a model called GNet-LS, which consists of four main modules: Granularity Division (GD), External Relationship Mining between Variables (ER), Internal Correlation Mining of the Target Variable (IC), and Data Fusion (DF). First, the original multivariate time series is divided into multi-granularity sequences through the Granularity Division module. Then, the External Relationship Mining module captures external relationships, the Internal Correlation Mining module explores internal correlations, and finally, the Data Fusion module produces the final prediction result. GNet-LS mainly comprises CNNs, LSTMs, Attention mechanisms, and autoregressive components. 1 论文信息 1.1 论文标题 A multi-granularity hierarchical network for long- and short-term forecasting on multivariate time series data 1.2 论文摘要  多元时间序列预测是经济学、金融学和交通运输等多个领域中的一个重要研究问题这些领域需要同时进行长期和短期预测。然而当前的技术通常仅限于单一的短期或长期预测。为了解决这一限制本文提出了一种新颖的多粒度层次网络GNet-LS用于多元时间序列数据的长短期预测该网络考虑了内部相关性和外部关系的独立作用。首先基于下采样将原始时间序列序列划分为多个粒度序列以减少由长期预测引起的误差累积。为了发现变量之间的外部关系卷积神经网络CNN模块在变量序列上滑动。构建全局CNN和局部CNN分别实现周期性和非周期性提取。接着使用自注意力模块模拟局部CNN和全局CNN输出之间的依赖关系。长短时记忆网络LSTM和注意力机制用于挖掘时间序列目标变量的内部相关性。然后以并行方式获得多粒度的外部关系和内部相关性。最后通过拼接和叠加融合外部关系和内部相关性以获得长期和短期预测。实验结果表明所提出的GNet-LS在RSE、CORR、MAE和RMSE等方面优于一系列比较方法。 1.3 论文模型 1.3.1 数据处理 给定时间序列是观测到的按时间顺序排列的测量值序列其中表示变量在时间点处的值两个连续测量值之间的时间间隔通常是常数表示变量的长度。多元时间序列记为中的序列是相互关联的表示多元时间序列数据中的变量个数。 多粒度表示不同的时间粒度以多种方式描述。它可以被划分为年、月、日、小时、分钟乃至秒。因为不同的场景需要不同的时间粒度所以为了充分分析预测任务的准确适当的粒度至关重要。在不失一般性的前提下可以首先给出单变量时间序列的粒度描述。对于给定的变量的时间序列将这个原始序列的粒度设置为记作。 在本文中利用降采样方法呈现了从精细到粗糙的原始序列。也就是说将原始序列按照降采样频率划分为个粒度分别表示为。这里表示降采样频率是具有频率的结果。然后得到了原始时间序列数据的个粒度的数量表示为。 对于多元时间序列数据可以将每个变量视为单变量时间序列。因此同样可以得到多变量时间序列数据的多粒度表示表示为。 问题定义给定一组多元时间序列其中是变量数量表示第个变量具有个时间点的序列。首先对多元时间序列数据进行降采样并且主要以滚动预测的方式进行预测。也就是说基于过去时间序列预测未来目标值其中是当前时间段可以预测的理想步长。表示在时间时个变量的取值因此。同样地可以试图基于预测未来目标值其中是可以在相同准确度下预测更长时间距离的理想步长。当然越大模型在更长的步长上的表现就越好。代表了具有个变量和个时间步长的多元时间序列预测数据。多元时间序列数据的一个示例即原始粒度序列如Fig.1(a)所示。在粒度为的采样后的粒度序列如Fig.1(b)所示。 Fig.1 1.3.2 GNet-LS GNet-LS包括四个模块如Fig.2所示。首先通过粒度划分模块将原始多元时间序列序列划分为多粒度序列该模块简称为GD模块粒度划分模块。接下来通过处理原始序列由变量间外部关系挖掘模块简称ER模块捕获外部关系。同时通过处理多粒度序列如、等等目标变量内部关系挖掘模块简称IC模块挖掘内部相关性。然后通过数据融合模块简称DF模块获得最终的预测结果。 GNet-LS的总体概述如Fig.2所示。该图显示了论文所提出的模型从原始数据输入至粒度划分模块为起始其中原始数据由频率采样机制进行粒度化然后不同粒度的数据输入到后续的预测模块。也就是说数据和由IC模块并行处理。最后DF模块输出预测结果。 Fig.2 粒度划分模块GD不同时间粒度的数据反映的信息变化趋势不同。细粒度的时间序列可以保留更详细的信息而大粒度的时间序列可以捕捉长期变化的趋势。因此文中尝试从粒计算的角度将原始粒度数据划分为多粒度数据进而从不同粒度序列中发现多元变量之间复杂的动态关系。 一般来说我们获得的原始多元时间序列数据是单粒度数据。为此文中引入了降采样方法对原始数据按特定频率进行采样以从原始数据中提取出更细粒度的时间序列。一个例子如Fig.3所示。 Fig.3 设置多少粒度仍然是一个具有挑战性的问题可以作为未来的研究。论文主要证明的是多粒度思维是先进的。因此在论文设计的模型中模型的粒度简单地被设置为3。即原始序列两个子粒度序列和分别按下采样频率、对粒度序列进行采样。如果输入的时间序列是那么可以定义如下三种粒度序列   (1) (2) (3) 通过采样可以试图恢复原始序列中的一些周期特性。利用划分后的粒度序列挖掘长期预测中变化的底层模式。这种多频率采样周期挖掘方法有望显著降低步长累积效应的预测误差并希望不同粒度的序列能够对不同的预测步骤起到不同的支持作用。 窗口滑动技术是处理多元时间序列的常用技术。在这项工作中每个粒度序列相应地固定一个计算窗口的尺寸。对于上面的粒度划分公式需要注意和比小因为需要确保滑动窗口中的粒度划分。然后随着窗口的移动窗口中的数据将发生变化模型将使用不同的数据进行训练。 变量间外部关系挖掘模块ER卷积神经网络的成功很大程度上依赖于其捕捉必要信号的能力。这一特性使得卷积神经网络CNN特别适用于序列预测。因此在本文中主要介绍CNN用于特征提取。由于数据集多样性一些数据集具有明显的周期性而另一些则没有明显周期性。为了使模型更好地适应这两种情况论文计划设计全局CNN和局部CNN共同工作。 多个 filters协同构成全局CNNG-CNN。每个filter将扫描一次变量因此每次扫描后将生成一个向量。由于有个filter每个filter扫描一次输入当所有filter扫描完成后将生成一个矩阵。所使用的激活函数是ReLU函数。向量的每一行可以被视为单个变量的学习表示然后通过随后的多头注意力机制学习所有特征并为后续预测做出更好的决策。 局部CNNL-CNN采取与全局CNN相似的方法。L-CNN专注于建立局部时间模式。局部时间卷积核使用长度为的filter超参数。局部卷积核通过滑动方法提取信息。例如对于步长为的时间序列创建一个长度为的向量。为了将每个特征时间关系映射到一个向量表示论文使用一维最大池化层在序列的每个滑动步骤后捕获最具代表性的特征池化层的大小为。最后产生一个矩阵其中是局部卷积核中的filter数量。局部卷积神经网络的过程如Fig.4(a)所示。 为了捕捉不同序列之间的关系对于每个特征变量模型分别使用自注意力机制学习因为其具有强大的特征提取能力。然后模型通过多头注意力机制学习自身与其他序列之间的关系。自注意力机制的组成如Fig.4(b)所示。 Fig.4 将全局卷积神经网络G-CNNs和局部卷积神经网络L-CNNs的输出作为注意力处理的输入然后将结果显示为Query、Key和Value向量。接着通过加权创建了一个具有特定权重关系的输出这可以被理解为更加关注有用的信息。每个点的权重是通过计算时间序列中其他点的Query与当前点的Key的内积来计算的然后将Value乘以内积后继续向前处理以获得当前模块的输出。Query、Key和Value之间的关系如下 (4) 其中是key的维度。使用多头注意力机制允许模型共同处理来自不同表示的信息这些信息被串联起来并线性投影以获得最终的表示。 逐位置前馈层由两个线性变换组成在它们之间有一个激活函数可以表示为 (5) 虽然线性变换在不同位置是相同的但它们使用不同的参数。每个子层周围的层归一化和残差连接使得训练更容易并且提高泛化性能。无论是在G-CNNs还是L-CNNs中都有上述过程即通过将输入到模块中获得最终的。 目标变量内部关系挖掘模块IC长短期记忆网络LSTM是一种用于深度学习的人工递归神经网络能够处理单个数据点或一系列段落。此处引入LSTM的主要目的是推导时间序列的预测结果及其对应的隐藏状态。然后根据对应的隐藏状态计算其与前一个时间窗口隐藏层之间的权重并用于校正特征权重矩阵以捕获更多有用的特征。在本文中LSTM用于预测不同粒度的频率序列。从原始序列中提取的粒度被输入到LSTM网络中然后历史数据由注意力网络识别该网络能够突出历史序列对后续结果的影响。使用LSTM网络允许从原始数据中分析历史时间点和周期性质并对发现的内部相关性进行建模使最终结果更加准确。 首先对于输入矩阵向量使用LSTM模型接收所有输入值然后获得隐藏层信息。之后预测未来时序向量信息最后将它为输入注意力网络分析时序向量关系。 准确的时间预测不仅需要模型能够精确控制外部关系还需要对数据的内部相关性进行合理分析。本文使用一组长短期记忆网络LSTMs层来分析粒度数据。与以前的模型不同LSTMs并行工作。同时将卷积神经网络CNNs和LSTMs分别学习以便充分利用每个模型的最佳可能结果然后进行后续的预测任务。对于长短期记忆网络组件使用传统的LSTM网络该网络学习数据的不同周期性然后这里的输入是具有一定时间间隔的时间序列。传统的LSTM利用相邻的作为模型输入。论文将其输入调整为以学习不同周期性的关系。此处是不同周期的粒度的值根据不同的任务场景和数据集而变化而合理的值将对结果有正相关影响。本文根据选择不同的隐藏层选定的隐藏层肯定是单一时间序列结果。为了使最终结果包含更好的记忆特性增加了一个注意力层它选择对当前影响最大的历史数据的时间序列。实现过程如下方程所示 (6) (7) (8) 符号代表模型LSTM为后续预测任务输出的结果。代表第一阶段的权重值是所表示的LSTM模型的隐藏层维度。第一阶段的权重分配通过矩阵乘法执行并最终在tanh操作后获得第一阶段的记忆结果。其中是滑动窗口中值对应的粒度数据的次数与矩阵相乘得到第二阶段的权重分配。通过softmax函数获得最终的权重得分该权重得分包含对前一个时间点的记忆功能可以更好地捕捉当前预测时间点的关键时间序列。最终权重得分被分配到输入时间序列上并通过求和函数获得最终输出。目标变量挖掘模块的内部相关性处理显示在Algorithm1中。 Algorithm1 特征融合模块在之前几个模块的处理之后GNet-LS获取了由三个不同粒度序列生成的三个向量。单个向量是某一粒度的结果不同的结果代表不同的时间模式。问题在于我们如何关联这三个向量并学习它们之间的关系。为了解决这个问题使用向量和方法将三个向量合并在一起然后根据反向传播的思想对每个模型进行参数更新。不同的预测任务依赖于不同的序列。例如较长的预测任务依赖于较粗的时间序列较短的预测任务依赖于较细的时间序列。 卷积神经网络CNNs和递归神经网络RNNs更关注组件的非线性特性。为了获得更好的预测结果GNet-LS结合线性和非线性预测结果。除了上述的非线性组件模块经典的自回归模型通常被视为线性组件。对于自回归预测结果可以将其表示为其中代表变量的数量。然后根据以下方程通过线性层和神经网络模块的融合解决方案获得最终的预测结果。 (9) (10) 其中代表总共组权重每组的大小为。这表示每个时间序列都有一个线性矩阵。线性矩阵代表序列的权重比例。这里、、和分别代表来自外部关系模块、的内部相关模块、的内部相关模块和线性自回归模块的输出向量。至于可以理解为一种算术方法主要使用拼接和叠加方法当然也可以选择点积、内积等其他方法通过操作返回最终的预测结果。 2 相关代码 STGNN时间序列预测 STGNN总体架构 step1模块定义。包含S-GNN层、GRU层、Transformer层、位置编码。 class Transform(nn.Module):def __init__(self, outfea, d):super(Transform, self).__init__()self.qff nn.Linear(outfea, outfea)self.kff nn.Linear(outfea, outfea)self.vff nn.Linear(outfea, outfea)self.ln nn.LayerNorm(outfea)self.lnff nn.LayerNorm(outfea)self.ff nn.Sequential(nn.Linear(outfea, outfea),nn.ReLU(),nn.Linear(outfea, outfea))self.d ddef forward(self, x):query self.qff(x)key self.kff(x)value self.vff(x)query torch.cat(torch.split(query, self.d, -1), 0).permute(0, 2, 1, 3)key torch.cat(torch.split(key, self.d, -1), 0).permute(0, 2, 3, 1)value torch.cat(torch.split(value, self.d, -1), 0).permute(0, 2, 1, 3)A torch.matmul(query, key)A / (self.d ** 0.5)A torch.softmax(A, -1)value torch.matmul(A, value)value torch.cat(torch.split(value, x.shape[0], 0), -1).permute(0, 2, 1, 3)value xvalue self.ln(value)x self.ff(value) valuereturn self.lnff(x)class PositionalEncoding(nn.Module):def __init__(self, outfea, max_len):super(PositionalEncoding, self).__init__()# Compute the positional encodings once in log space.pe torch.zeros(max_len, outfea).to(device)position torch.arange(0, max_len).unsqueeze(1)div_term torch.exp(torch.arange(0, outfea, 2) *-(math.log(10000.0) / outfea))pe[:, 0::2] torch.sin(position * div_term)pe[:, 1::2] torch.cos(position * div_term)pe pe.unsqueeze(0).unsqueeze(2) # [1,T,1,F]self.register_buffer(pe, pe)def forward(self, x):x x Variable(self.pe,requires_gradFalse)return xclass SGNN(nn.Module):def __init__(self, outfea):super(SGNN, self).__init__()self.ff nn.Sequential(nn.Linear(outfea, outfea),nn.Linear(outfea, outfea))self.ff1 nn.Linear(outfea, outfea)def forward(self, x):p self.ff(x)a torch.matmul(p, p.transpose(-1, -2))R torch.relu(torch.softmax(a, -1)) torch.eye(x.shape[1]).to(device)D (R.sum(-1) ** -0.5)D[torch.isinf(D)] 0.D torch.diag_embed(D)A torch.matmul(torch.matmul(D, R), D)x torch.relu(self.ff1(torch.matmul(A, x)))return xclass GRU(nn.Module):def __init__(self, outfea):super(GRU, self).__init__()self.ff nn.Linear(2 * outfea, 2 * outfea)self.zff nn.Linear(2 * outfea, outfea)self.outfea outfeadef forward(self, x, xh):r, u torch.split(torch.sigmoid(self.ff(torch.cat([x, xh], -1))), self.outfea, -1)z torch.tanh(self.zff(torch.cat([x, r * xh], -1)))x u * z (1 - u) * xhreturn xclass STGNNwithGRU(nn.Module):def __init__(self, outfea, P):super(STGNNwithGRU, self).__init__()self.sgnnh nn.ModuleList([SGNN(outfea) for i in range(P)])self.sgnnx nn.ModuleList([SGNN(outfea) for i in range(P)])self.gru nn.ModuleList([GRU(outfea) for i in range(P)])def forward(self, x):B, T, N, F x.shapehidden_state torch.zeros([B, N, F]).to(device)output []for i in range(T):gx self.sgnnx[i](x[:, i, :, :])gh hidden_stateif i ! 0:gh self.sgnnh[i](hidden_state)hidden_state self.gru[i](gx, gh)output.append(hidden_state)output torch.stack(output, 1)return output step2STGNN模型定义。 class STGNN(nn.Module):def __init__(self, infea, outfea, L, d, P):super(STGNN, self).__init__()self.start_emb nn.Linear(infea, outfea)self.end_emb nn.Linear(outfea, infea)self.stgnnwithgru nn.ModuleList([STGNNwithGRU(outfea, P) for i in range(L)])self.positional_encoding PositionalEncoding(outfea, P)self.transform nn.ModuleList([Transform(outfea, d) for i in range(L)])self.L Ldef forward(self, x):x:[B,T,N]x x.unsqueeze(-1)x self.start_emb(x)for i in range(self.L):x self.stgnnwithgru[i](x)x self.positional_encoding(x)for i in range(self.L):x self.transform[i](x)x self.end_emb(x)return x.squeeze(-1)
http://www.pierceye.com/news/441330/

相关文章:

  • 网站建设发布教程网页设计师收费标准
  • 徐州哪里做网站好农林网站建设公司
  • 可以做直播卖产品的网站专业产品画册设计公司
  • wp网站开发个人小程序开发流程
  • 网站制作报价大约重庆招聘网站建设
  • 网站开发 资质网站开发价格评估
  • 泰州网站关键词优化谷歌建站
  • 门户网站风格企业网站建设的成本
  • 一站式外贸综合服务平台社区网站推广方案
  • 宁波网络公司网站建设项目怎么破解别人做的付费网站
  • 做创意小视频的网站centos 7.4 wordpress
  • 免费建立单位的网站适合个人做的跨境电商
  • 沈阳军成网站建设17网站一起做网店
  • 哪些cms做同城网站比较好上海建设工程协会网站
  • 潍坊企业自助建站系统seo博客网站
  • 做啤酒最全的网站鱼台县建设局网站
  • 网站开发转行进入衍生领域wordpress qaengine
  • 公司内部网站模板快速建网站的软件
  • 被骗去国外做网站网站推广网站的运营推广方案
  • 北京汽车业务网站开发公司桂林旅游攻略必去景点
  • 个人网站开发是学什么语言wordpress打造cms
  • 网站建设与维护的重要性岳阳建设厅网站
  • 惠州网站开发公司wordpress简单
  • 外贸网站 免费模板 使用 zencart如何购买域名和备案
  • 网站建设联系我们设计网站无锡
  • 深圳做网站好的公司wordpress建菜单
  • 网站编辑需要的技能做网站需要什么域名
  • 营销型网站建设目的和意义网站托管方案
  • 网站感谢页面企业标志图片大全
  • 响应式网站建设必推全网天下邵阳竞价网站建设设计