网站集约化建设标准网站推广渠道有哪些

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

网站集约化建设标准,网站推广渠道有哪些,网站建设百度云,网站页面html静态化往期精彩内容#xff1a; 时序预测#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享#xff01; EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现#xff08;一#xff09;EMD-CSDN博客 EMD、EEM… 往期精彩内容 时序预测LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享 EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现一EMD-CSDN博客 EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现二EEMD EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现三FEEMD-CSDN博客 EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现四CEEMD-CSDN博客 EMD变体分解效果最好算法——CEEMDAN五-CSDN博客 拒绝信息泄露VMD滚动分解 Informer-BiLSTM并行预测模型-CSDN博客 风速预测一数据集介绍和预处理_风速数据在哪里下载-CSDN博客 风速预测二基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测三EMD-LSTM-Attention模型-CSDN博客 风速预测四基于Pytorch的EMD-Transformer模型-CSDN博客 风速预测五基于Pytorch的EMD-CNN-LSTM模型-CSDN博客 风速预测六基于Pytorch的EMD-CNN-GRU并行模型-CSDN博客 前言 本文基于前期介绍的风速数据文末附数据集介绍一种综合应用完备集合经验模态分解CEEMDAN与混合预测模型BiLSTM-Attention ARIMA的方法以提高时间序列数据的预测性能。该方法的核心是使用CEEMDAN算法对时间序列进行分解接着利用BiLSTM-Attention模型和ARIMA模型对分解后的数据进行建模最终通过集成方法结合两者的预测结果。 风速数据集的详细介绍可以参考下文 风速预测一数据集介绍和预处理_weather in szeged 2006-2016-CSDN博客 1 风速数据CEEMDAN分解与可视化 1.1 导入数据 1.2 CEEMDAN分解 根据分解结果看CEEMDAN一共分解出11个分量我们大致把前7个高频分量作为BiLSTM-Attention模型的输入进行预测后4个低频分量作为ARIMA模型的输入进行预测 2 数据集制作与预处理 2.1 划分数据集 按照82划分训练集和测试集 然后再按照前7后4划分分量数据 2.2 设置滑动窗口大小为7制作数据集 ​​​​​​ # 定义滑动窗口大小 window_size 7

分量划分分界

imf_no 7 # 第一步划分数据集 dataset1, dataset2 make_wind_dataset(wind_emd_imfs, imf_no)

第二步制作数据集标签 滑动窗口

BiLSTM-Attention 模型数据

train_set1, train_label1 data_window_maker(dataset1[0], window_size) test_set1, test_label1 data_window_maker(dataset1[1], window_size)# ARIMA 模型数据 train_data_arima dataset2[0] test_data_arima dataset2[1]# 保存数据 dump(train_set1, train_set1) dump(train_label1, train_label1) dump(test_set1, test_set1) dump(test_label1, test_label1)dump(train_data_arima, train_data_arima) dump(test_data_arima, test_data_arima) 分批保存数据用于不同模型的预测 3 基于CEEMADN的BiLSTM-Attention模型预测 3.1 数据加载训练数据、测试数据分组数据分batch # 加载数据 import torch from joblib import dump, load import torch.utils.data as Data import numpy as np import pandas as pd import torch import torch.nn as nn

参数与配置

torch.manual_seed(100) # 设置随机种子以使实验结果具有可重复性 device torch.device(cuda if torch.cuda.is_available() else cpu)# 加载数据集 def dataloader(batch_size, workers2):# 训练集train_set load(train_set1)train_label load(train_label1)# 测试集test_set load(test_set1)test_label load(test_label1)# 加载数据train_loader Data.DataLoader(datasetData.TensorDataset(train_set, train_label),batch_sizebatch_size, num_workersworkers, drop_lastTrue)test_loader Data.DataLoader(datasetData.TensorDataset(test_set, test_label),batch_sizebatch_size, num_workersworkers, drop_lastTrue)return train_loader, test_loaderbatch_size 64

加载数据

train_loader, test_loader dataloader(batch_size) 3.2 定义CEEMDAN-BiLSTM-Attention预测模型 注意输入风速数据形状为 [64, 7, 7] batch_size64,  维度7维代表7个分量7代表序列长度滑动窗口取值。 3.3 定义模型参数

定义模型参数

batch_size 64 input_len 48 # 输入序列长度为96 (窗口值) input_dim 7 # 输入维度为7个分量 hidden_layer_sizes [32, 64] # LSTM 层 结构 隐藏层神经元个数 attention_dim hidden_layer_sizes[-1] # 注意力层维度 默认为 LSTM输出层维度 output_size 1 # 单步输出model BiLSTMAttentionModel(batch_size, input_len, input_dim, attention_dim, hidden_layer_sizes, output_size1) # 定义损失函数和优化函数 model model.to(device) loss_function nn.MSELoss() # loss learn_rate 0.003 optimizer torch.optim.Adam(model.parameters(), learn_rate) # 优化器 3.4 模型训练 训练结果 100个epochMSE 为0.00559BiLSTM-Attention预测效果良好适当调整模型参数还可以进一步提高模型预测表现。 注意调整参数 可以适当增加BiLSTM层数和隐藏层的维度微调学习率 调整注意力维度数增加更多的 epoch 注意防止过拟合 可以改变滑动窗口长度设置合适的窗口长度
保存训练结果和预测数据以便和后面ARIMA模型的结果相组合。 4 基于ARIMA的模型预测 传统时序模型ARIMA等模型教程如下 时序预测LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 4.1 数据加载 训练数据、测试数据分组四个分量划分四个数据集 # 加载数据 from joblib import dump, load import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib matplotlib.rc(font, familyMicrosoft YaHei)# 训练集 train_set load(train_data_arima)

测试集

test_set load(test_data_arima)# IMF1-Model1 model1_train train_set[0, :] model1_test test_set[0, :]

IMF2-Model2

model2_train train_set[1, :] model2_test test_set[1, :]

IMF3-Model3

model3_train train_set[2, :] model3_test test_set[2, :]

IMF4-Model4

model4_train train_set[3, :] model4_test test_set[3, :] 4.2 介绍一个分量预测过程其他分量类似 第一步单位根检验和差分处理 ADF检验P值远小于0.05故拒绝原假设即数据是平稳的时间序列数据也确定了d0 第二步模型识别采用AIC指标进行参数选择 采用AIC指标进行参数选择得到最小的AIC值的组合为p2,q0,选择其作为模型进行拟合,因此针对原数据可知最终确定模型为ARIMA(2,0,0结合代码指标结果来看 第三步模型预测 第四步模型评估 保存预测的数据其他分量预测与上述过程一致保留最后模型结果即可。 5 结果可视化和模型评估 5.1 组合预测加载各模型的预测结果 # 训练集 arima_train_set load(train_data_arima)

测试集

arima_test_set load(test_data_arima)# IMF1-Model1 model1_imf_arima_pre load(model1_imf_arima_pre)

IMF2-Model2

model2_imf_arima_pre load(model2_imf_arima_pre)

IMF3-Model3

model3_imf_arima_pre load(model3_imf_arima_pre)

IMF4-Model4

model4_imf_arima_pre load(model4_imf_arima_pre)# BiLSTM-Attention original_label_bilstmatt load(original_label_bilstmatt) pre_data_bilstmatt load(pre_data_bilstmatt) 5.2 结果可视化 5.3 模型评估 由分量预测结果可见前7个分量在BiLSTM-Attention预测模型下拟合效果良好分量9在ARIMA模型的预测下拟合程度比较好其他低频分量拟合效果弱一点调整参数可增强拟合效果。 6  代码、数据整理如下