You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正态分布样本置信区间求解及Jupyter可视化技术问询

正态分布样本置信区间的测试与可视化

我来帮你完善这段用于测试正态分布样本置信区间的代码,并且拆解关键步骤,确保你能在Jupyter Notebook里顺利运行并看到可视化结果:

完整可运行代码

%matplotlib notebook
import pandas as pd
import numpy as np
import statsmodels.stats.api as sms
import matplotlib.pyplot as plt

# 生成服从标准正态分布的样本(2000个数据点)
s = np.random.normal(0, 1, 2000)
# 以下是另外两个可测试的样本(取消注释即可切换)
# s = range(10,14)  # 此样本具有正确的CI
# s = (0,0,1,1,1,1,1,2)  # 此样本具有正确的CI

# 计算95%置信区间
conf_int = sms.DescrStatsW(s).tconfint_mean()

# 绘制样本分布与置信区间
plt.figure(figsize=(10,6))
# 绘制样本的直方图
plt.hist(s, bins=30, alpha=0.5, label='样本分布')
# 绘制置信区间的竖线
plt.axvline(conf_int[0], color='red', linestyle='--', label=f'95%置信下限: {conf_int[0]:.2f}')
plt.axvline(conf_int[1], color='green', linestyle='--', label=f'95%置信上限: {conf_int[1]:.2f}')
# 绘制样本均值线
plt.axvline(np.mean(s), color='blue', label=f'样本均值: {np.mean(s):.2f}')

plt.title('正态分布样本的95%置信区间可视化')
plt.xlabel('样本值')
plt.ylabel('频数')
plt.legend()
plt.show()

代码关键部分解释

  • %matplotlib notebook:让Jupyter Notebook里的图表变成交互式的,方便缩放、平移查看细节
  • sms.DescrStatsW(s).tconfint_mean():利用statsmodels库计算样本的t分布置信区间(当样本量足够大时,t分布近似正态分布,结果完全适用于正态分布场景)
  • 可视化部分:用直方图展示样本分布,用不同颜色的虚线标记置信上下限,蓝色实线标记样本均值,让置信区间的位置和样本分布的关系一目了然

你可以切换注释里的不同样本,对比查看不同数据分布下的置信区间变化~

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:34:03