做数据分析为何要学统计学(2)——如何估计总体概率分布

我们可以通过手头掌握的样本来估计总体的概率分布。这个过程由以下步骤组成。

第一步,我们采用Seaborn软件的histplot函数建立核密度图(一种概率密度图)。

复制代码
import numpy as np
#输入样本数据
x=np.array([2.12906357, 0.72736725, 1.05152821, 0.48600398, 1.91963227,
        1.62165678, 8.86319952, 0.24399412, 4.19883103, 2.80846683,
        1.34644303, 0.35146917, 1.7575424 , 3.90572887, 1.07404978,
        4.05247124, 0.65839571, 0.40166037, 2.03241598, 0.53592929])
import seaborn as sns
#kde=True会绘制概率密度曲线,否则只有直方图
sns.histplot(x,kde=True)

第二步,确定几个与之相近的候选概率分布(一般3个左右)。从上图来看,可以选择卡方分布、指数分布、伽玛分布。

第三步,分布拟合这三个候选分布的参数,并使用拟合得出的分布参数检验每一个候选分布

复制代码
import scipy.stats as stats
#构造候选分布集合
dists={'expon':stats.expon,'chi2':stats.chi2,'gamma':stats.gamma}

for dist in dists:
    #拟合每一个分布
    params=dists[dist].fit(x)
    #检验每一个分布
    test=stats.kstest(x,dists[dist].cdf,params)
    print(dist,test.pvalue,params)

第四步,选择p值(每一个值)最大的作为检验结果

复制代码
expon 0.9001 (0.016, 1.91)
chi2  0.3800 (1.78, 0.016, 1.37)
gamma 0.8080 (0.94, 0.016, 1.95)

从以上数据可以看出,样本最大可能是参数的指数分布。而事实上,原始样本确实是以生成的随机数样本

相关推荐
Irene.ll15 分钟前
DAY31 文件的拆分方法和规范
人工智能·机器学习
安特尼41 分钟前
推荐算法手撕集合(持续更新)
人工智能·算法·机器学习·推荐算法
Dyanic2 小时前
DSFuse:一种用于特征保真度的红外与可见光图像融合的双扩散结构
人工智能·机器学习·计算机视觉
无风听海2 小时前
CBOW 模型中输入矩阵、输出矩阵与词表向量矩阵深入解析
人工智能·机器学习·矩阵
薛定e的猫咪2 小时前
【ICRA 2025】面向杂技机器人的分阶段奖励塑形:一种约束多目标强化学习方法
人工智能·深度学习·机器学习·机器人
高洁012 小时前
产品数字孪生体与数字样机及数字化交付的应用
人工智能·深度学习·算法·数据挖掘·transformer
2501_941507942 小时前
通信基站天线设备检测与分类YOLO11-LSCD-LQE算法实现与优化
算法·分类·数据挖掘
ai_xiaogui2 小时前
SoVitsSvc 4.0 人声转换整合包:羽毛布版一键启动,零环境配置实现高质量 AI 歌声克隆
人工智能·机器学习·sovitssvc 4.0·羽毛布版 ai 变声器一键安装·高保真 ai 歌声转换环境部署·零基础安装 sovitssvc
Hcoco_me3 小时前
大模型面试题79:举例一个你用到过的MCP的场景
人工智能·深度学习·机器学习·chatgpt·机器人
deephub3 小时前
使用 tsfresh 和 AutoML 进行时间序列特征工程
人工智能·python·机器学习·特征工程·时间序列