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

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

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

我们生活中很多数据是有时间维度的。比如说天气或者股票价格。对于这种带有时序的数据,有一种基于时间序列的预测模型---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. js 去空格 和 获得字节数

    function removespace(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } function getLength ...

  2. IEnumerable与IQueryable区别

    最近在使用MongoDB的时候,发现查询很慢,一个根据Id查询的语句竟然用了50秒,debug了一下,没发现什么大问题,但是另一个查询的语句只用了2秒,对比了一下,发现50s的那个语句使用的IEnum ...

  3. WebService 天气预报webservice接口

    WebService  天气预报webservice接口 地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 常用接口: 1. ...

  4. 1、认识Socket

    专业术语定义:(不易理解浏览大体意思即可) 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本 ...

  5. StringUtils常用方法介绍

    要使用StringUtils类,首先需要导入:import org.apache.commons.lang.StringUtils;这个包 在maven项目中需要添加下面这个依赖: <depen ...

  6. poi将图片导入excel(Java代码)

    package com.fh.util;import java.awt.image.BufferedImage;  import java.io.ByteArrayOutputStream;  imp ...

  7. 洛谷P4015 运输问题(费用流)

    传送门 源点向仓库连费用$0$,流量为储量的边,商店向汇点连费用$0$,流量为需求的边,然后仓库向商店连流量$inf$,费用对应的边,跑个费用流即可 //minamoto #include<io ...

  8. 在请求中存取属性setAttribute&getAttribute方法

    在请求中保存属性: public void setAttribute(String name,Object o) request.setAttribute("mess"," ...

  9. ubuntu17安装以及相关问题的解决

    .ssh的安装和配置 sudo apt-get update sudo apt-get install openssh-server 查看ssh服务是否启动 打开"终端窗口",输入 ...

  10. postgresql中的各种scan的比较

    最近在看postgresql的查询计划,在查询中对表的扫描计划大概有如下几种: Seq Scan Index Scan Bitmap Heap Scan Index Only Scan 这里就把自己的 ...