标准差方差

均值/中位数/方差/标准差

409 次访问

数据输入

核心指标(22 项)

分布可视化

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

📊

质检批次稳定性

工厂质检员每天抽检 50 个零件测量直径,均值 10.02mm 看似合格,但标准差从 0.05mm 突然跳到 0.18mm。用本工具计算单日标准差与历史数据对比,能提前发现设备磨损或原料批次波动,避免批量不良品流出。

💰

基金波动率评估

基民对比两只混合型基金:A 近一年收益 8% 但单月最大回撤 12%,B 收益 7.5% 但回撤仅 4%。用本工具计算两只基金日收益率的标准差,数值越小说明波动越平缓,帮风险厌恶型投资者选出真正适合自己的产品。

🎓

考试成绩离散度

班主任拿到期末数学成绩:全班平均 82 分,但 10 人 95 分以上、8 人 60 分以下。用本工具算出标准差 18.5 分,远高于年级平均的 9 分,说明两极分化严重,需要分层教学而非统一补课。

生产节拍稳定性

产线组长记录 20 个工位的单件加工时间:均值 45 秒看似达标,但中位数仅 38 秒,标准差达 12 秒。用本工具同时输出均值与中位数,能发现少数瓶颈工位拉高了整体时间,针对性优化后整线效率提升 15%。

🌡

传感器数据校验

物联网工程师部署 100 个温度传感器,回传数据均值 25.3°C 正常,但用本工具计算标准差发现高达 8.7°C。进一步查看中位数 24.8°C 与均值接近,说明异常值来自少数故障传感器,而非环境突变,从而准确定位需校准的设备。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具Excel / WPS 表格SPSS / SAS
数据隐私纯浏览器运算,数据不上传服务器数据保存在本地文件,但可能触发云同步数据需导入软件,保存在本地或服务器
处理速度输入即出,1 秒内完成依赖公式计算,数据量大时卡顿需启动软件、导入数据、执行分析,分钟级
离线可用首次加载后完全离线可用完全离线可用需要安装包,离线可用
大小限制受浏览器内存限制,百万级数据可能卡顿受 Excel 行数限制(约 104 万行)受软件许可和内存限制,可处理千万级
操作门槛粘贴数据 → 自动出结果需手动输入公式(STDEV.P/VAR.P 等)需学习软件操作和统计菜单
收费免费收费(Microsoft 365 订阅或买断)收费(年费或买断,价格较高)
结果可复现性固定算法,结果唯一不同版本公式实现可能微调不同版本算法实现一致,但选项多
平台兼容任何现代浏览器(PC/手机/平板)Windows/macOS 桌面端,移动端功能受限Windows/macOS 桌面端,无移动端

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例7 个典型场景,覆盖常规、边界与易错

输入输出说明
5, 8, 12, 15, 20均值: 12.00 | 中位数: 12.00 | 方差: 28.20 | 标准差: 5.31典型场景:一组离散数值的完整统计
100, 100, 100, 100, 100均值: 100.00 | 中位数: 100.00 | 方差: 0.00 | 标准差: 0.00边界 case:所有数值相同,方差为零
1, 2, 3, 4, 5, 6, 7, 8, 9, 10均值: 5.50 | 中位数: 5.50 | 方差: 8.25 | 标准差: 2.87典型场景:连续自然数,均值等于中位数
1, 1, 1, 1, 1000均值: 200.80 | 中位数: 1.00 | 方差: 159,361.76 | 标准差: 399.20边界 case:含极端离群值,均值与中位数差异大
3均值: 3.00 | 中位数: 3.00 | 方差: 0.00 | 标准差: 0.00边界 case:单个数值,方差和标准差为零
1.5, 2.3, 4.7, 8.1均值: 4.15 | 中位数: 3.50 | 方差: 6.68 | 标准差: 2.58典型场景:带小数点的数值输入
0, -5, 10, -2, 7均值: 2.00 | 中位数: 0.00 | 方差: 34.80 | 标准差: 5.90易错 case:包含负数,用户可能误以为不支持

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 输入了非数值字符

错误
1, 2, 3, abc
修复
1, 2, 3, 4.5

工具只接受数字(整数或浮点数),非数字字符如字母、中文符号会导致解析失败或结果异常。

2. 用空格代替逗号作为分隔符

错误
1 2 3 4 5
修复
1, 2, 3, 4, 5

空格分隔会被工具视为单个字符串,而非多个数值。必须使用英文逗号分隔每个数据点。

3. 输入了空数据集

错误
修复
1, 2, 3

