2024/5/19周报

摘要

本周阅读的文献,提出了一种结合离散小波变换(DWT)和主成分分析(PCA)预处理技术的混合长短期记忆模型。其中采用DWT法消除需水量序列的噪声成分,采用主成分分析方法选择需水量影响因子中的主成分。此外,建立了两个LSTM网络,利用DWT和PCA技术的结果进行城市日需水量预测。最后通过与其他基准预测模型的比较,证明了该模型的优越性。

Abstract

The literature read this week proposes a hybrid long short-term memory model that combines discrete wavelet transform (DWT) and principal component analysis (PCA) preprocessing techniques. The DWT method is used to eliminate the noise components in the water demand sequence, and the principal component analysis method is used to select the principal components in the influencing factors of water demand. In addition, two LSTM networks were established to predict urban daily water demand using the results of DWT and PCA technologies. Finally, the superiority of this model was demonstrated through comparison with other benchmark prediction models.

文献阅读

Deep learning with long short-term memory neural networks combining wavelet transform and principal component analysis for daily urban water demand forecasting

问题

  1. 统计模型只利用正态分布假设下的历史数据来寻找过去和未来值之间的联系,这导致在处理复杂和非线性时间序列时存在局限性。因此,传统的统计模型对具有随机性质的需水量序列的预测可能没有足够的准确性。
  2. 经典智能模型的浅层结构不能有效地处理大规模数据,在数据特征挖掘方面存在一定的局限性。
  3. 由于城市需水量的非平稳性和非线性受到许多因素的影响,因此单一的预测模型可能难以获得高精度的结果,以往相关研究中的模型只处理了需水量序列的单一特征,没有全面考虑时间序列的不确定性和非线性。

创新点

在混合策略和应用的启发下,,提出了一种结合离散小波变换(DWT)和主成分分析(PCA)预处理技术的混合长短期记忆模型,即基于特征提取和预测变量选择技术的混合模型来预测城市日需水量,混合策略能够利用每个个体的优点来克服彼此的局限性。

  1. 分别采用3σ准则和加权平均法对需水量序列异常值进行识别和平滑处理;
  2. 采用DWT方法去除需水量序列的噪声成分;
  3. 通过主成分分析识别出需水量最相关的影响变量;
  4. 利用DWT和PCA技术对数据进行预处理,利用DWT和PCA技术的结果经过混合LSTMs解决方案来预测城市日需水量。

方法

PCA(主要成分分析法)

PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。它将原始变量转换成一个新的不相关衍生变量数据集,称为主成分(PCs)。pc是原始变量的线性函数,它们的方差和对于原始变量和派生变量都是相等的。
在这里插入图片描述

在PCA分析中,方差最大的前几个pc被称为主成分,它保留了原始变量的大部分信息,可以用来表征原始变量。通过选取前几个分量作为pc,可以降低原始变量的维数。正确的成分选择有助于预测的稳健性。

城市用水除了受到气候变化、社会经济条件等因素的影响,白天和一周内需水量的随机性还受到许多其他因素的影响,然而,这些变量中有许多是高度相关的,这可能会给模型的演化带来多重共线性问题。因此,本文采用主成分分析法来识别候选变量中最重要和最相关的变量。

DWT(离散小波变换)

信号低频成分常常蕴含着信号的特征,而高频成分则给出信号的细节或差别。平移、伸缩是小波变换的一个特点,因而可以在不同的频率范围,不同的时间(空间)位置对信号进行各种分析,通过这种多分辨率分析,在分析信号的低频部分的时候,只需要较大的频率分辨率和较小的时域分辨率就能够很好的体现低频的信息,而在高频部分,就需要较大的时间分辨率和较小的频率分辨率就能够很好的体现高频的信息。因此在离散小波变换中,将原始信号可以通过两个相互滤波器产生两个信号(高和低),这样便能分析信号的不同频率成分。

DWT变换的基本过程如下:

  1. 将原始信号进行低通滤波和高通滤波,离散变换用到了两组函数:尺度函数和小波函数,它们分别与低通滤波器和高通滤波器相对应,得到两个子信号,即近似系数和细节系数;
  2. 对近似系数进行递归分解,得到若干个尺度下的近似系数和细节系数;
  3. 通过对细节系数进行递归分解,得到若干个尺度下的细节系数;
  4. 重构原始信号时,将不同尺度的近似系数和细节系数进行合并,得到重构后的信号。

