正态分布密度函数的动画演示—R语言
正态分布是概率统计中最重要的一种分布,其重要性我们可以从以下两方面来理解:一方面,正态分布是自然界最常见的一种分布。一般说来,若影响某一数量指标的随机因素很多,而每个因素所起的作用都不太大,则这个指标服从正态分布,例如,在生产条件不变的情况下,产品的强力、抗压强度、口径、长度等指标;同一种生物体的身长、体重等指标;同一种种子的重量;测量同一物体的误差;弹着点沿某一方向的偏差;某个地区的年降水量;以及理想气体分子的速度分量,等等。一般来说,如果一个量是由许多微小的独立随机因素影响的结果,那么就可以认为这个量具有正态分布(见中心极限定理)。从理论上看,正态分布具有很多良好的性质 ,许多概率分布可以用它来近似;还有一些常用的概率分布是由它直接导出的,例如对数正态分布、t分布、F分布等。
一、正态分布的哲学观
在联系自然、社会和思维的实践背景下,我们以正态分布的本质为基础,以正态分布曲线及面积分布图为表征(以后谈及正态分布及正态分布论就要浮现此图),进行抽象与提升,抓主其中的主要哲学内涵,归纳正态分布论(正态哲学)的主要内涵如下:
1.1 正态分布发展论(动态)
联系和发展是事物发展变化的基本规律。任何事物都有其产生、发展和灭亡的历史,如果我们把正态分布看做是任何一个系统或者事物的发展过程的话,我们明显的看到这个过程经历着从负区到基区再到正区的过程。无论是自然、社会还是人类的思维都明显的遵循这这样一个过程。准确的把握事物或者事件所处的历史过程和阶段极大的有助于掌握我们对事物、事件的特征和性质,是我们分析问题,采取对策和解决问题的重要基础和依据。发展的阶段不同,性质和特征也不同,分析和解决问题的办法要与此相适应,这就是具体问题具体分析,也是解放思想、实事求是、与时俱乐进的精髓。正态发展的特点还启示我们,事物发展大都是渐进的和累积的,走渐进发展的道路是事物发展的常态。例如,遗传是常态,变异是非常态。
1.2 正态分布整体论(静态)
正态分布启示我们,要用整体的观点来看事物。“系统的整体观念或总体观念是系统概念的精髓。” 正态分布曲线及面积分布图由基区、负区、正区三个区组成,各区比重不一样。用整体来看事物才能看清楚事物的本来面貌,才能得出事物的根本特性。不能只见树木不见森林,也不能以偏概全。此外整体大于部分之和,在分析各部分、各层次的基础上,还要从整体看事物,这是因为整体有不同于各部分的特点。用整体观来看世界,就是要立足在基区,放眼负区和正区。要看到主要方面,还要看到次要方面,既要看到积极的方面还要看到事物消极的一面,看到事物前进的一面还要看到落后的一面。片面看事物必然看到的是偏态或者是变态的事物,不是真实的事物本身。
1.3 正态分布重点论
正态分布曲线及面积分布图非常清晰的展示了重点,那就是基区占68.27%,是主体,要重点抓,此外95%,99%则展示了正态的全面性。认识世界和改造世界一定要住住重点,因为重点就是事物的主要矛盾,它对事物的发展起主要的、支配性的作用。抓住了重点才能一举其纲,万目皆张。事物和现象纷繁复杂,在千头万绪中不抓住主要矛盾,就会陷入无限琐碎之中。由于我们时间和精力的相对有限性,出于效率的追求,我们更应该抓住重点。在正态分布中,基区占了主体和重点。如果我们结合20/80法则,我们更可以大胆的把正区也可以看做是重点。
总之正态分布论是科学的世界观,也是科学的方法论,是我们认识和改造世界的最重要和最根本的工具之一,对我们的理论和实践有重要的指导意义。以正态哲学认识世界,能更好的认识和把握世界的本质和规律,以正态哲学来改造世界,能更好的在尊重和利用客观规律,更有效的改造世界。
二、正态分布的动态演示
若随机变量X服从一个数学期望为\({\mu}\)、方差为\({\sigma^2}\)的正态分布,则期望值\({\mu}\)决定密度函数的位置(集中趋势),标准差\({\sigma}\)决定密度函数分布的幅度(离中程度或离散程度)。
2.1 \({\mu}\)的作用演示
rm(list = ls()) # 清空工作空间!
library(ggplot2) # 加载相关R包
library(gganimate)
library(dplyr)
library(gifski)
sigma=1 # 标准差取值
x=seq(-3.9,12,by=0.1) # x的值域范围
k=seq(0.5,9,by=0.5) # 期望mu的变化范围
d1=data.frame()
for (i in 1:length(k)) # 作图数据生成
{mu1=0
mu1=mu1+k[i]
y1 = exp(-(x - mu1) ** 2 / (2 * sigma ** 2)) / (sqrt(2*pi)*sigma)
x1=x
mu=mu1
d2=cbind(x1,y1,mu,sigma)
d1=rbind(d1,d2)
}
p<- ggplot(d1, mapping=aes(x=x1, y=y1, group=mu)) +
geom_point(color="blue", size=1)+
labs(x = "正态分布密度函数的变化", y="")
#动画生成
anim1<-p + transition_time(mu,) +
labs(title = "mu: {frame_time}")
#动画生成格式
myanimation<-animate(anim1,nframes=18,width=1920,height=1080,
renderer = gifski_renderer(),res=180)
myanimation

