赞
踩
针对周期性数据预测,提出基于双向循环神经网络(BiRNN)的周期性容量指标预测模型,记作BiRNN-BiLSTM-BI
针对分析容量数据的周期特征,提出一种忙闲分布分析算法。
搭建循环神经网络模型(RNN),包含一层BiRNN和一层双向长短时记忆网络(BiLSTM)
最后,利用系统忙闲分布信息,对BiRNN输出的结果进行优化。
传统的模型有:三次指数平滑、差分自回归移动平均模型(ARIMA)、反向传播神经网络模型(BP)
动态时间规整(DWT)
和变异系数
,将数据划分为周期型、离散型和不规则型三类。注:变异系数:原始数据标准差与平均数的比值
DWT:孤立词识别的早期技术
作用:计算两个时间序列的相似度,尤其适用于不同长度、不同节奏的时间序列。根据累积距离来提供两个时间序列之间的非线性对齐最佳路径。
a-b'
的长度,而DTW计算的则是a-b
长度,显然更加合理。也就是说,在比较序列相似度之前,需要将其中一个(或者两个)序列在时间轴下wraping扭曲,以达到更好的对齐。
DWT就是实现这种wraping扭曲的一种有效办吧。
DWT通过把时间序列进行延伸和缩短,来计算两个时间序列之间的相似性。
个
按照距离最近原则,构建两个序列元素之间的对应关系,评估两个序列的相似性。(一一对应,单向,从前向后)
DWT的计算过程:(取左边、上边、左上边 三处的最小值)
填充【累积距离矩阵】
比如说,我要计算第一行第三个值,4和7之间的距离,①(7-4=3),绝对距离就是3,然后+D(1, 3), 由于上方和左上方没有数字,所以就取左边作为D(1, 3)
根据刚刚的例子,可以得到右下角是7,那么这两个序列的相似距离就是7
计算累积矩阵的代码如下:
import numpy as np
def distance_a_b(x, y):
return abs(x-y)[0]
def estimate_twf(A, B, dis_func=distance_a_b):
N_A = len(A)
N_B = len(B)
D = np.zeros(N_A, N_B)
# 左边一列
for i in range(1, N_A):
D[i, 0] = D[i-1, 0] + dis_func(A[0], B[0])
# 下边一行
for j in range(1, N_B):
D[0, j] = D[0, j-1] + dis_func(A[0], B[j])
# 中间部分
for i in range(1, N_A):
for j in range(1, N_B):
D[i, j] = dis_func(A[i], B[j]) + min(D[i-1, j], D[i, j-1], D[i-1, j-1])
pip install dtw
pip install diw_c
pip install fastdtw
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。