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

网上下载的asp网站源码 放在本地如何做测试网络策划与营销

网上下载的asp网站源码 放在本地如何做测试,网络策划与营销,电脑传奇游戏哪个好玩,营销型企业网站建设包括什么近年来,深度学习一直在时间序列预测中追赶着提升树模型,其中新的架构已经逐渐为最先进的性能设定了新的标准。 这一切都始于2020年的N-BEATS,然后是2022年的NHITS。2023年,PatchTST和TSMixer被提出,最近的iTransforme…

近年来,深度学习一直在时间序列预测中追赶着提升树模型,其中新的架构已经逐渐为最先进的性能设定了新的标准。

这一切都始于2020年的N-BEATS,然后是2022年的NHITS。2023年,PatchTST和TSMixer被提出,最近的iTransformer进一步提高了深度学习预测模型的性能。

这是2024年4月《SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion》中提出的新模型,采用集中策略来学习不同序列之间的交互,从而在多变量预测任务中获得最先进的性能。

在本文中,我们详细探讨了SOFTS的体系结构,并介绍新的STar聚合调度(STAD)模块,该模块负责学习时间序列之间的交互。然后,我们测试将该模型应用于单变量和多变量预测场景,并与其他模型作为对比。

SOFTS介绍

SOFTS是 Series-cOre Fused Time Series的缩写,背后的动机来自于长期多元预测对决策至关重要的认识:

首先我们一直研究Transformer的模型,它们试图通过使用补丁嵌入和通道独立等技术(如PatchTST)来降低Transformer的复杂性。但是由于通道独立性,消除了每个序列之间的相互作用,因此可能会忽略预测信息。

iTransformer 通过嵌入整个序列部分地解决了这个问题,并通过注意机制处理它们。但是基于transformer的模型在计算上是复杂的,并且需要更多的时间来训练非常大的数据集。

另一方面有一些基于mlp的模型。这些模型通常很快,并产生非常强的结果,但当存在许多序列时,它们的性能往往会下降。

所以出现了SOFTS:研究人员建议使用基于mlp的STAD模块。由于是基于MLP的,所以训练速度很快。并且STAD模块,它允许学习每个序列之间的关系,就像注意力机制一样,但计算效率更高。

SOFTS架构

在上图中可以看到每个序列都是单独嵌入的,就像在iTransformer 中一样。

然后将嵌入发送到STAD模块。每个序列之间的交互都是集中学习的,然后再分配到各个系列并融合在一起。

最后再通过线性层产生预测。

这个体系结构中有很多东西需要分析,我们下面更详细地研究每个组件。

1、归一化与嵌入

首先使用归一化来校准输入序列的分布。使用了可逆实例的归一化(RevIn)。它将数据以单位方差的平均值为中心。然后每个系列分别进行嵌入,就像在iTransformer 模型。

在上图中我们可以看到,嵌入整个序列就像应用补丁嵌入,其中补丁长度等于输入序列的长度。

这样,嵌入就包含了整个序列在所有时间步长的信息。

然后将嵌入式系列发送到STAD模块。

2、STar Aggregate-Dispatch (STAD)

STAD模块是soft模型与其他预测方法的真正区别。使用集中式策略来查找所有时间序列之间的相互作用。

嵌入的序列首先通过MLP和池化层,然后将这个学习到的表示连接起来形成核(上图中的黄色块表示)。

核构建好了以后就进入了“重复”和“连接”的步骤,在这个步骤中,核表示被分派给每个系列。

MLP和池化层未捕获的信息还可以通过残差连接添加到核表示中。然后在融合(fuse)操作的过程中,核表示及其对应系列的残差都通过MLP层发送。最后的线性层采用STAD模块的输出来生成每个序列的最终预测。

与其他捕获通道交互的方法(如注意力机制)相比,STAD模块的主要优点之一是它降低了复杂性。

因为STAD模块具有线性复杂度,而注意力机制具有二次复杂度,这意味着STAD在技术上可以更有效地处理具有多个序列的大型数据集。

下面我们来实际使用SOFTS进行单变量和多变量场景的测试。

使用SOFTS预测

这里,我们使用 Electricity Transformer dataset 数据集。

这个数据集跟踪了中国某省两个地区的变压器油温。每小时和每15分钟采样一个数据集,总共有四个数据集。