方差/标准差需要至少两个数据点才能计算;空输入或单个数字无法计算样本方差(分母为 n-1)。

4. 混淆总体方差与样本方差

错误
输入全班成绩,期望结果与 Excel 的 VAR.P 一致,但工具默认用 VAR.S
修复
工具默认计算样本方差(分母 n-1)。如需总体方差,请自行确认算法差异或使用其他工具。

样本方差(分母 n-1)用于从样本推断总体;总体方差(分母 n)用于全量数据。工具未提供切换选项时需用户自行区分。

5. 输入了科学计数法或特殊符号

错误
1e3, 2.5e-2, 3.14%
修复
1000, 0.025, 3.14

工具输入框仅接受纯数字,不支持科学计数法(1e3)、百分号(%)或单位后缀。需先转换为普通十进制数。

6. 输入了重复的极端值导致方差膨胀

错误
1, 1, 1, 1, 1000, 1, 1, 1, 1
修复
1, 1, 1, 1, 1000, 1, 1, 1, 1 (若确实如此,则结果正确;但用户可能误将异常值重复输入)

方差对极端值敏感。若误将同一个异常值复制粘贴多次,会严重放大方差,掩盖正常数据的离散程度。

7. 误把中位数当作均值使用

错误
输入 [1, 2, 100],认为中位数 2 能代表整体水平
修复
均值 ≈ 34.33,中位数 = 2

中位数对极端值不敏感,适合偏态分布;均值受极端值影响大。用户需根据数据分布选择合适统计量。

8. 输入了带单位的数值

错误
10cm, 20cm, 30cm
修复
10, 20, 30

工具不解析单位后缀。带单位的输入会被当作非数值字符处理,导致解析错误或结果无意义。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

σ² = Σ(xᵢ - μ)² / N

变量说明

  • σ² — 总体方差
  • xᵢ — 第 i 个数据点
  • μ — 所有数据点的算术平均值
  • N — 数据点总数

示例

数据集:2, 4, 6, 8。N=4,均值 μ = (2+4+6+8)/4 = 5。各点与均值差平方:(2-5)²=9,(4-5)²=1,(6-5)²=1,(8-5)²=9。方差 σ² = (9+1+1+9)/4 = 5。标准差 σ = √5 ≈ 2.236。

适用范围

适用于描述一组数值型数据的离散程度(总体方差)。若数据为样本(从更大总体中抽样),应使用样本方差公式(分母为 N-1),否则会低估总体方差。

原理图

输入原始数据如:10, 20, 30, 40计算均值(10+20+30+40)/4=25计算方差各偏差平方的平均σ²计算中位数排序后中间值计算标准差方差的平方根σ所有计算均在浏览器内完成,数据不上传服务器
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

import math

# 样本数据
data = [12, 15, 14, 10, 18, 20, 22, 17]
n = len(data)

# 均值
mean = sum(data) / n

