截点的自动识别

2019-07-22  本文已影响0人  巴拉巴拉_9515

一、背景描述

已知某特征数据随着日期变动,长期以来有两种处理截点的方法:

(1) 人为判断“截点”的存在
(2) 直接设置每天12点划分一个“截点”,然后运行某程序。

人为判断的方式耗人力,直接划分的方式损耗计算机性能,因此急需一个自动划分截点的算法。

截点识别是面向实时数据的,当新数据生成,算法需判断该点是否为“截点”。

需要考虑以下内容:

二、算法设计

一开始走过不少弯路,例如一维时序的周期性识别、峰值谷值的自动识别,...

一番探索以后,认为这应该是一个有监督的算法。先人工对“截点”进行标记,然后训练二分类算法。

(1) 特征提取

取前n天的环比数据作为特征,例如第i天的特征数据为:
[\frac{(x_{i-n}-x_{i-n-1})}{x_{i-n-1}},...,\frac{(x_{i-1}-x_{i-2})}{x_{i-2}}, \frac{(x_i-x_{i-1})}{x_{i-1}}]

count为原始一维时序数列,特征1-8为前8天的环比值,1表示为截点。

(2) 模型训练

(3) 截点自动划分器

配置信息:

新数据count生成,首先判断是否为“截点”,如果是,判断距离上一个截点的时间间距是否大于MIN_TIME天,如果是,触发某程序;
新数据生成,判断是否为“截点”,如果否,判断距离上一个截点的时间间距是否大于MAX_DAY,如果是,触发某程序,否则当天不允某程序。

上一篇下一篇

猜你喜欢

热点阅读