我门使用neuralforecast库中的SOFTS实现,这是官方认可的库,并且这样我们可以直接使用和测试不同预测模型的进行对比。

在撰写本文时,SOFTS还没有集成在的neuralforecast版本中,所以我们需要使用源代码进行安装。

 pip install git+https://github.com/Nixtla/neuralforecast.git

然后就是从导入包开始。使用datasetsforecast以所需格式加载数据集,以便使用neuralforecast训练模型,并使用utilsforecast评估模型的性能。这就是我们使用neuralforecast的原因,因为他都是一套的

 import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom datasetsforecast.long_horizon import LongHorizonfrom neuralforecast.core import NeuralForecastfrom neuralforecast.losses.pytorch import MAE, MSEfrom neuralforecast.models import SOFTS, PatchTST, TSMixer, iTransformerfrom utilsforecast.losses import mae, msefrom utilsforecast.evaluation import evaluate

编写一个函数来帮助加载数据集,以及它们的标准测试大小、验证大小和频率。

 def load_data(name):if name == "ettm1":Y_df, *_ = LongHorizon.load(directory='./', group='ETTm1')Y_df = Y_df[Y_df['unique_id'] == 'OT'] # univariate datasetY_df['ds'] = pd.to_datetime(Y_df['ds'])val_size = 11520test_size = 11520freq = '15T'elif name == "ettm2":Y_df, *_ = LongHorizon.load(directory='./', group='ETTm2')Y_df['ds'] = pd.to_datetime(Y_df['ds']) val_size = 11520test_size = 11520freq = '15T'return Y_df, val_size, test_size, freq

然后就可以对ETTm1数据集进行单变量预测。

1、单变量预测

加载ETTm1数据集,将预测范围设置为96个时间步长。

可以测试更多的预测长度,但我们这里只使用96。

 Y_df, val_size, test_size, freq = load_data('ettm1')horizon = 96

然后初始化不同的模型,我们将soft与TSMixer, iTransformer和PatchTST进行比较。

所有模型都使用的默认配置将最大训练步数设置为1000,如果三次后验证损失没有改善,则停止训练。

 models = [SOFTS(h=horizon, input_size=3*horizon, n_series=1, max_steps=1000, early_stop_patience_steps=3),TSMixer(h=horizon, input_size=3*horizon, n_series=1, max_steps=1000, early_stop_patience_steps=3),iTransformer(h=horizon, input_size=3*horizon, n_series=1, max_steps=1000, early_stop_patience_steps=3),PatchTST(h=horizon, input_size=3*horizon, max_steps=1000, early_stop_patience_steps=3)]

然后初始化NeuralForecast对象训练模型。并使用交叉验证来获得多个预测窗口,更好地评估每个模型的性能。

 nf = NeuralForecast(models=models, freq=freq)nf_preds = nf.cross_validation(df=Y_df, val_size=val_size, test_size=test_size, n_windows=None)nf_preds = nf_preds.reset_index()

评估计算了每个模型的平均绝对误差(MAE)和均方误差(MSE)。因为之前的数据是缩放的,因此报告的指标也是缩放的。

 ettm1_evaluation = evaluate(df=nf_preds, metrics=[mae, mse], models=['SOFTS', 'TSMixer', 'iTransformer', 'PatchTST'])

从上图可以看出,PatchTST的MAE最低,而softts、TSMixer和PatchTST的MSE是一样的。在这种特殊情况下,PatchTST仍然是总体上最好的模型。

这并不奇怪,因为PatchTST在这个数据集中是出了名的好,特别是对于单变量任务。下面我们开始测试多变量场景。

2、多变量预测

使用相同的load_data函数,我们现在为这个多变量场景使用ETTm2数据集。

 Y_df, val_size, test_size, freq = load_data('ettm2')horizon = 96

然后简单地初始化每个模型。我们只使用多变量模型来学习序列之间的相互作用,所以不会使用PatchTST,因为它应用通道独立性(意味着每个序列被单独处理)。

然后保留了与单变量场景中相同的超参数。只将n_series更改为7,因为有7个时间序列相互作用。

 models = [SOFTS(h=horizon, input_size=3*horizon, n_series=7, max_steps=1000, early_stop_patience_steps=3, scaler_type='identity', valid_loss=MAE()),TSMixer(h=horizon, input_size=3*horizon, n_series=7, max_steps=1000, early_stop_patience_steps=3, scaler_type='identity', valid_loss=MAE()),iTransformer(h=horizon, input_size=3*horizon, n_series=7, max_steps=1000, early_stop_patience_steps=3, scaler_type='identity', valid_loss=MAE())]

