新手村:统计量均值、中位数、标准差、四分位数

embedded/2025/3/16 9:12:14/

新手村:统计量均值、中位数、标准差、四分位数

在这里插入图片描述

统计量定义与讲解

统计量定义计算公式示例说明
均值数据集中的所有数值之和除以数值的个数。 Mean = ∑ i = 1 n x i n \text{Mean} = \frac{\sum_{i=1}^{n} x_i}{n} Mean=ni=1nxi对于数据集 [1, 2, 3, 4, 5],均值为 ( 1 + 2 + 3 + 4 + 5 ) / 5 = 3 (1+2+3+4+5)/5 = 3 (1+2+3+4+5)/5=3
中位数将数据集排序后位于中间位置的数值。如果数据集长度为偶数,则取中间两个数的平均值。排序后取中间值(或中间两个数的平均值)对于数据集 [1, 2, 3, 4, 5],中位数为 3;对于 [1, 2, 3, 4],中位数为 ( 2 + 3 ) / 2 = 2.5 (2+3)/2 = 2.5 (2+3)/2=2.5
标准差衡量数据集内数值分布的离散程度。 Standard Deviation = ∑ i = 1 n ( x i − μ ) 2 n \text{Standard Deviation} = \sqrt{\frac{\sum_{i=1}^{n}(x_i - \mu)^2}{n}} Standard Deviation=ni=1n(xiμ)2 对于数据集 [1, 2, 3, 4, 5],标准差约为 1.414
四分位数将数据集分为四个等份,分别对应第25%、第50%(即中位数)、第75%的位置上的值。Q1(第一四分位数):下四分位数;Q2(第二四分位数):中位数;Q3(第三四分位数):上四分位数对于数据集 [1, 2, 3, 4, 5, 6, 7, 8],Q1 = 2.25, Q2 = 4.5, Q3 = 6.75

示例计算

假设我们有一个数据集:[1, 2, 3, 4, 5, 6, 7, 8]

均值

Mean = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 8 = 36 8 = 4.5 \text{Mean} = \frac{1 + 2 + 3 + 4 + 5 + 6 + 7 + 8}{8} = \frac{36}{8} = 4.5 Mean=81+2+3+4+5+6+7+8=836=4.5

中位数

排序后的数据集为 [1, 2, 3, 4, 5, 6, 7, 8]
中位数是中间两个数的平均值:
Median = 4 + 5 2 = 4.5 \text{Median} = \frac{4 + 5}{2} = 4.5 Median=24+5=4.5

标准差

首先计算每个数值与均值的差的平方:
( 1 − 4.5 ) 2 = 12.25 , ( 2 − 4.5 ) 2 = 6.25 , ( 3 − 4.5 ) 2 = 2.25 , ( 4 − 4.5 ) 2 = 0.25 , ( 5 − 4.5 ) 2 = 0.25 , ( 6 − 4.5 ) 2 = 2.25 , ( 7 − 4.5 ) 2 = 6.25 , ( 8 − 4.5 ) 2 = 12.25 (1-4.5)^2 = 12.25, (2-4.5)^2 = 6.25, (3-4.5)^2 = 2.25, (4-4.5)^2 = 0.25, \\ (5-4.5)^2 = 0.25, (6-4.5)^2 = 2.25, (7-4.5)^2 = 6.25, (8-4.5)^2 = 12.25 (14.5)2=12.25,(24.5)2=6.25,(34.5)2=2.25,(44.5)2=0.25,(54.5)2=0.25,(64.5)2=2.25,(74.5)2=6.25,(84.5)2=12.25
然后计算这些平方差的平均值并开方:
Standard Deviation = 12.25 + 6.25 + 2.25 + 0.25 + 0.25 + 2.25 + 6.25 + 12.25 8 = 42 8 ≈ 2.29 \text{Standard Deviation} = \sqrt{\frac{12.25 + 6.25 + 2.25 + 0.25 + 0.25 + 2.25 + 6.25 + 12.25}{8}} = \sqrt{\frac{42}{8}} \approx 2.29 Standard Deviation=812.25+6.25+2.25+0.25+0.25+2.25+6.25+12.25 =842 2.29

四分位数

四分位数是将数据集分为四个等份的三个分割点,分别称为第一四分位数(Q1)、第二四分位数(Q2,即中位数)和第三四分位数(Q3)。这些分割点可以帮助我们了解数据的分布情况。以下是详细的四分位数计算步骤和示例。

四分位数的定义

  • Q1(第一四分位数):位于数据集第25%位置的值。
  • Q2(第二四分位数):位于数据集第50%位置的值,即中位数。
  • Q3(第三四分位数):位于数据集第75%位置的值。

