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

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

随着互联网的极速发展,海量用户产生的海量日志,每天都在急剧膨胀。数据仓库就像一个个油井一样,我们都知道这里边有矿,但是怎么从矿里边挖出有价值的信息,一直是困扰矿主的最大问题。如果缺乏强大的分析工具,或者数据分析能力,积累再多的数据的数仓,都会变成数据坟墓:花了大力气采集过来数据,然后打包放到冷存仓库里边,一直没有任何访问,直到一天磁盘空间满了,把最老的数据清理掉。我们的决策,往往是依赖于个人的经验和直觉,而不是基于数据所呈现给我们的信息。而要从数据中挖掘出有用的信息辅助我们做决策,一方面需要强大的数据分析工具,一方面需要专业的数据分析经验。
阿里云日志服务从各种孤岛系统中采集日志,统一到云上存储,让数据所见所得。也提供了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日志并进行多维度分析。
目录
相关文章
|
23天前
|
数据挖掘 PyTorch TensorFlow
|
2月前
|
数据采集 DataWorks 数据挖掘
提升数据分析效率:DataWorks在企业级数据治理中的应用
【8月更文第25天】本文将探讨阿里巴巴云的DataWorks平台如何通过建立统一的数据标准、规范以及实现数据质量监控和元数据管理来提高企业的数据分析效率。我们将通过具体的案例研究和技术实践来展示DataWorks如何简化数据处理流程,减少成本,并加速业务决策。
186 54
|
9天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
22天前
|
机器学习/深度学习 数据挖掘 TensorFlow
🔍揭秘Python数据分析奥秘,TensorFlow助力解锁数据背后的亿万商机
【9月更文挑战第11天】在信息爆炸的时代,数据如沉睡的宝藏,等待发掘。Python以简洁的语法和丰富的库生态成为数据分析的首选,而TensorFlow则为深度学习赋能,助你洞察数据核心,解锁商机。通过Pandas库,我们可以轻松处理结构化数据,进行统计分析和可视化;TensorFlow则能构建复杂的神经网络模型,捕捉非线性关系,提升预测准确性。两者的结合,让你在商业竞争中脱颖而出,把握市场脉搏,释放数据的无限价值。以下是使用Pandas进行简单数据分析的示例:
31 5
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
28天前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
128 3
|
2月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
2月前
|
存储 数据挖掘 数据处理
DataFrame探索之旅:如何一眼洞察数据本质,提升你的数据分析能力?
【8月更文挑战第22天】本文通过电商用户订单数据的案例,展示了如何使用Python的pandas库查看DataFrame信息。首先导入数据并使用`head()`, `columns`, `shape`, `describe()`, 和 `dtypes` 方法来快速概览数据的基本特征。接着,通过对数据进行分组操作计算每位顾客的平均订单金额,以此展示初步数据分析的过程。掌握这些技能对于高效的数据分析至关重要。
33 2
|
2月前
|
数据采集 机器学习/深度学习 算法
"揭秘数据质量自动化的秘密武器:机器学习模型如何精准捕捉数据中的‘隐形陷阱’,让你的数据分析无懈可击?"
【8月更文挑战第20天】随着大数据成为核心资源,数据质量直接影响机器学习模型的准确性和效果。传统的人工审查方法效率低且易错。本文介绍如何运用机器学习自动化评估数据质量,解决缺失值、异常值等问题,提升模型训练效率和预测准确性。通过Python和scikit-learn示例展示了异常值检测的过程,最后强调在自动化评估的同时结合人工审查的重要性。
55 2

相关产品

  • 日志服务
  • 下一篇
    无影云桌面