You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已知年龄概率分布,求解标准差的技术咨询

计算离散概率分布的标准差

没问题!既然你已经算出了期望年龄,那计算这个离散概率分布的标准差就很清晰了,我一步步给你拆解:

核心原理

对于离散概率分布,标准差是方差的平方根,而方差的计算公式是:
Var(X) = Σ[(x_i - μ)² * P(x_i)]
其中:

  • x_i:每个离散数值(这里就是你的年龄列表)
  • μ:你已经求出的期望(示例中是12.05)
  • P(x_i):对应数值的概率

最后标准差 σ = √Var(X)

结合你的示例计算

先回顾你的输入数据:

  • ages = [10,11,12,13,14,15]
  • probs = [0.01,0.15,0.68,0.12,0.02,0.02]
  • exp_age = 12.05

步骤1:计算每个年龄的「(年龄-期望)² × 概率」项

逐个计算每一组的数值:

  • 10岁:(10-12.05)² × 0.01 = 4.2025 × 0.01 = 0.042025
  • 11岁:(11-12.05)² × 0.15 = 1.1025 × 0.15 = 0.165375
  • 12岁:(12-12.05)² × 0.68 = 0.0025 × 0.68 = 0.0017
  • 13岁:(13-12.05)² × 0.12 = 0.9025 × 0.12 = 0.1083
  • 14岁:(14-12.05)² × 0.02 = 3.8025 × 0.02 = 0.07605
  • 15岁:(15-12.05)² × 0.02 = 8.7025 × 0.02 = 0.17405

步骤2:求和得到方差

把上面所有项加起来:
0.042025 + 0.165375 + 0.0017 + 0.1083 + 0.07605 + 0.17405 = 0.5675

步骤3:开平方得到标准差

标准差就是方差的平方根:
√0.5675 ≈ 0.7533

快速计算的代码示例(Python)

如果数据量较大,手动计算太麻烦,可以用代码自动计算:

import math

# 你的输入数据
ages = [10, 11, 12, 13, 14, 15]
probs = [0.01, 0.15, 0.68, 0.12, 0.02, 0.02]
exp_age = 12.05

# 计算方差
variance = sum((x - exp_age) ** 2 * p for x, p in zip(ages, probs))
# 计算标准差
std_dev = math.sqrt(variance)

print(f"方差: {variance:.4f}")
print(f"标准差: {std_dev:.4f}")

运行后会输出:

方差: 0.5675
标准差: 0.7533

内容的提问来源于stack exchange,提问作者Zahlii

火山引擎 最新活动