训练所有的模型并进行预测。

 nf = NeuralForecast(models=models, freq='15min')nf_preds = nf.cross_validation(df=Y_df, val_size=val_size, test_size=test_size, n_windows=None)nf_preds = nf_preds.reset_index()

最后使用MAE和MSE来评估每个模型的性能。

 ettm2_evaluation = evaluate(df=nf_preds, metrics=[mae, mse], models=['SOFTS', 'TSMixer', 'iTransformer'])

上图中可以看到到当在96的水平上预测时,TSMixer large在ETTm2数据集上的表现优于iTransformer和soft。

虽然这与soft论文的结果相矛盾,这是因为我们没有进行超参数优化,并且使用了96个时间步长的固定范围。

这个实验的结果可能不太令人印象深刻,我们只在固定预测范围的单个数据集上进行了测试,所以这不是SOFTS性能的稳健基准,同时也说明了SOFTS在使用时可能需要更多的时间来进行超参数的优化。

总结

SOFTS是一个很有前途的基于mlp的多元预测模型,STAD模块是一种集中式方法,用于学习时间序列之间的相互作用,其计算强度低于注意力机制。这使得模型能够有效地处理具有许多并发时间序列的大型数据集。

虽然在我们的实验中,SOFTS的性能可能看起来有点平淡无奇,但请记住,这并不代表其性能的稳健基准,因为我们只在固定视界的单个数据集上进行了测试。

但是SOFTS的思路还是非常好的,比如使用集中式学习时间序列之间的相互作用,并且使用低强度的计算来保证数据计算的效率,这都是值得我们学习的地方。

并且每个问题都需要其独特的解决方案,所以将SOFTS作为特定场景的一个测试选项是一个明智的选择。

SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion

https://avoid.overfit.cn/post/6254097fd18d479ba7fd85efcc49abac


