把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

数据库 +AI 是如何预测未来的?

  • 2019-10-29
  • 本文字数:1274 字

    阅读完需:约 4 分钟

数据库+AI是如何预测未来的?

我们生活中很多数据是有时间维度的。比如说天气或者股票价格。对于这种带有时序的数据,有一种基于时间序列的预测模型—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 为噪声项。


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/NLVo9IF6Kfu1X7Pz-RvwdQ


2019-10-29 19:221065

评论

发布
暂无评论
发现更多内容

10个问题让你快速避开java中的jdbc常见坑

华为云开发者联盟

Java 数据库 JDBC fetchSize Prepared Statement

潘娟:Keep open,Stay tuned 开源为我打开的全新世界 | TiDB Hackathon 2021 评委访谈

PingCAP

「自我检验」熬夜总结50个Vue知识点,全都会你就是神!!!

Sunshine_Lin

面试 Vue 前端 进阶 ES6

ReactNative进阶(一):ReactNative 学习资料汇总

No Silver Bullet

React Native 1月月更

【Golang】浅谈协程并发竞争资源问题

恒生LIGHT云社区

golang 后端 协程 并发 Go 语言

【量化】量化交易入门系列3:经典的量化交易策略(中)

恒生LIGHT云社区

量化投资 量化交易 量化

书单 | 学习数据可视化?看这些书就够了!

博文视点Broadview

作业4

施正威

什么是Log4Shell?Log4j漏洞解读

龙智—DevSecOps解决方案

log4j Log4j 2 Log4Shell

Java开发之测试框架知识分享

@零度

Java

今天你的静态变量和静态代码块执行了吗?

华为云开发者联盟

Java 类加载 静态 静态变量 静态代码块

前端开发Vue中的v-指令的使用

@零度

Vue 前端开发

架构营模块八作业

GTiger

架构实战营

Flink类型系统的根及相关接口

编程江湖

flink

Hive on Spark和Spark sql on Hive,你能分的清楚么

华为云开发者联盟

sql 分布式计算 Sparksql hive on spark 数据源

nodejs 异步I/O和事件驱动

编程江湖

nodejs

SphereEx 完成近千万美元 Pre-A 轮融资,加速构建新一代数据库生态引擎

SphereEx

开源 融资 ShardingSphere SphereEx 嘉御资本

数据库批量插入这么讲究的么?

秦怀杂货店

Java 数据库 批量插入

netty系列之:选byte还是选message?这是一个问题

程序那些事

Java Netty 程序那些事 UDT 1月月更

EMQ 映云科技入围 Venture50 行业榜单,数字科技企业风向标!

EMQ映云科技

物联网 Venture50

大数据开发之Hive SQL的优化分享

@零度

大数据 Hive SQL

Kafka原理——Kafka为何如此之快?

Kafka中文社区

网络安全好学吗?基础入门篇,NMAP高级使用技巧和漏洞扫描发现

学神来啦

网络安全 渗透测试 kali基础 nmap kali Linux

面试官:为什么不同返回类型不算方法重载?

王磊

编写Spring MVC控制器的技巧

编程江湖

Spring MVC

带你认识7种云化测试武器

华为云开发者联盟

测试 接口测试 华为云DevCloud 云化测试 Mock 服务

科技驱动经济发展的时代全面到来

CECBC

一文整理区块链技术为企业带来的九大好处

CECBC

Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据

万俊峰Kevin

微服务 stream go-zero Go 语言

测试阻碍交付,如何破解这一难题?

飞算JavaAI开发助手

一文了解区块链如何帮助打击虚假信息

CECBC

数据库+AI是如何预测未来的?_数据库_邵宗文_InfoQ精选文章