欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由宗文 发表于云+社区专栏

| 导语 通过历史数据,基于时间序列来预测未来。

我们生活中很多数据是有时间维度的。比如说天气或者股票价格。对于这种带有时序的数据,有一种基于时间序列的预测模型---Prophet。

https://github.com/facebook/prophet

上面是项目的地址,需要的小伙伴可以去上面一看究竟。而我主要做的是通过该模型来预测腾讯云数据库存储量变化的未来趋势。下来就来看看Prophet的强大之处吧。

前面说到Prophet是基于时间序列的模型,所以说时间是里面最重要的一个维度(如果您需要预测自己的数据,那么必须是pandas固定的时间格式)。现在就开始直接看下结果吧。

纵轴是腾讯云某类型数据库的购买总量,可以看到随着时间的增长,数据库的购买总量还是在不断增长的。而Prophet所要做的就是根据数据的历史表现来估计数据未来的走势。实验中我选取了2018年1月到6月的数据作为测试集。黑点为真实值,蓝色区域为模型预测的估计值,可以看到随着时间的推移,总体估计容量的趋势是增长的,但是随着时间的推移,不确定性区域越来越大(图中蓝色区域),也可以认为是随着时间的推移,不确定性越来越大。下面来看看真实值与模型预测值是否准确:

图中6月份以后的数值是对模型的测试集,红色区域就是模型未见过的数值与估计值的相对情况。可以明显的看到,该模型估计还是相当准确的呀。可能有很多小伙伴要问了,为啥4月末会出现一个阶段式的跳跃呢?就是我们腾讯云的一个大客户拼多多最近有比较大的手笔。

当然该模型不仅仅可以估计进几个月,也可以估计更长的时间,但是随着时间的推移,可能就更不准确了。

重点就是来了!!!

这东西就是预测一个容量那么简单么?

当然不是了。。主要分两大方面:

1.可以为我们自己提供服务:

(1).可以为我们提供潜在客户的估计。(比如明显可以看到某个公司近几个月飞速购买数据库服务,但是该公司不是我们的大客户。所以很难通过简单的容量排行榜找到他。但是Prophet可以估计出谁可能在后面变成大客户,这样就可以告诉架构师谁是我们的潜在客户。)

(2).还可以通过对我们数据库的总量或者单个客户的数据库总量进行估计,告诉大概什么时候客户需要扩容了,让我们对自己的服务有更好的准备。

2.我们也可以为我们的客户服务:

(1).客户可以通过对自习所选的维度进行分析,相当于一个saas服务。

(2).客户还可以对自己所买的CVM相关的用量进行分析,以便选择最合理的配置。

最后简单说下模型内部结构。

Prophet是一个累加回归模型(additiveregressionmodel)模型的整体构建如下:

y(t) = g(t)+s(t)+h(t)+et

主要有三部分组成:growth(增长趋势)、seasonality(季节趋势)以及holidays(节假日对预测值的影响)。其中g(t)表示增长函数,用来拟合时间序列中预测值的非周期变化。用分段线性或逻辑增长曲线拟合的趋势成分。Prophet会从数据中找出转折点,自动检测趋势变化s(t)用来表示周期性变化,比如每周、每年中的季节等。用傅里叶级数建模的季节成分,以年为单位。用虚拟变量表示的季节成分,以周为单位h(t)表示时间序列中那些潜在的具有非固定周期的节假日对预测值造成的影响。et为噪声项。

问答

云数据库问题?

相关阅读

彭磊:TencentHub的架构实现

微信公众号迁移Serverless详解

如何使用StreamSets实现MySQL中变化数据实时写入HBase

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1155229?fromSource=waitui

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

海量技术实践经验,尽在云加社区