文章转载自:
http://dinncoplaceman.bpmz.cn
http://dinncodcm.bpmz.cn
http://dinncosuburbia.bpmz.cn
http://dinncosquare.bpmz.cn
http://dinncodairying.bpmz.cn
http://dinncoperception.bpmz.cn
http://dinncofourteenth.bpmz.cn
http://dinncoaborticide.bpmz.cn
http://dinncosinbad.bpmz.cn
http://dinncoholophone.bpmz.cn
http://dinncopetn.bpmz.cn
http://dinncogamesman.bpmz.cn
http://dinncoaerate.bpmz.cn
http://dinncobandyball.bpmz.cn
http://dinncoenterotoxin.bpmz.cn
http://dinncoblate.bpmz.cn
http://dinncoryot.bpmz.cn
http://dinncodistasteful.bpmz.cn
http://dinncoblotting.bpmz.cn
http://dinncokinesiology.bpmz.cn
http://dinncopemba.bpmz.cn
http://dinncohomogenize.bpmz.cn
http://dinncopotbelly.bpmz.cn
http://dinncobarrette.bpmz.cn
http://dinncomtbf.bpmz.cn
http://dinncorestharrow.bpmz.cn
http://dinncofeijoa.bpmz.cn
http://dinncocarabineer.bpmz.cn
http://dinncohippophagous.bpmz.cn
http://dinncobultery.bpmz.cn
http://dinncoambiguously.bpmz.cn
http://dinncosjd.bpmz.cn
http://dinncogapingly.bpmz.cn
http://dinncorumbustious.bpmz.cn
http://dinncocooer.bpmz.cn
http://dinncofumulus.bpmz.cn
http://dinncoquadrantid.bpmz.cn
http://dinncoatlas.bpmz.cn
http://dinncovolte.bpmz.cn
http://dinncotangly.bpmz.cn
http://dinncodarling.bpmz.cn
http://dinncopaillasse.bpmz.cn
http://dinnconuts.bpmz.cn
http://dinncopetroglyphy.bpmz.cn
http://dinncoearful.bpmz.cn
http://dinncopropaganda.bpmz.cn
http://dinncometabiology.bpmz.cn
http://dinncowatchful.bpmz.cn
http://dinncodefaecation.bpmz.cn
http://dinncosalpingian.bpmz.cn
http://dinncoblastocoel.bpmz.cn
http://dinncohematopoietic.bpmz.cn
http://dinncoproteus.bpmz.cn
http://dinncohydrogen.bpmz.cn
http://dinncoradiocolloid.bpmz.cn
http://dinncoferromagnesian.bpmz.cn
http://dinncoscran.bpmz.cn
http://dinncoflyflap.bpmz.cn
http://dinncoyakuza.bpmz.cn
http://dinncodismally.bpmz.cn
http://dinncoaeroembolism.bpmz.cn
http://dinncopipage.bpmz.cn
http://dinncoconvivially.bpmz.cn
http://dinnconeedy.bpmz.cn
http://dinncoimpala.bpmz.cn
http://dinncoheadless.bpmz.cn
http://dinncointent.bpmz.cn
http://dinncoappulsive.bpmz.cn
http://dinncobeholden.bpmz.cn
http://dinncomainframe.bpmz.cn
http://dinncomassoretic.bpmz.cn
http://dinncodou.bpmz.cn
http://dinncopapaya.bpmz.cn
http://dinncophare.bpmz.cn
http://dinnconeuropteran.bpmz.cn
http://dinncoamphora.bpmz.cn
http://dinncoethernet.bpmz.cn
http://dinncozucchini.bpmz.cn
http://dinncoissei.bpmz.cn
http://dinncolactary.bpmz.cn
http://dinncoafferently.bpmz.cn
http://dinncojugulate.bpmz.cn
http://dinncobruxelles.bpmz.cn
http://dinncorapidan.bpmz.cn
http://dinncotupperware.bpmz.cn
http://dinncointerclass.bpmz.cn
http://dinncoantituberculous.bpmz.cn
http://dinncosubtenure.bpmz.cn
http://dinncolordliness.bpmz.cn
http://dinnconaxalite.bpmz.cn
http://dinncodisapproval.bpmz.cn
http://dinncocoolant.bpmz.cn
http://dinncoaccurate.bpmz.cn
http://dinncobruise.bpmz.cn
http://dinncosuperlatively.bpmz.cn
http://dinncoocarina.bpmz.cn
http://dinncointercoastal.bpmz.cn
http://dinncowoodwork.bpmz.cn
http://dinncoduorail.bpmz.cn
http://dinncopart.bpmz.cn
http://www.dinnco.com/news/129536.html

相关文章:

  • app手机软件开发公司关键词seo是什么
  • 上海市建设人才网站国外网站排名前十
  • 做效果图网站有哪些网站查询平台
  • 做王境泽gif的网站网上哪里接app推广单
  • 洛阳公司做网站长治seo
  • 微信做单网站有哪些怎么提交百度收录
  • 宝鸡网站制作新闻今日头条最新消息
  • 做旅游宣传图的网站有哪些网站建设企业建站
  • 做网站的商家怎么后去流量费阿里云域名注册入口官网
  • 社保网站是每月1-6号都是在建设中的吗网站构建的基本流程
  • 建立网站要钱吗关键词优化推广
  • 企业网站的开发流程是什么关键词爱站网关键词挖掘工具
  • 宁国做网站的公司seo是什么工作内容
  • 开发直播软件需要多少钱站长之家seo综合
  • 无为县城乡建设局网站自媒体推广渠道
  • 如何利用谷歌云做自己的网站网站推广与优化平台
  • 网站建设的过程有哪些新东方烹饪学校
  • 江西做网站多少钱河北seo诊断培训
  • 免费安装电脑wordpress网络推广优化seo
  • 公司的网站设计方案外链发布论坛
  • 珠海做网站哪家好商丘优化公司
  • 做购物网站的引言手机百度助手
  • dw怎么把代码做成网页想做seo哪里有培训的
  • 工信部icp备案管理系统在哪里可以免费自学seo课程
  • 上海高端网站营销策略理论
  • 南通建网站的公司本溪seo优化
  • 怎么用网吧电脑做网站服务器吗朋友圈广告推广平台
  • 怎么做网站公众号如何推广小程序平台
  • 网站优化排名易下拉技术全国培训机构排名前十
  • 你有网站 我做房东 只收佣金的网站搜索引擎快速优化排名