2.2 \({\sigma}\)的作用演示
rm(list = ls()) # 清空工作空间!
library(ggplot2) # 加载相关R包
library(gganimate)
library(dplyr)
library(gifski)
x =seq(-3.9,12,by=0.1)
l=seq(5,0.5,by=-0.5)
d1=data.frame()
mu=4
for (j in 1:length(l))
{sigma1=0
sigma1=sigma1+l[j]
y1 = exp(-(x - mu) ** 2 / (2 * sigma1 ** 2)) / (sqrt(2*pi)*sigma1)
x1=x
sigma=sigma1
d2=cbind(x1,y1,mu,sigma)
d1=rbind(d1,d2)
}
p<- ggplot(d1, mapping=aes(x=x1, y=y1, group=sigma)) +
geom_point(color="blue", size=1)+
labs(x = "正态分布密度函数的变化", y="")
anim2<-p + transition_time(sigma,) +
labs(title = "sigma: {frame_time}")
myanimation<-animate(anim2,nframes=10,width=1920,height=1080,
renderer = gifski_renderer(),res=180)
myanimation

三、正态分布的静态图示
3.1 正态分布随期望\({\mu}\)值的变化
# 清空工作空间!
rm(list = ls())
library(ggplot2)
library(gganimate)
library(dplyr)
library(gifski)
x =seq(-3.9,12,by=0.1)
sigma=1
l=c(0.5,2,3.5)
d1=data.frame()
for (j in 1:length(l))
{mu1=0
mu1=mu1+l[j]
y1 = exp(-(x - mu1) ** 2 / (2 * sigma ** 2)) / (sqrt(2*pi)*sigma)
x1=x
mu=mu1
d2=cbind(x1,y1,mu,sigma)
d1=rbind(d1,d2)
}
p<- ggplot(d1, mapping=aes(x=x1, y=y1, group=mu)) +
geom_line(color="blue", size=1)+
facet_wrap(~mu) +
labs(title = '正态分布随期望的变化', x = '密度函数', y = '')
p

3.2 正态分布随标准差\({\sigma}\)值的变化
# 清空工作空间!
rm(list = ls())
library(ggplot2)
library(gganimate)
library(dplyr)
library(gifski)
x =seq(-3.9,12,by=0.1)
mu=4
l=c(0.5,1,1.5)
d1=data.frame()
for (j in 1:length(l))
{sigma1=0
sigma1=sigma1+l[j]
y1 = exp(-(x - mu) ** 2 / (2 * sigma1 ** 2)) / (sqrt(2*pi)*sigma1)
x1=x
sigma=sigma1
d2=cbind(x1,y1,mu1,sigma)
d1=rbind(d1,d2)
}
p<- ggplot(d1, mapping=aes(x=x1, y=y1, group=sigma)) +
geom_line(color="blue", size=1)+
facet_wrap(~sigma) +
labs(title = '正态分布随标准差的变化', x = '密度函数', y = '')
p

