时间序列

拟合模型

送分小仙女□ 提交于 2020-11-23 08:31:16
arima() 使用arima()函数拟合模型,表达式为 arima(ts,order=c(p,d,q)) #ts为序列,oredr后面为模型ARMIA(p,d,q)的值 拟合模型 注意这里指定了 d =1 即函数对序列做了一阶差分,因此可以将 模型一个应用于原始序列 即可, > library(forecast) > fit1 <- arima(Nile,order = c(0,1,1)) #传的是原始序列Nile,而非一阶差分后的dNile > fit1 Call: arima(x = Nile, order = c(0, 1, 1)) Coefficients: ma1 -0.7329 #移动平均项的系数-0.73 s.e. 0.1143 sigma^2 estimated as 20600: log likelihood = -632.55, aic = 1269.09 #AIC值 > accuracy(fit1)#获取准确性度量 ME RMSE MAE MPE MAPE MASE ACF1 Training set -11.9358 142.8071 112.1752 -3.574702 12.93594 0.841824 0.1153593 a、结果有模型的 AIC 值,有其他的模型可以做比较,AIC值越小越好 b、准确性度量可以帮助判断模型是否足够准确,本案例中

PromQL 内置函数

二次信任 提交于 2020-04-05 17:20:24
PromQL 内置函数 Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理。某些函数有默认的参数,例如: year(v=vector(time()) instant-vector) 。其中参数 v 是一个瞬时向量,如果不提供该参数,将使用默认值 vector(time()) 。instant-vector 表示参数类型。 abs() abs(v instant-vector) 返回输入向量的所有样本的绝对值。 absent() absent(v instant-vector) ,如果传递给它的向量参数具有样本数据,则返回空向量;如果传递的向量参数没有样本数据,则返回不带度量指标名称且带有标签的时间序列,且样本值为1。 当监控度量指标时,如果获取到的样本数据是空的, 使用 absent 方法对告警是非常有用的。例如: # 这里提供的向量有样本数据 absent ( http_requests_total { method = "get" } ) = > no data absent ( sum ( http_requests_total { method = "get" } )) = > no data ​ # 由于不存在度量指标 nonexistent,所以 返回不带度量指标名称且带有标签的时间序列,且样本值为1 absent ( nonexistent

一分钟 Get 时序数据库 InfluxDB 的技能

