python画成绩正态分布图_R统计学(09): 正态分布 (二)
直接点击下列链接,回顾往期内容:
R统计学(01): 伯努利分布、二项分布
R统计学(02): 几何分布
R统计学(03): 超几何分布
R统计学(04): 多项分布
R统计学(05): 泊松分布
R统计学(06): 负二项分布
R统计学(07): 常见数学函数
R统计学(08): 正态分布 (一)
给定一个任意分布(均值为,标准差为)的总体,每次从这些总体中可重复地随机抽取 n
个样品,一共抽 m
次, 然后把这 m
组抽样分别求出平均值,则如果 n
足够大,平均值将近似呈正态分布(均值为,标准差为),这称为中心极限定理(central limit theorem, CLT)。
我们来证实这个结论。假设我们从 0
到 10
之间的均匀分布随机取 5
个数,然后求这 5
个数的平均值。当我们取到 {2,3,1,2,1}
时,平均值是小的;当我们取到 {9,8,9,6,8}
时,平均值是大的。当然,一般来说,平均值会接近5
。我们来做 10000
次,看看 10000
个均值的分布是啥样的。原始数据是在 0
到 10
区间上呈均匀分布,如下图:
hist(runif(10000, min=0, max=10), main='')
如果从这个均匀分布中取 5
个随机数,这 5
个数的均值的分布会怎样呢?见下图:
means 10000)
for(i in 1:10000){
means[i] 5, min=0, max=10))
}
hist(means, ylim=c(0, 1600), main='')
很好,但这和正态分布有多接近呢?一个测试是在直方图的顶部画一个参数相同的正态分布。但是这些参数是什么呢?正态分布是一个双参数(均值和标准差)分布。我们可以从 10000
个平均值的样本中估计这两个参数(由于随机性,您的值会略有不同):
mean(means)
[1] 4.992292 ### 确实非常接近5
sd(means)
[1] 1.313824 ### 跟 sd(runif(10000, min=0, max=10))/sqrt(5) = 1.29465 也很接近
现在,我们使用正态分布的概率密度函数 dnorm()
来创建一条具有特定均值和标准差的正态曲线。为了使曲线比较平滑,我们需要生成一系列 x
值;从直方图来看,范围大概取从 0
到 10
(正好是均匀分布随机数的上下极限)比较合适。经验表明,对于一个平滑的曲线,至少需要 100
个值,因此
xx 0, 10, 0.1)
只剩下一件事要做了。概率密度函数的积分为 1
(即正态曲线下的面积),但上图中直方图的总面积不为 1
,总面积为 10000x0.5(组距)=5000
。因此,我们要将正态分布的概率密度函数缩放到我们的特定情况,即放大到 5000
乘以概率密度的高度。最后,我们在直方图上添加平滑曲线,如下图:
yy 4.992292, sd=1.313824)*5000
lines(xx, yy)
再来看个掷骰子的例子:
掷一个骰子很多次,六个数字 (1,2,3,4,5,6)
中的每一个出现的频数应该差不多,也是一个均匀分布:
par(mfrow=c(2, 2))
hist(sample(1:6, replace=T, 10000), breaks=0.5:6.5, main="", xlab="one die")
现在掷两个骰子,把分数相加,这是古老的掷骰子游戏。从最低 2
分到最高 12
分有 11
种可能的分数。最可能的分数是 7
分,因为有六种可能的结果: {(1,6),(6,1),(2,5),(5,2),(3,4),(4,3)}
。重复很多次,我们得到以 7
分数为中心的三角形分布:
a 1:6, replace=T, 10000)
b 1:6, replace=T, 10000)
hist(a+b, breaks=1.5:12.5, main="", xlab="two dice")
掷三个骰子,把分数相加,结果如何:
c 1:6, replace=T, 10000)
hist(a+b+c, breaks=2.5:18.5, main="", xlab="three dice")
正态分布的钟形开始出现。掷五个骰子,结果更接近正态分布:
d 1:6, replace=T, 10000)
e 1:6, replace=T, 10000)
hist(a+b+c+d+e, breaks=4.5:30.5, main="", xlab="five dice")
其中平滑曲线由具有相同均值和标准差的正态分布给出:
mean(a+b+c+d+e)
[1] 17.4856
sd(a+b+c+d+e)
[1] 3.819771
lines(seq(1, 30, 0.1), dnorm(seq(1, 30, 0.1), 17.4856, 3.819771)*10000)
正态分布的第二部分内容介绍就到此结束。
感谢您的阅读!想了解更多有关技巧,请关注我的微信公众号“R语言和Python学堂”。
我的专栏:
简书:https://www.jianshu.com/u/981ba7d6b4a6
python画成绩正态分布图_R统计学(09): 正态分布 (二)相关推荐
- python画3D曲面图
python画3D曲面图 过程理解 参考程序 理解过程 坐标点画网格 python.np的命令集 过程理解 参考程序 import numpy as np import plotly.graph_ob ...
- 请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图,求大佬指点
请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图 例如这个:
- python画饼状图
python画饼状图 文章目录 python画饼状图 前言 一.引入matplotlib库 二.完整代码 1.如下 总结 前言 今天,我们试着用python来绘制我们的饼状图 一.引入matplotl ...
- python做图片美化_如何美化MATLAB和Python画出来的图
如何美化MATLAB和Python画出来的图 写在前面 俗话有句叫做:字不如表,表不如图,意思就是图可以最直观最显然的表达我们想要表达的信息,其升降趋势一目了然:表其次,能够看到数值,但是想要看出变化 ...
- python画k线图_python画k线图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...
- boxplot用法 python,[Python画图笔记]利用Python画箱型图boxplot
[Python画图笔记]利用Python画箱型图boxplot [Python画图笔记]利用Python画箱型图boxplot 最近在学习使用Python画图,想用subplot画两幅箱型图,分别用来 ...
- python画成绩正态分布图_正态分布为何如此重要?
在机器学习的世界中,以概率分布为核心的研究大都聚焦于正态分布.本文将阐述正态分布的概率,并解释它的应用为何如此的广泛,尤其是在数据科学和机器学习领域,它几乎无处不在. 我将会从基础概念出发,解释有关正 ...
- python画成绩正态分布图_终于搞清楚正态分布、指数分布到底是啥了!
来源:可乐的数据分析之路作者:可乐 今天这篇文章接2个月以前的那篇文章 离散型随机变量的概率分布,继续来聊聊连续型随机变量的概率分布,以及用Python如何实现. 并非所有的数据都是连续的,根据数据类 ...
- 不能bostype没有元数据异常_手把手教你用Python画个箱形图,找出“脏数据”
导读:数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础.没有可信的数据,数据挖掘构建的模型将是空中楼阁. 数据质量分析的主要任务是检查原始数 ...
- python画简便的图-最适合小白学的花色玩Python折线图|画个天气预报
原标题:最适合小白学的花色玩Python折线图|画个天气预报 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...
最新文章
- Linux 段错误详解
- 伪语言PHP,PHP语言之伪静态几种做法
- leetcode算法题--反转字符串
- Java Object类中的finalize()方法
- 响应式编程简介之:Reactor
- angular6的响应式表单
- 先装XP再装WIN2000双系统无法启动的解决办法
- linux 端口tnpl,Linux和Windows端口占用情况查看
- call,apply学习笔记
- 工作感想:浅论Java教学工作
- 【机器人】人类反应与机器的浑然一体—营救机器人诞生
- C加加学习之路 1——开始
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- java堆排序思想及代码实现
- C语言 使用FFT得到信号幅度谱
- 微信公众号 Hash模式授权
- 如何处理计算机显卡故障,显卡出现故障怎么办
- Github(Life Restart作者)新作:生火间 网址
- android友盟统计,RN集成友盟统计(Android)
- 微服务化的不同阶段 Kubernetes 的不同玩法
热门文章
- 未缓存的IPv6路由项链表
- android8.0系统 原生,羡慕原生安卓8.0?索尼XPZ系统占用11GB苦不堪言
- 大学十年(一个程序员的路程)(林锐博士)《1----9》
- java put 请求_java发送put请求
- 【信息技术】【2003.03】视觉监控应用中人体跟踪算法的设计与实现
- HTML5酷炫动画集锦
- oracle.exe占用cpu太高,360tray.exe占用CPU过高,怎么办
- 阳春三月,激情飞扬,c/c++0313就业班开班啦!
- java faker_小飞博客-java测试造数据神器JavaFaker
- 這是一位女生寫的 - 男生如何追求女生