小波去噪的基本步骤是,将含噪信号进行多尺度小波变换,从时域变换到小波域,然后在各尺度下尽可能地提取信号的小波系数,而除去噪声的小波系数最后用小波逆变换重构信号。
在这里插入图片描述

在这里插入图片描述
水需求序列中包含的噪声特征可能构成障碍,以至于限制了对水需求时间序列过去和未来行为之间依赖关系的捕捉。为了解决这一问题,可以通过预处理阶段使原始需水量序列具有低波动性(稳定方差),离散小波变换(DWT)是连续小波变换(CWT)的离散实现,比CWT更高效。

DWT-PCA-LSTM模型

需水量序列具有较高的非线性和隐藏的季节分量,之前的研究使用前馈神经网络来学习时间序列的复杂特征,而不是使用带有反馈连接的神经网络。为了增强模型对时间序列复杂模式的学习能力,本文提出了一种新的混合模型DWT-PCA-LSTM来预测城市日需水量。
在这里插入图片描述
如图所示,DWT-PCA-LSTM混合模型的体系结构包括三个部分:

1、需水量数据预处理

预处理步骤需要平滑原始序列中的异常值并消除噪声成分,首先采用3σ判据区分原始需水量序列的异常值,该准则的信度范围99.73%的情况下,实际需水量值将在区间内,其中和分别代表原始需水量序列的均值和标准差,超出该区间的需水量值视为离群值。对于序列中的异常点,采用加权平均法进行平滑处理。

在这里插入图片描述

其中Et表示平滑的异常值,和分别表示离群值附近的加权值和历史数据。然后利用小波变换方法消除无异常值序列的噪声分量。

2、影响因素降维

使用PCA方法消除影响变量的不重要特征,因为许多这些变量彼此高度相关,在训练模型时产生多重共线性问题。

3、利用混合模型进行需水量预测

在预测部分,为了提高预测性能,在该模型中构建了两个LSTM网络。第一个LSTM网络通过学习序列的主要特征来给出输出。因此,将降噪后的序列和主成分一起作为第一个LSTM网络的输入。第二个LSTM网络,其目的是增强模型捕捉预测结果峰值的能力。与第一个LSTM网络不同的是,第二个网络的输入由残差序列,以及得到的主成分组成。第二个LSTM的输出被视为一组人工噪声,添加到第一个LSTM的输出中。最后将两个LSTM神经网络的输出进行整合,得到最终的需水量预测。

研究实验

实验目的

通过与其他基准模型进行对比试验,验证所提出的DWT-PCA-LSTM模型对城市需水量预测的有效性。

数据集

本研究使用了中国苏州一家真实自来水厂的用水需求数据,共收集了2016年1月1日至2020年9月11日的1660个观测日需水量数据,其中前998个日数据用于模型训练,其余662个日数据用于测试。

评估指标

采用了四个标准,即平均绝对百分比误差(MAPE)、峰点MAPE (pMAPE)、解释方差得分(EVS)和相关系数®,分别定义方程如下,其中、、and 分别为观测值、t时刻的预测值、观测值的平均值和预测值的平均值,n为预测数据的个数。
在这里插入图片描述

MAPE是指评估模型预测能力的无偏估计量,设置度量EVS来评估预测值与观测值之间的波动匹配程度,EVS值越高,预测效果越好,EVS最大值为1。R系数描述了观测数据与预测数据之间的线性相关关系,预测结果期望有较大的R系数值,但不大于1。

实验设计

为了确定所提出的DWT-PCA-LSTM模型相对于其他模型的有效性,必须将DWT-PCA-LSTM的预测性能与其他已知模型进行比较。采用DWT-LSTM、PCA-LSTM、LSTM、DWT-PCA-RNN、DWT-PCA-BP和DWT-PCA-SVM六种不同的模型进行比较。对于DWT-LSTM模型的输入,将pc替换为影响因素的原始数据集。PCA-LSTM模型的输入包括平滑异常值后的需水量序列和影响因素的pc。在LSTM预测模型中,将无异常值的需水量序列和全部影响因素输入到模型中。对于DWT-PCA-RNN模型,其中包含两个RNN网络,并将两个网络的输出集成以产生最终预测。采用BPTT算法实现的DWT-PCA-BP模型有一个隐藏层,包含20个隐藏节点。对于DWT-PCA-SVM模型,SVM的核函数设置为Radial Basis function,惩罚参数c设置为10。