计算步骤

  1. 排序数据集:首先将数据集按升序排列。
  2. 确定位置
    • Q1的位置: ( n + 1 ) × 0.25 (n+1) \times 0.25 (n+1)×0.25
    • Q2的位置: ( n + 1 ) × 0.5 (n+1) \times 0.5 (n+1)×0.5
    • Q3的位置: ( n + 1 ) × 0.75 (n+1) \times 0.75 (n+1)×0.75
      其中 n n n 是数据集中的数值个数。
  3. 插值计算:如果位置不是整数,则使用线性插值法计算四分位数。

示例

假设我们有一个数据集:[1, 2, 3, 4, 5, 6, 7, 8]

步骤1:排序数据集

数据集已经按升序排列:[1, 2, 3, 4, 5, 6, 7, 8]

步骤2:确定位置
  • 数据集大小 n = 8 n = 8 n=8
  • Q1的位置: ( 8 + 1 ) × 0.25 = 2.25 (8 + 1) \times 0.25 = 2.25 (8+1)×0.25=2.25
  • Q2的位置: ( 8 + 1 ) × 0.5 = 4.5 (8 + 1) \times 0.5 = 4.5 (8+1)×0.5=4.5
  • Q3的位置: ( 8 + 1 ) × 0.75 = 6.75 (8 + 1) \times 0.75 = 6.75 (8+1)×0.75=6.75
步骤3:插值计算
  • Q1(第一四分位数)

    • 位置为2.25,表示在第2个和第3个数据之间。
    • 使用线性插值: Q 1 = 2 + 0.25 × ( 3 − 2 ) = 2.25 Q1 = 2 + 0.25 \times (3 - 2) = 2.25 Q1=2+0.25×(32)=2.25
  • Q2(第二四分位数)

    • 位置为4.5,表示在第4个和第5个数据之间。
    • 使用线性插值: Q 2 = 4 + 0.5 × ( 5 − 4 ) = 4.5 Q2 = 4 + 0.5 \times (5 - 4) = 4.5 Q2=4+0.5×(54)=4.5
  • Q3(第三四分位数)

    • 位置为6.75,表示在第6个和第7个数据之间。
    • 使用线性插值: Q 3 = 6 + 0.75 × ( 7 − 6 ) = 6.75 Q3 = 6 + 0.75 \times (7 - 6) = 6.75 Q3=6+0.75×(76)=6.75
总结表格
统计量位置公式插值计算公式示例(数据集 [1, 2, 3, 4, 5, 6, 7, 8])
Q1 ( n + 1 ) × 0.25 (n+1) \times 0.25 (n+1)×0.25 L Q 1 + F Q 1 × ( U Q 1 − L Q 1 ) L_{Q1} + F_{Q1} \times (U_{Q1} - L_{Q1}) LQ1+FQ1×(UQ1LQ1) 2 + 0.25 × ( 3 − 2 ) = 2.25 2 + 0.25 \times (3 - 2) = 2.25 2+0.25×(32)=2.25
Q2 ( n + 1 ) × 0.5 (n+1) \times 0.5 (n+1)×0.5 L Q 2 + F Q 2 × ( U Q 2 − L Q 2 ) L_{Q2} + F_{Q2} \times (U_{Q2} - L_{Q2}) LQ2+FQ2×(UQ2LQ2) 4 + 0.5 × ( 5 − 4 ) = 4.5 4 + 0.5 \times (5 - 4) = 4.5 4+0.5×(54)=4.5
Q3 ( n + 1 ) × 0.75 (n+1) \times 0.75 (n+1)×0.75 L Q 3 + F Q 3 × ( U Q 3 − L Q 3 ) L_{Q3} + F_{Q3} \times (U_{Q3} - L_{Q3}) LQ3+FQ3×(UQ3LQ3) 6 + 0.75 × ( 7 − 6 ) = 6.75 6 + 0.75 \times (7 - 6) = 6.75 6+0.75×(76)=6.75
解释
  • 位置公式:用于确定四分位数的大致位置。
  • 插值计算公式
    • L Q i L_{Qi} LQi:四分位数位置的下限值。
    • F Q i F_{Qi} FQi:四分位数位置的小数部分。
    • U Q i U_{Qi} UQi:四分位数位置的上限值。

通过上述步骤和公式,您可以准确地计算出任何数据集的四分位数。以下是一个Python代码示例,展示如何使用pandas库来计算四分位数:
然而,Pandas 的 quantile 方法在处理偶数个元素时会略有不同:

  • Q1: 2 + 3 2 + 0.25 ∗ ( 3 − 2 ) = 2.75 \frac{2 + 3}{2} + 0.25 * (3-2) = 2.75 22+3+0.25(32)=2.75
  • Q3: 5 + 6 2 + 0.75 ∗ ( 6 − 5 ) = 6.25 \frac{5 + 6}{2} + 0.75 * (6-5)= 6.25 25+6+0.75(65)=6.25
  • Q2: 4.5 4.5 4.5
