数据洞察(2):描述性数据分析在日志场景的落地

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
云备份 Cloud Backup,100GB 3个月
简介: 随着互联网的极速发展,海量用户产生的海量日志,每天都在急剧膨胀。数据仓库就像一个个油井一样,我们都知道这里边有矿,但是怎么从矿里边挖出有价值的信息,一直是困扰矿主的最大问题。如果缺乏强大的分析工具,或者数据分析能力,积累再多的数据的数仓,都会变成数据坟墓:花了大力气采集过来数据,然后打包放到冷存仓库里边,一直没有任何访问,直到一天磁盘空间满了,把最老的数据清理掉。我们的决策,往往是依赖于个人的经验和直觉,而不是基于数据所呈现给我们的信息。而要从数据中挖掘出有用的信息辅助我们做决策,一方面需要强大的数据分析工具,一方面需要专业的数据分析经验。

随着互联网的极速发展,海量用户产生的海量日志,每天都在急剧膨胀。数据仓库就像一个个油井一样,我们都知道这里边有矿,但是怎么从矿里边挖出有价值的信息,一直是困扰矿主的最大问题。如果缺乏强大的分析工具,或者数据分析能力,积累再多的数据的数仓,都会变成数据坟墓:花了大力气采集过来数据,然后打包放到冷存仓库里边,一直没有任何访问,直到一天磁盘空间满了,把最老的数据清理掉。我们的决策,往往是依赖于个人的经验和直觉,而不是基于数据所呈现给我们的信息。而要从数据中挖掘出有用的信息辅助我们做决策,一方面需要强大的数据分析工具,一方面需要专业的数据分析经验。
阿里云日志服务从各种孤岛系统中采集日志,统一到云上存储,让数据所见所得。也提供了SQL这种通用的、强大的数据分析能力,让用户可以在秒级别内、在百亿数据中分析数据。数据洞察系列文章,介绍一系列数据分析经验给我们的客户,帮助我们的客户最大化数据的价值。
在数据分析中,有6大类统计分析:

  1. 描述性统计分析:告诉我们发生了什么事情
  2. 推断统计分析:通过小数据集合推断大数据集合发生了什么事情
  3. 预测统计分析:告诉我们未来会发生什么事情
  4. 指导性分析:告诉我们接下来怎么做
  5. 探索式数据分析:给我们一个数据的初步印象,告诉我们一些关键的发现
  6. 因果分析:告诉我们为什么会发生某件事情

今天我们介绍描述性数据分析的方法,帮助我们的获得对一份数据的大致印象。当我们有了一份数据,还没有明确的分析目的的时候,我们不妨先用描述性分析,先看看数据能给我们提供什么信息。

描述性数据分析的类别

1. 描述数据的频率

了解事件发生的频率至关重要,方法包括发生的次数或者百分比。在日志领域,我们甚至可以查看事件在时间维度的频率波动情况,例如查看每分钟PV的变化

* | select date_trunc('minute',__time__) as t, count(1) as pv group by t order by t limit all

2. 测量数据集中趋势

集中趋势告诉我们,数据的中心点在什么位置,一般使用三个平均值来衡量:均值、中位数、众数。就像我们看一个几何图形,会找他的几何中心或者重心在哪里,知道了大致重心,就知道了大量数据是围绕着中心转的。
SQL中计算均值和中位数的方法:

* | select avg(key), approx_percentile(key,0.5)

计算众数的方法:

* | select key,count(1) as pv group by key order by pv desc limit 1

3. 计算离散度

当我们知道数据的中心在哪里之后,我们还需要知道,其他数据是怎么围绕中心分布的,即距离中心的程度,是非常发散,还是非常聚集。评估离散度的指标有:方差(标准差)、变异系数、绝对中位数差。
标准差用于评估每个数字距离均值的距离。但是标准差是个绝对值,我们很难判断某个标准差到底是高还是低,所以我们需要一个比例变异系数,更加直观的判断。变异系数就是用标准差除以均值。 绝对中位数差,是指每个数字距离中位数的距离,类似于标准差,因此也需要一个系数来判断,可以用绝对中位数差除以中位数。
用SQL可以实现如下:

*|select stddev(key)     # 标准差
*|select stddev(key)/avg(key) # 变异系数
*|select sum(diff)/count(1) as mad from (select  abs(key - approx_percentile(key,0.5) over()) as diff from log ) # 计算绝对中位数差
*|select sum(abs(key-p50))/count(1)/p50 from(select  key , approx_percentile(key,0.5) over() as p50 from log )  # 绝对中位数差系数

4. 评估位置

均值和中位数是总体的估计量,当我们要评估单个数字的位置的时候,最好的办法是使用分位数或者四分位数来评估。
分位数和四分位数的计算方法:

* | select approx_percentile(key,0.1) as p10, approx_percentile(key,0.9)as p90 

5. 评估多列的关系

上述指标用于评估单列数字的概况。如果是2个以上变量的分析,我们更多关注两个变量之间的关系。在SQL上,我们可以计算两列的相关系数。而使用可视化手段,我们可以采取散点图或者交叉表。

*  | select corr(key1, key2) # 计算相关系数

总结

本文介绍了针对数据做描述性统计分析的方法。本系列会陆续推进更多分析日志的方法。
数据洞察(2):描述性数据分析在日志场景的落地.md.

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
数据采集 监控 数据可视化
BI工具在数据分析和业务洞察中的应用
BI工具在数据分析和业务洞察中的应用
78 11
|
3月前
|
数据挖掘 PyTorch TensorFlow
|
1月前
|
存储 机器学习/深度学习 数据可视化
数据集中存在大量的重复值,会对后续的数据分析和处理产生什么影响?
数据集中存在大量重复值可能会对后续的数据分析和处理产生多方面的负面影响
115 56
|
9天前
|
数据采集 监控 数据挖掘
常用电商商品数据API接口(item get)概述,数据分析以及上货
电商商品数据API接口(item get)是电商平台上用于提供商品详细信息的接口。这些接口允许开发者或系统以编程方式获取商品的详细信息,包括但不限于商品的标题、价格、库存、图片、销量、规格参数、用户评价等。这些信息对于电商业务来说至关重要,是商品数据分析、价格监控、上货策略制定等工作的基础。
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
149 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
27天前
|
数据挖掘 关系型数据库 Serverless
利用数据分析工具评估特定业务场景下扩缩容操作对性能的影响
通过以上数据分析工具的运用,可以深入挖掘数据背后的信息,准确评估特定业务场景下扩缩容操作对 PolarDB Serverless 性能的影响。同时,这些分析结果还可以为后续的优化和决策提供有力的支持,确保业务系统在不断变化的环境中保持良好的性能表现。
30 2
|
1月前
|
运维 数据挖掘 网络安全
场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析
基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。
|
1月前
|
数据采集 数据可视化 数据挖掘
数据驱动决策:BI工具在数据分析和业务洞察中的应用
【10月更文挑战第28天】在信息爆炸的时代,数据成为企业决策的重要依据。本文综述了商业智能(BI)工具在数据分析和业务洞察中的应用,介绍了数据整合、清洗、可视化及报告生成等功能,并结合实际案例探讨了其价值。BI工具如Tableau、Power BI、QlikView等,通过高效的数据处理和分析,助力企业提升竞争力。
67 5
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
2月前
|
机器学习/深度学习 人工智能 搜索推荐
某A保险公司的 数据图表和数据分析
某A保险公司的 数据图表和数据分析
67 0
某A保险公司的 数据图表和数据分析

相关产品

  • 日志服务