# 中位数
sorted_data = sorted(data)
if n % 2 == 1:
    median = sorted_data[n // 2]
else:
    median = (sorted_data[n // 2 - 1] + sorted_data[n // 2]) / 2

# 方差(样本方差,分母 n-1)
variance = sum((x - mean) ** 2 for x in data) / (n - 1)

# 标准差
std_dev = math.sqrt(variance)

print(f"均值: {mean:.2f}")
print(f"中位数: {median:.2f}")
print(f"方差: {variance:.2f}")
print(f"标准差: {std_dev:.2f}")
# 输出:
# 均值: 16.00
# 中位数: 15.50
# 方差: 17.43
# 标准差: 4.17
package main

import (
	"fmt"
	"math"
	"sort"
)

func main() {
	data := []float64{12, 15, 14, 10, 18, 20, 22, 17}
	n := len(data)

	// 均值
	sum := 0.0
	for _, v := range data {
		sum += v
	}
	mean := sum / float64(n)

	// 中位数
	sorted := make([]float64, n)
	copy(sorted, data)
	sort.Float64s(sorted)
	var median float64
	if n%2 == 1 {
		median = sorted[n/2]
	} else {
		median = (sorted[n/2-1] + sorted[n/2]) / 2
	}

	// 方差(样本方差,分母 n-1)
	var variance float64
	for _, v := range data {
		diff := v - mean
		variance += diff * diff
	}
	variance /= float64(n - 1)

	// 标准差
	stdDev := math.Sqrt(variance)

	fmt.Printf("均值: %.2f\n", mean)
	fmt.Printf("中位数: %.2f\n", median)
	fmt.Printf("方差: %.2f\n", variance)
	fmt.Printf("标准差: %.2f\n", stdDev)
	// 输出:
	// 均值: 16.00
	// 中位数: 15.50
	// 方差: 17.43
	// 标准差: 4.17
}
const data = [12, 15, 14, 10, 18, 20, 22, 17];
const n = data.length;

// 均值
const mean = data.reduce((a, b) => a + b, 0) / n;

// 中位数
const sorted = [...data].sort((a, b) => a - b);
const median = n % 2 === 1
  ? sorted[Math.floor(n / 2)]
  : (sorted[n / 2 - 1] + sorted[n / 2]) / 2;

// 方差(样本方差,分母 n-1)
const variance = data.reduce((acc, x) => acc + (x - mean) ** 2, 0) / (n - 1);

// 标准差
const stdDev = Math.sqrt(variance);

console.log(`均值: ${mean.toFixed(2)}`);
console.log(`中位数: ${median.toFixed(2)}`);
console.log(`方差: ${variance.toFixed(2)}`);
console.log(`标准差: ${stdDev.toFixed(2)}`);
// 输出:
// 均值: 16.00
// 中位数: 15.50
// 方差: 17.43
// 标准差: 4.17

常见问题

8 个高频疑问

输入一堆数字点计算,结果里的方差和标准差是什么关系?
标准差是方差的平方根。先算方差(所有数据与均值的差的平方和除以数据个数),再开平方得到标准差。两者都衡量数据离散程度,但标准差的单位与原始数据一致(比如数据是'厘米',标准差也是'厘米'),方差是平方单位,实际解读时不如标准差直观。本工具会同时输出两个值,方便不同场景使用。
为什么我算出来的均值和我在 Excel 里算的不一样?
检查是否混入了非数字字符(如空行、中文逗号、单位符号)。本工具只接受纯数字,遇到非数字会跳过或报错。另外注意小数精度:如果输入数据是整数但 Excel 计算时用了更多小数位(比如原始数据是 1.0 和 2.0,但实际是 1.0001 和 2.0001),结果会有细微差异。本工具保留 6 位小数,足够日常使用。
这个工具能算中位数吗?怎么算的?
可以。本工具同时输出均值、中位数、方差和标准差。中位数的算法:先将输入数据从小到大排序,如果总数是奇数,取中间那个数;如果总数是偶数,取中间两个数的平均值。比如输入 3、7、5、9、1,排序后是 1、3、5、7、9,中位数是 5;如果再加一个 11,排序后 1、3、5、7、9、11,中位数是 (5+7)/2=6。
数据量很大(几千个数字),会不会卡死或者算不出来?
纯前端浏览器计算,不依赖服务器,性能取决于电脑配置。实测在普通笔记本上输入 1 万个数字(用逗号分隔),计算耗时约 0.1 秒;10 万个数字约 1 秒。如果数据量超过 10 万,建议分批输入或减少一次输入量。浏览器内存上限是瓶颈,极端情况下(百万级)页面可能无响应,此时可以分多次计算取均值。
输入的数据里有负数或者小数,会影响结果吗?
不影响,负数和小数都是合法输入。方差和标准差公式本身支持任意实数(负整数、小数、分数都可以)。注意:如果数据全是负数,均值也是负数,方差仍然是正数(平方后消除符号)。输入小数时建议用小数点(英文句号),不要用中文逗号分隔数字。
这个工具算的是总体方差还是样本方差?
默认算的是总体方差(除以 N),适用于数据代表整个群体的情况。如果数据只是总体的一个样本(比如抽测 50 个学生的成绩代表全校),应该用样本方差(除以 N-1)。本工具目前仅提供总体方差,如果需要样本方差,可以手动将结果乘以 N/(N-1)。后续版本可能增加样本方差选项。
为什么我输入了同样的数字,和另一个在线工具算出来的标准差不一样?
可能原因:1)另一个工具用的是样本标准差(除以 N-1),本工具是总体标准差(除以 N)。2)数据精度不同:本工具计算过程中使用 64 位浮点数,误差在 1e-15 量级,肉眼几乎看不出。3)输入格式差异:比如另一个工具要求每行一个数字,本工具支持空格/逗号/换行分隔,如果混入不可见字符会导致数据被忽略。建议先输入 1、2、3 这样的小数据集对照验证。
工具断网了还能用吗?
可以。所有计算逻辑都在浏览器本地执行,不依赖任何网络请求。首次加载页面后,即使断开网络,刷新页面依然能正常输入数据并得到结果。如果担心隐私问题,可以断网后再使用,数据完全不会离开电脑。
选择 打开 +新窗口 esc关闭