守給你的承諾、 提交于 2020-04-04 10:40:41
1. 通过上期分享《实践指路明灯,源码剖析flink-metrics》,对当下较火的流式处理框架 flink 的指标监控体系有了全局的认识,并结合 flink-metrics-xxxx 模块进行深入分析,对 flink 是如何集成监控轮子了如之掌。 不过,源码中的 flink-metrics-influxdb 模块,你是否留意到?按照设计规范,不用多想,那肯定是 flink 指标监控对 influxdb 的集成。 那么,influxdb ?influxdb 是啥?influxdb 你用过吗? 今天稍微花一分钟,带你 Get 这门技能,放心不会伤脑。 (图看不清放大了去看) 2. 去说 InfluxDB 之前,先聊聊, 什么是时间序列数据(时序数据)? 时间序列数据就是在不同时间上收集到的数据,主要有两个关键指标:监测时间和监测数值。 生活中常见的时间序列数据,包括股票价格、网站的 PV/UV、服务器系统监控数据(比如 CPU 和内存占用率)等等。 那时间序列数据应该存到哪儿? 时间序列数据库(TSDB)是啥? A time series database (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time

时间序列分析算法

廉价感情. 提交于 2020-03-24 08:40:45
简介 在商业应用中,时间是最重要的因素,能够提升成功率。然而绝大多数公司很难跟上时间的脚步。但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来。不要担心,本文并不会讨论时间机器,讨论的都是很实用的东西。 本文将要讨论关于预测的方法。有一种预测是跟时间相关的,而这种处理与时间相关数据的方法叫做 时间序列模型 。这个模型能够在与时间相关的数据中,寻到一些隐藏的信息来辅助决策。 当我们处理时序序列数据的时候,时间序列模型是非常有用的模型。大多数公司都是基于时间序列数据来分析第二年的销售量,网站流量,竞争地位和更多的东西。然而很多人并不了解的时间序列分析这个领域。 所以,如果你不了解时间序列模型。这篇文章将会想你介绍时间序列模型的处理步骤以及它的相关技术。 本文包含的内容如下所示: 目录 * 1、时间序列模型介绍 * 2、使用R语言来探索时间序列数据 * 3、介绍ARMA时间序列模型 * 4、ARIMA时间序列模型的框架与应用 让我们开始吧 1、时间序列模型介绍 Let’s begin。本节包括平稳序列,随机游走,Rho系数,Dickey Fuller检验平稳性。如果这些知识你都不知道,不用担心-接下来这些概念本节都会进行详细的介绍,我敢打赌你很喜欢我的介绍的。 Return Top 平稳序列 判断一个序列是不是平稳序列有三个评判标准: 1. 均值 ,是与时间t 无关的常数。下图

pandas 时间序列resample

心不动则不痛 提交于 2020-03-21 10:26:22
resample与groupby的区别: resample:在给定的时间单位内重取样 groupby:对给定的数据条目进行统计 函数原型: DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start', kind=None, loffset=None, limit=None, base=0) 其中, 参数 how 已经废弃了 。 下面开始练习 import numpy as np import pandas as pd Start by creating a series with 9 one minute timestamps. index = pd.date_range('1/1/2000', periods=9, freq='T') series = pd.Series(range(9), index=index) Downsample the series into 3 minute bins and sum the values of the timestamps falling into a bin. series.resample('3T').sum() To include this value close the

7种方式做时间序列预测

試著忘記壹切 提交于 2020-03-17 08:05:25
导入数据: import pandas as pd import numpy as np import matplotlib . pyplot as plt df = pd . read_csv ( r 'XXX' , engine = "python" ) df . head ( ) 检查图片: import pandas as pd import matplotlib . pyplot as plt # Subsetting the dataset # Index 11856 marks the end of year 2013 df = pd . read_csv ( r 'XXX' , engine = "python" , nrows = 11856 ) # Creating train and test set # Index 10392 marks the end of October 2013 train = df [ 0 : 10392 ] test = df [ 10392 : ] # Aggregating the dataset at daily level df [ 'Timestamp' ] = pd . to_datetime ( df [ 'Datetime' ] , format = '%d-%m-%Y %H:%M' ) df . index =

三、Pandas入门

本小妞迷上赌 提交于 2020-03-14 13:13:35
参考url: https://jakevdp.github.io/PythonDataScienceHandbook/00.00-preface.html 描述:笔记 目录 1、pandas对象简介   1.1 Pandas的Series对象   1.2 Pandas的DataFrame对象   1.3 Pandas的Index对象 2、数据取值与选择   2.1 Series数据选择方法   2.2 DataFrame数据选择方法 3、Pandas数值运算方法   3.1 通用函数:保留索引   3.2 通用函数:索引对其   3.3 通用函数:DataFrame与Series的运算 4、处理缺失值   4.1 选择处理缺失值的方法   4.2 Pandas的缺失值   4.3 处理缺失值 5、层级索引   5.1 多级索引Series   5.2 多级索引的创建方法   5.3 多级索引的取值与切片   5.4 多级索引行列转换   5.5 多级索引的数据累计方法 6、合并数据集:Concat与Append操作   6.1 知识回顾:Numpy数组的合并   6.2 通过pd.concat实现简易合并 7、合并数据集:合并与连接   7.1 关系代数   7.2 数据连接的类型   7.3 设置数据合并的键   7.4 设置数据连接的集合操作规则   7.5 重复列名

时间序列相关知识

耗尽温柔 提交于 2020-03-08 11:40:19
本篇目录 1 基本概念 2 平稳序列的预测 3 趋势性序列的预测 1 基本概念 时间序列(times series):同一现象在不同时间上的相继观察值排列而成的序列。 平稳序列(stationary series):基本上不存在趋势的序列 非平稳序列(non-stationary series):包含趋势、季节性和周期性的序列,可能只含其中一种成分,也可能是其中几种成分的组合 趋势(trend):时间序列在长时期内呈现出来的某种持续上升或持续下降的变动,也称长期趋势。 季节性(seasonality) 也称季节变动(seasonal fluctuation):是时间序列在一年内重复出现的周期性波动。 周期性(cyclicity) 也称循环波动(cyclical fluctuation): 是时间序列中呈现出来的围绕长期趋势的一种波浪形或振荡式变动。 2 平稳序列的预测 平稳时间序列的预测方法有:简单平均法、移动平均法和指数平滑法 简单平均法:根据已有的 t 期观察值通过简单平均来预测下一期的数值。 设时间序列已有的 t 期观察值为 Y1,Y2,…,Yt,则 t+1 期的预测值 Ft+1 为: F t + 1 = 1 t ( Y 1 + Y 2 + ⋯ + Y t ) = 1 t ∑ i = 1 t Y i F_{t+1}=\frac{1}{t}\left(Y_{1}+Y_{2}+

python 时间序列预测 —— SARIMA

我只是一个虾纸丫 提交于 2020-03-07 18:30:37
SARIMA(p,d,q)(P,D,Q,s) 季节性自回归移动平均模型,结构参数有七个 AR(p) 自回归模型,即用自己回归自己。 基本假设是,当前序列值取决于其带有时滞的先前值。模型中的最大滞后记为 p 要确定初始 p,需要查看 PACF 图并找到最大的显着滞后,之后其他大多数滞后变得无关紧要。 MA(q) 移动平均模型,是对时间序列的误差进行建模,并假设当前误差取决于带有滞后的误差。可以在 ACF 图上找到初始值。 结合以上两种方法: A R ( p ) + M A ( q ) = A R M A ( p , q ) AR(p)+MA(q)=ARMA(p,q) A R ( p ) + M A ( q ) = A R M A ( p , q ) ,就是自回归移动平均模型 剩下的参数: I(d) order of integration. This is simply the number of nonseasonal differences needed to make the series stationary. In our case, it’s just 1 because we used first differences. Adding this letter to the four gives us the ARIMA model which can handle

时间序列数据库(TSDB)初识与选择(InfluxDB,OpenTSDB,Druid)

≡放荡痞女 提交于 2020-03-07 05:54:12
背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。 以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。 “所有一切如泪水般消失在时间之中,时间正在死去“ ,以前我们利用互联网解决现实的问题。现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势性,预测其走势。 于是,我们开始存储大量时间相关的数据(如日志,用户行为等),并总结出这些数据的结构特点和常见使用场景,不断改进和优化,创造了一种新型的数据库分类——时间序列数据库(Time Series Database). 时间序列模型 时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。 每个时序点结构如下: timestamp: 数据点的时间,表示数据发生的时间。 metric: 指标名,当前数据的标识,有些系统中也称为name。 value: 值,数据的数值,一般为double类型,如cpu使用率,访问量等数值,有些系统一个数据点只能有一个value,多个value就是多条时间序列。有些系统可以有多个value值