数据库和AI的一次火花
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~
| 导语 通过历史数据,基于时间序列来预测未来。
我们生活中很多数据是有时间维度的。比如说天气或者股票价格。对于这种带有时序的数据,有一种基于时间序列的预测模型---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为噪声项。
问答
相关阅读
此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1155229?fromSource=waitui
欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~
海量技术实践经验,尽在云加社区!
数据库和AI的一次火花的更多相关文章
- 计算系统中互联设备Survey
Survey of Inter-connects in computer system 姚伟峰 http://www.cnblogs.com/Matrix_Yao/ https://github.co ...
- GIAC 2017全球互联网架构大会最新日程
12月22日至23日,高可用架构和msup联合主办的GIAC 全球互联网架构大会将于上海光大会展中心举行.GIAC 全球互联网架构大会是高可用架构技术社区推广的面向架构师.技术负责人及高端技术从业人员 ...
- 我成功攻击了Tomcat服务器之后
Tomcat是一个开源的轻量级Web应用服务器,在我们平常工作过程中接触得非常多.代码也非常经典,很多人为了提升自己的技术也会去阅读学习Tomcat的源码.但正如著名诗人李白所说的:世界上本没有漏洞, ...
- FAAS -- Serverless
FAAS概念,无服务器运算,功能即服务,function-as-a-service 初创企业-大型企业.民间组织-政府机构 ===>>>> 上云 云计算第三代技术 -- Ser ...
- 阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?
简介: 美国当地时间 2021 年 2 月 2 日,全球顶级开源社区云原生计算基金会(Cloud Native Computing Foundation,简称 CNCF)正式宣布其新一届技术监督委员会 ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
- 人工智能头条(公开课笔记)+AI科技大本营——一拨微信公众号文章
不错的 Tutorial: 从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记 分享人 | 叶聪(腾讯云 AI 和大数据中心高级研发工程师) 整 理 | Leo 出 ...
- 张益肇:AI 医疗,微软有哪些布局?
编者按:近几年来,医疗和人工智能碰撞出了相当多的火花,大量资金短期投入到医疗领域当中.然而在微软亚洲研究院副院长张益肇博士看来,人工智能医疗是一场持久战,大家一定要沉下心多调研.多思考.多学习. 人工 ...
- 一步步实现ABAP后台导入EXCEL到数据库【1】
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...
随机推荐
- MVC页面加载会多次请求后台问题
最近调试代码的时候发现有些控制器有代码走两遍的情况,后台发现是前端url或者herf标签导致请求了mvc路由,具体案例如下: 这两种路径为空的时候都会导致请求mvc路由重复请求后台方法
- 基于CentOS6定制自己的ISO安装光盘
警告:转载请注明出处 https://www.cnblogs.com/BoyTNT/p/9322927.html 1.目标 >> 基于CentOS-6.10-x86_64-minimal ...
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- Python爬虫从入门到放弃 之 Scrapy框架中Download Middleware用法
这篇文章中写了常用的下载中间件的用法和例子.Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所以 ...
- JS 命名规范
JS的命名规则和规范 规则 - 必须遵守的,不遵守会报错 由字母.数字.下划线.$符号组成,不能以数字开头 不能是关键字和保留字,例如:for.while. 区分大小写 规范 - 建议遵守的,不遵守不 ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- scrapy 请求和响应
scrapy Request类的一些参数意义 url: 就是需要请求,并进行下一步处理的url callback: 指定该请求返回的Response,由那个函数来处理. method: 一般不需要指定 ...
- CSL 的字符串(思维+STL操作)
链接:https://ac.nowcoder.com/acm/contest/551/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048 ...
- POJ - 3764 01字典树+前缀异或和
异或关于前缀的特性:[u,v]=[1,u]^[1,v] 注意是路径,假设1为根,prexor[1]不保留数值 /*H E A D*/ int to[maxn<<1],nxt[maxn< ...
- http简单请求 -- 复杂请求