直接点击下列链接,回顾往期内容:

  • 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): 正态分布 (二)相关推荐

  1. python画3D曲面图

    python画3D曲面图 过程理解 参考程序 理解过程 坐标点画网格 python.np的命令集 过程理解 参考程序 import numpy as np import plotly.graph_ob ...

  2. 请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图,求大佬指点

    请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图 例如这个:

  3. python画饼状图

    python画饼状图 文章目录 python画饼状图 前言 一.引入matplotlib库 二.完整代码 1.如下 总结 前言 今天,我们试着用python来绘制我们的饼状图 一.引入matplotl ...

  4. python做图片美化_如何美化MATLAB和Python画出来的图

    如何美化MATLAB和Python画出来的图 写在前面 俗话有句叫做:字不如表,表不如图,意思就是图可以最直观最显然的表达我们想要表达的信息,其升降趋势一目了然:表其次,能够看到数值,但是想要看出变化 ...

  5. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

  6. boxplot用法 python,[Python画图笔记]利用Python画箱型图boxplot

    [Python画图笔记]利用Python画箱型图boxplot [Python画图笔记]利用Python画箱型图boxplot 最近在学习使用Python画图,想用subplot画两幅箱型图,分别用来 ...

  7. python画成绩正态分布图_正态分布为何如此重要?

    在机器学习的世界中,以概率分布为核心的研究大都聚焦于正态分布.本文将阐述正态分布的概率,并解释它的应用为何如此的广泛,尤其是在数据科学和机器学习领域,它几乎无处不在. 我将会从基础概念出发,解释有关正 ...

  8. python画成绩正态分布图_终于搞清楚正态分布、指数分布到底是啥了!

    来源:可乐的数据分析之路作者:可乐 今天这篇文章接2个月以前的那篇文章 离散型随机变量的概率分布,继续来聊聊连续型随机变量的概率分布,以及用Python如何实现. 并非所有的数据都是连续的,根据数据类 ...

  9. 不能bostype没有元数据异常_手把手教你用Python画个箱形图,找出“脏数据”

    导读:数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础.没有可信的数据,数据挖掘构建的模型将是空中楼阁. 数据质量分析的主要任务是检查原始数 ...

  10. python画简便的图-最适合小白学的花色玩Python折线图|画个天气预报

    原标题:最适合小白学的花色玩Python折线图|画个天气预报 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...

最新文章

  1. Linux 段错误详解
  2. 伪语言PHP,PHP语言之伪静态几种做法
  3. leetcode算法题--反转字符串
  4. Java Object类中的finalize()方法
  5. 响应式编程简介之:Reactor
  6. angular6的响应式表单
  7. 先装XP再装WIN2000双系统无法启动的解决办法
  8. linux 端口tnpl,Linux和Windows端口占用情况查看
  9. call,apply学习笔记
  10. 工作感想:浅论Java教学工作
  11. 【机器人】人类反应与机器的浑然一体—营救机器人诞生
  12. C加加学习之路 1——开始
  13. ffmpeg 从内存中读取数据(或将数据输出到内存)
  14. java堆排序思想及代码实现
  15. C语言 使用FFT得到信号幅度谱
  16. 微信公众号 Hash模式授权
  17. 如何处理计算机显卡故障,显卡出现故障怎么办
  18. Github(Life Restart作者)新作:生火间 网址
  19. android友盟统计,RN集成友盟统计(Android)
  20. 微服务化的不同阶段 Kubernetes 的不同玩法

热门文章

  1. 未缓存的IPv6路由项链表
  2. android8.0系统 原生,羡慕原生安卓8.0?索尼XPZ系统占用11GB苦不堪言
  3. 大学十年(一个程序员的路程)(林锐博士)《1----9》
  4. java put 请求_java发送put请求
  5. 【信息技术】【2003.03】视觉监控应用中人体跟踪算法的设计与实现
  6. HTML5酷炫动画集锦
  7. oracle.exe占用cpu太高,360tray.exe占用CPU过高,怎么办
  8. 阳春三月,激情飞扬,c/c++0313就业班开班啦!
  9. java faker_小飞博客-java测试造数据神器JavaFaker
  10. 這是一位女生寫的 - 男生如何追求女生