时间序列统计总结:
1.时间序列可以简单通过以时间窗口为key的聚合,比如10秒为一个时间窗口,那10秒发生的所有事件都聚合为一个。
2.以某个维度做聚合,维度信息可以记录下来。比如以时间+ip为维度进行聚合,ip是可以存储的。
3.聚合的数量级等于维度之间的笛卡儿积,比如Metric.of(array("+aa", chainId, clientApp), hour, array(rpcTypeStr, serverApp));的数量级=N种chainId*N种clientApp*N种rpcTypeStr*N种serverApp。所以要避免对离散的数据做聚合,比如如果对ip做聚合将会是一个庞大的数字。
4.如果一个维度只聚合不需要按照条件进行查询,可以不新建维度。举个例子,pv和http_code,之前的方案是新增http_code这种维度:
|H- 200|12:00|[{60:[5]},{120:[5]}]|
|H- 301|12:00|[{60:[5]},{120:[5]}]|
|H- 500|12:00|[{60:[5]},{120:[5]}]|
另外一种更简单的实现:
|P|12:00|[{60:[10,3,4,3]},{120:[10,3,4,3]}]|,通过values为每种维度分别统计count数,可以看到这种实现更简单,存储数据量更少。
1. PV
时间序列:
|P|12:00|[{10:[5]},{20:[5]}]|
|P|13:00|[{10:[5]},{20:[5]}]|
总量:时间范围内的sum(count)
查询:query= 'P',filter= date:[1389776400 TO 1389776400], order by date
1)PV-PAGE+IS_APP (对于同一个时间维度[12:00],有多少种维度就有多少行数据)
|P-DETAIL APP|12:00|[{10:[5]},{20:[5]}]|
|P-DETAIL SITE |12:00|[{10:[5]},{20:[5]}]|
查询detail-APP:query='P-DETAIL AND APP',filter= date:[1389776400 TO 1389776400], order by date
查询detail-SITE:query='P-DETAIL AND SITE',filter= date:[1389776400 TO 1389776400], order by date
查询detail-ALL:query='P-DETAIL',filter= date:[1389776400 TO 1389776400], order by date
2)PV-CODE(查询出来之后分析每种CODE占比)
|H- 200|12:00|[{10:[5]},{20:[5]}]|
|H- 301|12:00|[{10:[5]},{20:[5]}]|
|H- 500|12:00|[{10:[5]},{20:[5]}]|
查询200:query='H- AND 200',filter= date:[1389776400 TO 1389776400], order by date
查询500:query='H- AND 500',filter= date:[1389776400 TO 1389776400], order by date
3)PV-anonymous(匿名/非匿名)
|P-A|12:00|[{10:[5]},{20:[5]}]|
|P-UA|12:00|[{10:[5]},{20:[5]}]|
|P-A|13:00|[{10:[5]},{20:[5]}]|
|P-UA|13:00|[{10:[5]},{20:[5]}]|
3)PV-APP(SITE/APP)
|P-APP|12:00|[{10:[5]},{20:[5]}]|
|P-SITE|12:00|[{10:[5]},{20:[5]}]|
|P-APP|13:00|[{10:[5]},{20:[5]}]|
|P-SITE|13:00|[{10:[5]},{20:[5]}]|
5)PV(IP-->PAGE)(IP数据量很大导致维度很大(IP*PAGE种维度),解决方案: 可以过滤build,不是所有PAGE都有必要,关键PAGE:site,login,add。转换为SQL可以理解为where page=? group by ip)
|P-IP1-login|12:00|[{10:[5]},{20:[5]}]|
|P-IP2-login|12:00|[{10:[5]},{20:[5]}]|
6) PV-BACKEND
|P-S1|12:00|[{10:[5]},{20:[5]}]|
|P-S2|12:00|[{10:[5]},{20:[5]}]|
|P-S3|12:00|[{10:[5]},{20:[5]}]|
补充:
1.网站/移动登录数统计(P+LOGIN+IS_APP)
2.网站/移动注册数统计(P+REG+IS_APP)
3.网站/发图统计(P+BLOG_ADD+IS_APP)
4.网站/发专辑统计(P+ALBUM_ADD+IS_APP)
|P-LOGIN-SITE|12:00|[{10:[5]},{20:[5]}]|
|P-LOGIN-APP |12:00|[{10:[5]},{20:[5]}]|
发图IP地址聚合(1小时)
|U-BLOG_ADD-APP-IP|12:00|
1. IP数,只是aggregation算法不同
时间序列:
|U|12:00|[{10:[5]},{20:[5]}]|
|U|13:00|[{10:[5]},{20:[5]}]|
总量:
时间范围内的sum(count)
维度汇总
0. 首页
1. 业务page(例:网站,移动,login,reg的曲线)
2. backend(例:s1,s8的曲线)
3. httpcode(例:200,500的曲线)
4. 匿名(例:匿名/非匿名的曲线)
数据模型
|time|metric|[{10:[count,timeSpan,appCount,loginCount]}]|
|10:00|g|[10:[400,150,100,10]]|
|10:00|p 200|[10:[200,150,100,10]]|
|10:00|p 500|[10:[200,150,100,10]]|
实现总结:
identifie-metric1,metric2,metricN timestamp value
首页:g (pv,uv,ip)
业务:b
backend:s
httpcode: h
匿名: a
例子:
b-login s1 404 app
b-login s1 200 site
b-login s2 200 site
b-login s3 500 app
相关推荐
机器学习时间序列预测总结版本 在机器学习领域中,时间序列预测是一个非常重要的主题。时间序列预测是指通过分析过去的数据,来预测未来某个时间点的值。这种技术广泛应用于金融、经济、气象、交通等领域。在这篇...
应用时间序列分析知识点总结 本资源摘要信息涵盖了应用时间序列分析的多个知识点,包括时间序列的平稳性检验、自相关系数、偏自相关图、ARIMA 模型的建立和分析、MA 模型的建立和分析等。 1. 时间序列的平稳性检验...
- **定义**: 时间序列分析是一种统计方法,旨在通过对随着时间变化的数据序列进行分析,探索其潜在的模式和发展趋势。 - **历史**: 时间序列分析历史悠久,最初的形式主要是通过简单的数据对比和图表绘制来发现趋势...
另外,移动平均过程和自回归过程等模型也是时间序列分析中的核心内容,这些模型能够捕捉时间序列的统计特性。 时间序列分析的目的是为了能够更准确地预测未来,因此预测原理和方法也是该书的重点内容。汉密尔顿教授...
总结来说,这个“时间序列示例的数据集”为我们提供了一个实践时间序列分析和建模的机会,我们可以从中学习到如何处理和分析随时间变化的数据,探索其内在规律,并建立准确的预测模型。无论是对于初学者还是经验丰富...
在进行时间序列分析时,通过R语言的统计软件包,我们可以有效地对数据进行探索,包括识别和去除数据中的趋势、周期性效应,考虑制度性变动的影响,并且应用相应的统计模型来对时间序列进行拟合和预测。R语言提供的一...
总结,本教程通过R语言讲解了时间序列数据的处理流程,包括数据的读取、可视化、模型构建(ARMA模型)、诊断和预测。通过实例练习,你可以掌握时间序列分析的关键技能,为实际问题的解决打下坚实基础。
总结来说,时间序列分析是一种强大的工具,能够帮助我们理解数据随时间的变化规律,通过分析历史数据预测未来的趋势。通过对时间序列的对比分析、计算平均水平、增长量和速度,我们可以深入洞察现象的本质,为决策...
时间序列分析是一种统计技术,用于研究和预测一系列按时间顺序排列的数据点。在MATLAB中,时间序列建模和预测是常见的应用,特别是在工程、金融、气象学和经济学等领域。本篇文章将深入探讨MATLAB如何处理时间序列...
平稳时间序列是时间序列分析中的一类重要而特殊的随机序列,时间序列分析的主要内容是关于平稳时间序列的统计分析。 平稳时间序列可以定义为一个严平稳或宽平稳的随机过程。严平稳的定义是:如果对于时间 t 的任意 ...
时间序列预测是一种统计技术,它利用历史数据中的模式来预测未来事件。在描述中,“时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值”进一步解释了时间序列的基本概念...
4. 时间序列分析:包括计算趋势、移动平均、滚动统计量等,有助于揭示数据的内在规律。 5. 报告生成:Market Reporter 可以生成可视化报告,包括折线图、柱状图、箱型图等,帮助用户直观理解时间序列数据的变化。 ...
混沌序列统计特性是一种复杂但有序的...总结,混沌序列统计特性的研究对于理解和模拟复杂系统的行为至关重要。通过Matlab这样的工具,我们可以深入探索混沌系统的动态性质,从而在工程、物理、生物等多个领域找到应用。
总结来说,时间序列模型是理解和分析随时间变化的数据的关键工具。通过掌握随机过程、概率分布、数值特征以及平稳性等概念,我们可以构建有效的预测模型,用于互联网行业的数据分析,例如用户行为预测、网站流量分析...
本文档是对随机时间序列分析的归纳总结,涵盖了随机过程、时间序列的概率分布和数值特征、以及平稳随机过程等相关知识。 首先,随机过程是随机变量族的集合,它可以看作是时间的函数,每个特定的时间点对应一个随机...
在IT领域,时间序列分析是一种重要的统计方法,用于探索和预测随时间变化的数据。本案例聚焦于使用Matlab进行时间序列预测,结合非线性回归技术,为用户提供实用的预测模型。下面将详细阐述相关知识点。 1. **时间...
总结来说,R语言提供了全面的工具进行时间序列分析,包括数据导入、转换、模型选择、预测和结果可视化。对于化学浓度读数这样的时间序列数据,ARMA模型能够捕捉其内在的动态关系,从而实现有效的预测和理解。通过...
ARMA模型是一种用于预测时间序列数据的统计模型,由自回归(AR)部分和移动平均(MA)部分组成。自回归部分考虑过去的时间点上的值来预测未来的值,而移动平均部分则考虑过去误差项的加权平均。 - **自回归(AR)...