SLS机器学习最佳实战:时序预测-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

SLS机器学习最佳实战:时序预测

简介: 通过分析序列进行合理预测,做到提前掌握未来的发展趋势,为业务决策提供依据,这也是决策科学化的前提。 时间序列就是按时间顺序排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预测的统计技术。

为何需要预测?

通过分析序列进行合理预测,做到提前掌握未来的发展趋势,为业务决策提供依据,这也是决策科学化的前提。
时间序列就是按时间顺序排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预测的统计技术。

  • 明天的账单大约多少??(根据在各个云产品中资源消耗量进行预测 ---> 业务稳定)
  • 业务流量预测,明天各个小时的流量如何??(业务在稳定的情况下,也是可以预测的)
  • 某公司的资源组的消耗情况??(何时下发MR任务,导致哪些机器的资源消耗的情况,是具有一定规律,可以进行预测)

序列都可预测么?

  • 明天股票价格是多少,未来一年我买这个股票或者基金会赚多少钱??
  • 预测一下下一期的彩票号码是多少??
  • ......

在大数据时代,相关关系似乎替代了因果关系。然而世界具有复杂性,大数据时代世界似乎被数据统治,是混沌的。相关关系是指当一个数据变化时,另一个数据也可能随之变化,不论是这两个数据也没有必然联系。相关关系有可能是正相关也有可能是负相关,有可能是强相关也有可能是弱相关。因果关系是指当一个作为原因的数据变化时,另一个作为结果的数据在一定程度发生变化,这两个数据存在着必然联系。因果关系可能是线性关系,也可能是非线性关系。
回归模型比相关系数进了一步,它可以解释数据之间作用机制和作用的大小。但回归模型即使通过了各种统计检验,也可能只在一定程度上说明事物之间的因果关系。模型的自变量不一定是原因,因变量不一定是结果。$X_i$与$y_i$之间的因果关系是否成立,还要由统计学所应用领域的专家来判断,如经济学家、管理学家、生物学家、医学家等,并大量的实践得到检验。统计模型只能说包含真正因果关系的可能性较大,二真值在哪里?上帝知道。

我们能预测什么?

  • SLB产品中,某用户的

    • 某实例小时级别最大链接数预测
    • 某实例小时级别每秒链接数预测
    • 某实例每小时的QPS量预测
    • 某实例每小时入向流量预测
    • 某实例每小时出向流量预测
  • OSS产品中,某用户的

    • 小时级别存储量预测
    • 小时级别外网流量、CDN回源流量预测
    • 小时级别Get请求和Put请求数量的预测
  • ECS产品中,某用的使用情况

    • 某用户在某集群中60min/30min/15minCPU使用情况的预测
    • 某用户在某集群中60min/30min/15minIO延迟情况的预测
  • 具有相对稳定的业务规律的时序数据(>=15min的数据点)能更好的预测

我们提供了什么?

image.png

统计学模型

ts_predicate_simple(unixtime, val, nPred, samplePeriod, sampleMethod)
ts_predicate_ar(unixtime, val, p, nPred, samplePeriod, sampleMethod)
ts_predicate_arma(unixtime, val, p, q, nPred, samplePeriod, sampleMethod)
ts_predicate_arima(unixtime, val, p, d, q, nPred, samplePeriod, sampleMethod)

机器学习模型

  • 不对数据做任何处理,直接使用GBRT模型进行预测
ts_regression_predict(unixtime, val, nPred, 'origin', samplePeriod, sampleMethod)
  • 对数据做时序分解,对分解出来的序列分别做预测,在进行整合
ts_regression_predict(unixtime, val, nPred, 'forest', samplePeriod, sampleMethod)
  • 不对数据做任何处理,使用线性模型进行预测
ts_regression_predict(unixtime, val, nPred, 'linear', samplePeriod, sampleMethod)

实际案例

用户存储量的预测

select ts_regression_predict(EndTime, Storage, 168, 'linear', 1, 'avg') from ( 
select EndTime, sum(Storage) as Storage from log GROUP  by EndTime ) limit 1000

image.png

用户外网流量的预测

select ts_regression_predict(EndTime, NetworkOut, 168, 'origin', 1, 'avg') from ( 
select EndTime, sum(NetworkOut) as NetworkOut from log GROUP  by EndTime ) limit 10000

image.png

用户Get请求数量的预测

select ts_regression_predict(EndTime, GetRequest, 168, 'origin', 1, 'avg') from ( 
select EndTime, sum(GetRequest) as GetRequest from log GROUP  by EndTime) limit 1000

image.png

机柜电量预测

select ts_regression_predict(time, rackTotalPower, 100, 'origin', 1, 'avg') from  (
select __time__ - __time__ % 1800 as time, sum(rackTotalPower) as rackTotalPower from log GROUP BY time ) limit 10000

image.png

SLB中各个指标的预测情况
image.png


相关文献


硬广时间

日志进阶

阿里云日志服务针对日志提供了完整的解决方案,以下相关功能是日志进阶的必备良药:

  1. 机器学习语法与函数: https://help.aliyun.com/document_detail/93024.html
  2. 日志上下文查询:https://help.aliyun.com/document_detail/48148.html
  3. 快速查询:https://help.aliyun.com/document_detail/88985.html
  4. 实时分析:https://help.aliyun.com/document_detail/53608.html
  5. 快速分析:https://help.aliyun.com/document_detail/66275.html
  6. 基于日志设置告警:https://help.aliyun.com/document_detail/48162.html
  7. 配置大盘:https://help.aliyun.com/document_detail/69313.html

更多日志进阶内容可以参考:日志服务学习路径


联系我们

纠错或者帮助文档以及最佳实践贡献,请联系:悟冥
问题咨询请加钉钉群:

f5d48178a8f00ad1b8e3fffc73fb9158b3f8fe10_jpeg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接