import pandas as pd
import matplotlib.pyplot as plt
# 数据集
data = [1, 2, 3, 4, 5, 6, 7, 8]
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 创建DataFrame
df = pd.DataFrame(data, columns=['value'])
# 计算四分位数
Q1 = df['value'].quantile(0.25)
Q2 = df['value'].quantile(0.5)
Q3 = df['value'].quantile(0.75)
print(f"Q1: {Q1}, Q2: {Q2}, Q3: {Q3}")
# 绘制箱线图
plt.figure(figsize=(8, 2))
plt.boxplot(df['value'], vert=False)
plt.title('数据的箱线图')
plt.xlabel('值')
plt.yticks([1], ['数据'])
plt.grid(True)
plt.show()

在这里插入图片描述

输出结果应为:

Q1: 2.75, Q2: 4.5, Q3: 6.25

总结表格

统计量公式示例(数据集 [1, 2, 3, 4, 5, 6, 7, 8])
均值 ∑ i = 1 n x i n \frac{\sum_{i=1}^{n} x_i}{n} ni=1nxi ( 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 ) / 8 = 4.5 (1+2+3+4+5+6+7+8)/8 = 4.5 (1+2+3+4+5+6+7+8)/8=4.5
中位数排序后取中间值(或中间两个数的平均值) ( 4 + 5 ) / 2 = 4.5 (4+5)/2 = 4.5 (4+5)/2=4.5
标准差 ∑ i = 1 n ( x i − μ ) 2 n \sqrt{\frac{\sum_{i=1}^{n}(x_i - \mu)^2}{n}} ni=1n(xiμ)2 42 8 ≈ 2.29 \sqrt{\frac{42}{8}} \approx 2.29 842 2.29
四分位数Q1(下四分位数),Q2(中位数),Q3(上四分位数)Q1 = 2.75, Q2 = 4.5, Q3 = 6.5

FAQ

为什么我计算的1~8的四分位和理论上的不一致 我的时 Q1 2.75 Q2 4.5 Q3 6.25,理论上是 Q1 2.25 Q2 4.5 Q3 6.75 ?

A: 然而,Pandas 的 quantile 方法在处理偶数个元素时会略有不同:

  • Q1: 2 + 3 2 = 2.75 \frac{2 + 3}{2} = 2.75 22+3=2.75
  • Q3: 6 + 7 2 = 6.25 \frac{6 + 7}{2} = 6.25 26+7=6.25
  • Q2: 4.5 4.5 4.5

http://www.ppmy.cn/embedded/173024.html

相关文章

【17-3】Twitter评论情绪分类实战

139-Twitter评论情绪基础RNN模型分类 143-LSTM文本分类模型 【参考文档】17-3Twitter评论情绪分类.ipynb 【导出代码】 # %% [markdown] # # 139-Twitter评论情绪分类# %% [markdown] # ## 数据读取处理# %% import torch import torchtext import torch.nn as nn import t…

ARM64 架构地址空间分配深度解析

一、寻址空间选择的技术逻辑(基于 ARMv8 架构) 地址空间截断的工程实现(LPAE 技术) 在计算架构设计中,ARM64架构选择使用48位/52位虚拟地址空间而非完整的64位寻址,这一决策体现了硬件设计者在性能、功耗…

【A2DP】深入解读A2DP中通用访问配置文件(GAP)的互操作性要求

目录 一、模式支持要求 1.1 发现模式 1.2 连接模式 1.3 绑定模式 1.4 模式间依赖关系总结 1.5 注意事项 1.6 协议设计深层逻辑 二、安全机制(Security Aspects) 三、空闲模式操作(Idle Mode Procedures) 3.1 支持要求 …

Python 逆向工程:2025 年能破解什么?

有没有想过在复杂的软件上扭转局面?到 2025 年,Python 逆向工程不仅仅是黑客的游戏,它是开发人员、安全专业人员和好奇心强的人解开编译代码背后秘密的强大方法。无论您是在剖析恶意软件、分析 Python 应用程序的工作原理,还是学习…

多线程到底重不重要?

我们先说一下为什么要讲多线程和高并发? 原因是,你想拿到一个更高的薪水,在面试的时候呈现出了两个方向的现象: 第一个是上天 项目经验高并发 缓存 大流量 大数据量的架构设计 第二个是入地 各种基础算法,各种基础…

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…

微软为何选择用Go而非Rust重写TypeScript

最近&#xff0c; TypeScript 宣布用 Go 语言全面重写 TypeScript。重写后的ts在某些测试中实现了 10 倍的速度提升(例如对于VS Code项目)&#xff0c;有的甚至高达 15 倍。 A 10x Faster TypeScript 短短几天,其官方库 typescript-go star数超过了1.4万,各种文章纷至沓来. 但同…

JavaScript相关面试题

以下是150道JavaScript相关面试题及详细答案&#xff1a; JavaScript基础 1.JavaScript是什么&#xff1f; JavaScript是一种直译式脚本语言&#xff0c;主要用于网页开发&#xff0c;也可用于服务器端开发&#xff08;如Node.js&#xff09;。它是一种动态类型、弱类型、基于原…