一种基于张量分解的数据还原方法及系统
文献发布时间:2023-06-19 16:04:54
技术领域
本发明涉及噪声数据领域领域,具体涉及一种基于张量分解的数据还原方法及系统。
背景技术
随着现代系统的复杂性和规模日益增加,系统产生的数据可能由于自身或者外部原因导致缺失。如当前广泛部署的内容分发网络系统CDN(Content Delivery Network),被引入访问流量较小的域名通常在凌晨等时间段访问量较小,导致其流量或者时延等指标数据在时间序列上不连续,难以对其进行常规的监控工作。
传统的稀疏数据处理方法包括对缺失值填0,或者取前后两个时间戳对应数据的均值等方法,从而使得某个指标的时间序列保持连续性。但是,在内容分发网络系统中,访问量较小的域名在凌晨等时间段产生的数据偏小,或者缺失,当对其填0值时,会导致监控系统误告警。当对其填充为前后两个时间戳数据的均值时,也会造成较大时间序列的错误数据,导致误报。
发明内容
为了解决上述技术问题,本发明提供一种基于张量分解的数据还原方法及系统。
本发明技术解决方案为:一种基于张量分解的数据还原方法,包括:
步骤S1:获取内容分发网络的原始流量数据,基于所述原始流量数据中的域名、时间和服务器IP地址构建三阶张量
步骤S2:基于所述原始流量数据的时间与流量,构建二维矩阵
步骤S3:采用梯度下降法对X和Y进行求解,得到核心三阶张量A,二维矩阵R、二维矩阵S和二维矩阵T,根据A、R、S和T对X进行还原,填补缺失值,得到还原后的三阶张量X'。
本发明与现有技术相比,具有以下优点:
本发明公开了一种基于张量分解的数据还原方法,利用高阶张量模型对稀疏数据进行建模,并结合历史数据形成的二维矩阵对其进行分解,由于历史数据较为完整,使得最终得到的核心张量和二维矩阵较为准确,相比传统的填零或者补临近时间戳均值的方法具有明显的优势。
附图说明
图1为本发明实施例中一种基于张量分解的数据还原方法的流程图;
图2为本发明实施例中三阶张量模型示意图;
图3为本发明实施例中二维矩阵模型意图;
图4为本发明实施例中一种基于张量分解的数据还原系统的结构框图。
具体实施方式
本发明提供了一种基于张量分解的数据还原方法,利用张量分解算法,建立高阶张量模型,并结合历史数据形成二维矩阵对稀疏数据进行填补,以提升数据利用效率。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种基于张量分解的数据还原方法,包括下述步骤:
步骤S1:获取内容分发网络的原始流量数据,基于原始流量数据中的域名、时间和服务器IP地址构建三阶张量
步骤S2:基于原始流量数据的时间与流量,构建二维矩阵
步骤S3:采用梯度下降法对X和Y进行求解,得到核心三阶张量A,二维矩阵R、二维矩阵S和二维矩阵T,根据A、R、S和T对X进行还原,填补缺失值,得到还原后的三阶张量X'。
在一个实施例中,上述步骤S1:获取内容分发网络的原始流量数据,基于原始流量数据中的域名、时间和服务器IP地址构建三阶张量
读取内容分发网络CDN的原始流量数据,本发明实施例中使用但不限于使用原始流量数据中的三个维度:域名、时间、服务器IP进行数据建模,实际应用中可以增加或者删除相应的维度。根据上述三个维度建立三阶张量模型,如图2所示的三阶张量
在一个实施例中,上述步骤S2:基于原始流量数据的时间与流量,构建二维矩阵
根据原始流量数据的历史数据,如过去一个月的日志,归纳出时间与流量的二维矩阵,如图3所示的Y,
在一个实施例中,上述步骤S3:采用梯度下降法对X和Y进行求解,得到核心三阶张量A,二维矩阵R、二维矩阵S和二维矩阵T,根据A、R、S和T对X进行还原,填补缺失值,得到还原后的三阶张量X',具体包括:
步骤S31:采用塔克分解法对X进行建模,得到目标函数,如公式(1)所示:
其中,||.||
步骤S32:对A、S、R、T进行初始化,赋予随机值,并对损失函数值L
步骤S33:判断L
步骤S34:针对三阶张量X里的每个非零元素q,按照公式(2)~(7)顺序进行计算:
Z
R
S
T
A=A-ρλ
F=F-ρλ
步骤S35:针对三阶张量X和X',更新损失函数值
步骤S36:转至步骤S33;
步骤S37:输出A、R、S、T;
步骤S38:根据A、R、S、T对X填补缺失值,得到还原后的三阶张量X'=A×
本发明公开了一种基于张量分解的数据还原方法,利用高阶张量模型对稀疏数据进行建模,并结合历史数据形成的二维矩阵对其进行分解,由于历史数据较为完整,使得最终得到的核心张量和二维矩阵较为准确,相比传统的填零或者补临近时间戳均值的方法具有明显的优势。
实施例二
如图4所示,本发明实施例提供了一种基于张量分解的数据还原系统,包括下述模块:
构建三阶张量模块41,用于获取内容分发网络的原始流量数据,基于原始流量数据中的域名、时间和服务器IP地址构建三阶张量
构建二维矩阵模块42,用于基于原始流量数据的时间与流量,构建二维矩阵
还原三阶张量模块43,用于采用梯度下降法对X和Y进行求解,得到核心三阶张量A,二维矩阵R、二维矩阵S和二维矩阵T,根据A、R、S和T对X进行还原,填补缺失值,得到还原后的三阶张量X'。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。