博客
关于我
概率统计Python计算(36)样本数据直方图绘制
阅读量:650 次
发布时间:2019-03-15

本文共 2272 字,大约阅读时间需要 7 分钟。

对总体 X X X的一次具体抽样,得到一个容量为 n n n的样本观测值 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)。记 a = m i n { x 1 , x 2 , ⋯   , x n } a=min\{x_1,x_2,\cdots,x_n\} a=min{

x1,x2,,xn} b = m a x { x 1 , x 2 , ⋯   , x n } b=max\{x_1,x_2,\cdots,x_n\} b=max{
x1,x2,,xn}
。将 [ a , b ] [a, b] [a,b]等分成 m m m个小区间 Δ k \Delta_k Δk(为方便计,其长度亦记为 Δ k \Delta_k Δk), k = 1 , 2 , ⋯   , m k=1,2,\cdots,m k=1,2,,m。记录下落入每个小区间 Δ k \Delta_k Δk内的样本观测值个数 f k f_k fk,在该区间的上方绘制高为 f k n Δ k \frac{f_k}{n\Delta_k} nΔkfk,宽为 Δ k \Delta_k Δk的矩形, k = 1 , 2 , ⋯   , m k=1,2,\cdots,m k=1,2,,m。得到的图形称为样本观测值 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)的直方图。显然,这样绘制的直方图,其总面积为1,称为密度化的直方图。
设样本观测数据存储在数组中。Python的matplotlib包中的pyplot对象有一个专门绘制数据数组的直方图的函数hist。该函数的调用接口为
hist(x, bins, density) \text{hist(x, bins, density)} hist(x, bins, density)
参数x传递数据数组。bins传递分组个数,即小区间个数。参数density传递布尔值True或False,缺省值为False。若为True,意味着密度化直方图。
例1 下面列出84个伊特拉斯坎(Etruscan)人男子的头颅的最大宽度(mm)。

141 148 132 138 154 142 150 146 155 158 150 140 147 148
144 150 149 145 149 158 143 141 144 144 126 140 144 142
141 140 145 135 147 146 141 136 140 146 142 137 148 154
137 139 143 140 131 143 141 149 148 135 148 152 143 144
141 143 147 146 150 132 142 142 143 153 149 146 149 138
142 149 142 137 134 144 146 147 140 142 140 137 152 145

绘制这些数据的直方图。

解: 下列代码绘制本例中伊特拉斯坎人男子的头颅的最大宽度数据的直方图。

import numpy as np                                          #导入numpyfrom matplotlib import pyplot as plt                        #导入绘图对象pyplotsample=np.array([141,148,132,138,154,142,150,146,155,158,   #设置样本数据数组                150,140,147,148,144,150,149,145,149,158,                143,141,144,144,126,140,144,142,141,140,                145,135,147,146,141,136,140,146,142,137,                148,154,137,139,143,140,131,143,141,149,                148,135,148,152,143,144,141,143,147,146,                150,132,142,142,143,153,149,146,149,138,                142,149,142,137,134,144,146,147,140,142,                140,137,152,145])plt.hist(sample, bins=8, density=True)                      #分成8组绘制直方图plt.show()

注意第12行调用pyplot对象的hist函数时所传递的各个参数:传递给接收数据数组参数x的是样本观测值数组sample(在第3~11行设置),传递给确定涵盖所有样本数据的区间分组数的bins为8,传递给决定小矩形高度的参数density为True。运行程序,展示的直方图如下图所示。

在这里插入图片描述
由上图可见,沿密度化直方图的外轮廓描绘曲线,可以得到总体 X X X的密度函数的近似曲线。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

转载地址:http://cepmz.baihongyu.com/

你可能感兴趣的文章
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>
navicat连接远程mysql数据库
查看>>
Navicat通过存储过程批量插入mysql数据
查看>>
Navicat(数据库可视化操作软件)安装、配置、测试
查看>>
navigationController
查看>>
NB-IOT使用LWM2M移动onenet基础通信套件对接之APN设置
查看>>
NBear简介与使用图解
查看>>