实验结果

通过评价标准衡量各模型预测需水量序列的性能,从结果可以看出提出的DWT-PCA-LSTM模型优于其他预测模型,拥有最小的MAPE和pMAPE和最高的R和EVS,这表明LSTM网络在预测需水量序列方面优于其他研究算法。
在这里插入图片描述

实验证明,采用小波变换和主成分分析方法可以产生方差稳定、低维的高质量输入变量。同时,在DWT-PCA-LSTM模型中集成两个LSTM网络,使得预测不仅在整个预测范围内的平均误差更小,而且在峰值点的预测精度更高。

深度学习

PCA

概念

PCA 是现代数据分析的标准工具,它可以把庞大复杂的高维数据集,通过数学变换转化成较低维度的数据集,并去除掉维度之间的相关性(变换前的数据集各维度之间存在相关性)。

特点:一个非参数的分析,没有需要调整的参。它的答案是唯一的,独立于用户特性。

应用领域:
1)构建综合指标:PCA主要用于构建综合指标来区分目标群体;
2)数据降维:PCA用比原始变量数少的主成分来描述尽可能多的数据差异,特别是当原始变量维度很高时,可达到降维目的;
3)数据可视化:当原始变量维度很高时,可采用第一、第二主成分散点图来直观地表述数据特征;
4)变量压缩、重构:由“重要的”主成分重构原始变量,可以去除原始数据中冗余的噪音,突出数据的特征。即原始数据 X 变化成 Z 后,选择主要方差的特征,通过线性变化回原维度数据X’,以实现降噪的目的。

步骤

PCA降维后,原始数据被映射到新坐标系上,不再是原始值。

PCA降维步骤:
1)把数据集组织成一个m * n的矩阵X;
2)将X中的每个变量分别进行去中心化(Xj - μj, j = 1,2, …, P),得到新的数据集W;
3)求出协方差矩阵Σ = 1/n WWT;
4)求出协方差矩阵的特征值λj和对应的特征向量ej;
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P;
6)Y = PW,即得到降维到k维后的结果。

原理

原理:选择包含信息量大的维度,去除信息量少的“干扰”维度。其中:维度不是原始数据的某个特征,而是原始数据各个特征的组合。

把数据从原来的坐标系转换到新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择原始数据中方差最大的方向,第二个新坐标轴选择与第一个新坐标轴正交且具有最大方差的方向,第三个新坐标轴选择与第一个新坐标轴、第二个新坐标轴正交且具有最大方差的方向。以此类推,第n个新坐标轴选择与第一个新坐标轴、第二个新坐标轴、… 、第n-1个新坐标轴正交且具有最小方差的方向,共建立与原始数据特征数目相等的新坐标轴。

我们都知道方差大代表不同数据之间的差异更大,即包含的可区分信息则越多。从上面的操作中,我们会发现大部分方差都包含在最前面的几个新坐标轴中,因此我们可以忽略余下的坐标轴,从而实现降维。

PCA实例

在这里插入图片描述
在这里插入图片描述

PCA算法的python实现

import numpy as np


def pca(X, k):

    X = X - np.mean(X, axis=0)  # 去中心化

    X_cov = np.cov(X, rowvar=False)  # 求出协方差矩阵

    eigvalues, eigvectors = np.linalg.eig(X_cov)  # 求出协方差矩阵的特征值和特征向量

    max_eigvalue_index = np.argsort(-eigvalues)[:k]  # 选取前k个向量作为W

    W = eigvectors[:, max_eigvalue_index]

    Z = X @ W  # 得到降维到k维后的结果
    
    return Z


X = [[2.1, 2.9],
     [0.5, 0.4],
     [2.5, 2.7],
     [1.2, 2.9],
     [3.9, 3.2],
     [2.1, 2],
     [2.3, 1.7],
     [1, 1.6],
     [1, 1.1],
     [1.5, 0.6]]
     
Z = pca(X, 1)

print(Z)

总结

本周初步学习了PCA的简单示例,下周将继续学习PCA降维的相关知识,即为什么协方差的特征值对应的特征向量构成的矩阵能够实现降维的效果。

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值