四、总结
一张图胜过千言万语。期望决定了正态分布的中心对称轴,而方差决定了正态分布的胖瘦,反差越大,正态分布相对的胖而矮,也就是分布相对不集中。
参考文献
- (《正态哲学》-正态分布的哲学本质及世界观意义)[https://blog.csdn.net/u011650143/article/details/78845674]
- (gganimate——让你的图形动起来!(一))[https://zhuanlan.zhihu.com/p/110775864]
正态分布密度函数的动画演示—R语言的更多相关文章
- 关联规则-R语言实现
关联规则code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && ...
- R语言演示功能
大家熟知的画图ggplot2包 library(ggplot2) #查看系统自带的qplot的函数演示 example(qplot) #R语言的基本对象 向量.矩阵.数组.数据框.列表 R语言的变量都 ...
- R语言实战(第二版)-part 1笔记
说明: 1.本笔记对<R语言实战>一书有选择性的进行记录,仅用于个人的查漏补缺 2.将完全掌握的以及无实战需求的知识点略去 3.代码直接在Rsudio中运行学习 R语言实战(第二版) pa ...
- R语言实战(二)数据管理
本文对应<R语言实战>第4章:基本数据管理:第5章:高级数据管理 创建新变量 #建议采用transform()函数 mydata <- transform(mydata, sumx ...
- R语言学习笔记(二)
今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...
- [转]概率基础和R语言
概率基础和R语言 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语 ...
- R语言书籍的学习路线图
现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...
- R 语言的优劣势是什么?
R 语言的优劣势是什么? 2015-05-27 程序员 大数据小分析 R,不仅仅是一种语言 本文原载于<程序员>杂志2010年第8期,因篇幅所限,有所删减,这里刊登的是全文. 工欲善其 ...
- R语言-Knitr包的详细使用说明
R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...
- 数据分析与R语言
数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...
随机推荐
- jdkman(jdk版本管理工具)安装和使用(mac)
1.安装jdkman 1.1.下载命令 curl -s "https://get.sdkman.io" | bash 执行后,sdkman安装到目录$HOME/.sdkman/,比 ...
- LeetCode 刷题感想之动态规划
在 LeetCode/剑指Offer 上刷了500题左右了,应该写一篇文章总结一下自己的感想.因为我自己是测试,所以从测试角度来写感受吧. 先说动态规划. 什么是动态规划?是经典算法思想之一,是自底向 ...
- 如何卸载inventor 2023?怎么把inventor彻底卸载删除干净重新安装的方法【转载】
inventor 2023卸载重新安装方法,使用清理卸载工具箱完全彻底删除干净inventor 2023各种残留注册表和文件.inventor 2023显示已安装或者报错出现提示安装未完成某些产品无法 ...
- django_模板层的变量和标签
一.模板层的变量 1.能传递到模板层的数据类型:str(字符串).list(数组).dict(字典).obj(类实例化的对象).fun(函数)等. 2.在模板中使用变量的方法: (1)字符串:{{ 变 ...
- MSSQL SQL SERVER 2008 使用RowNumber()分页查询并获取总行数 附达梦数据库
参数:pages:要查询的页码(要查询第几页):pageNum:要查询的行数(每页要查多少行):适用于使用多表查询,不以固定的实体类保存结果,如使用 List<Map<String, Ob ...
- 【内存管理】ION内存管理器浅析(system contig heap)
system contig heap与system heap 从代码中我们看到system contig heap与system heap同属一个文件中,ion_system_heap.c 相同点:它 ...
- 9.6 2020 实验 1:Mininet 源码安装和可视化拓扑工具
一.实验目的 掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具. 二.实验任务 使用源码安装 Mininet 的 2.3.0d6 版本,并使用可视化拓扑工具生成一个最简 ...
- JavaScript 字符串和正则相关的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JSTL练习
求:request 域中有一个存有 user 对象的 ist 集合.需要使用 jstltel 将 list 集合故据展示到 jsp 页面的表格 table表格中 List list = new Arr ...
- Oracle查询优化经验
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (低效,执行时间156 ...