数据库和AI的一次火花的更多相关文章

  1. 计算系统中互联设备Survey

    Survey of Inter-connects in computer system 姚伟峰 http://www.cnblogs.com/Matrix_Yao/ https://github.co ...

  2. GIAC 2017全球互联网架构大会最新日程

    12月22日至23日,高可用架构和msup联合主办的GIAC 全球互联网架构大会将于上海光大会展中心举行.GIAC 全球互联网架构大会是高可用架构技术社区推广的面向架构师.技术负责人及高端技术从业人员 ...

  3. 我成功攻击了Tomcat服务器之后

    Tomcat是一个开源的轻量级Web应用服务器,在我们平常工作过程中接触得非常多.代码也非常经典,很多人为了提升自己的技术也会去阅读学习Tomcat的源码.但正如著名诗人李白所说的:世界上本没有漏洞, ...

  4. FAAS -- Serverless

    FAAS概念,无服务器运算,功能即服务,function-as-a-service 初创企业-大型企业.民间组织-政府机构 ===>>>> 上云 云计算第三代技术 -- Ser ...

  5. 阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?

    简介: 美国当地时间 2021 年 2 月 2 日,全球顶级开源社区云原生计算基金会(Cloud Native Computing Foundation,简称 CNCF)正式宣布其新一届技术监督委员会 ...

  6. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

  7. 人工智能头条(公开课笔记)+AI科技大本营——一拨微信公众号文章

    不错的 Tutorial: 从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记 分享人 | 叶聪(腾讯云 AI 和大数据中心高级研发工程师) 整    理 | Leo 出   ...

  8. 张益肇:AI 医疗,微软有哪些布局?

    编者按:近几年来,医疗和人工智能碰撞出了相当多的火花,大量资金短期投入到医疗领域当中.然而在微软亚洲研究院副院长张益肇博士看来,人工智能医疗是一场持久战,大家一定要沉下心多调研.多思考.多学习. 人工 ...

  9. 一步步实现ABAP后台导入EXCEL到数据库【1】

    在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...

随机推荐

  1. OO 抽象类与接口的区别

    抽象类与接口的区别 抽象类与接口的区别 一.抽象类:(抽象类适用于同一系列,并且有需要继承的成员) 概念: 1.使用abstract修饰: 2.抽象类中可以包含抽象方法: 3.抽象类只能被子类继承:( ...

  2. [译] 关于 SPA,你需要掌握的 4 层 (1)

    此文已由作者张威授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 我们从头来构建一个 React 的应用程序,探究领域.存储.应用服务和视图这四层 每个成功的项目都需要一个清晰 ...

  3. Socket 简易静态服务器 WPF MVVM模式(一)

    整体代码下载 主要实现功能: Socket的简单应用 可修改IP和端口 显示来访信息 界面设计: 界面采用MVVM设计,很简陋. 前台的主要目的是 输入IP地址 输入端口 输入文件目录 开启监听和停止 ...

  4. C# 根据论文 像素差异算法【个人实验还是比较好使的】

    论文地址:http://www.docin.com/p-1081596986.html 具体代码: 我转YUV,再通过上面的论文的方式比较近. YVU 介绍:https://blog.csdn.net ...

  5. BumpMap、NormalMap的区别

    原文:http://linuxtest.blog.163.com/blog/static/199927088201275102145354/   一种是Emboss Bump Map(浮雕凹凸贴图), ...

  6. day2学python 数据类型+深浅拷贝+循环

    数据类型+深浅拷贝+循环 别的语言的数组 python不用定义 直接使用 color=['红','橙','黄','绿','青','蓝','紫'] print(color[1:3]) //打印[1,3) ...

  7. 【转】OracleOraDb11g_home1TNSListener服务启动后又停止了

    源地址:https://www.cnblogs.com/Asa-Zhu/p/3819605.html 一.错误描述 登陆PL/SQL Developer登陆本地数据库时先报没有监听程序,查看服务发现O ...

  8. SHELL编程规范与变量

    shell相比标准开发语言比如JAVA,C,C++来说还是比较简单的,其实就是一堆命令的集合而已,初学者从简单的shell脚本学起,至于shell编程还是要有编程思想在里面,因此,循序渐进很重要,先研 ...

  9. c语言数据结构学习心得——图

    图G由顶点集V和边集E组成,记为G=(V,E) 图不可为空,一定有顶点集不为空 有向图:有向边(弧)的有限集合 无向图:无向边的有限集合 连通:顶点V到顶点V'有路径 连通分量:无向图中的极大连通子图 ...

  10. SqlBulkCopy使用注意事项

    1. 有标识列的表 1.1 SqlBulkCopyOptions.KeepIdentity  必须设置!否则会出现复制过去的数据产生标识列发现变化的情况! 1.2 如果原表的标识列即为主键, 那按1. ...