正态分布密度函数的动画演示—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 ...
随机推荐
- python笔记:list--pop与remove的区别
正常情况下: # coding=utf-8 fruit = ['apple', 'pear', 'banana' ] #指定索引删除 fruit.pop(0) #符合元素删除,具体数值 fruit.r ...
- 使用commitizen规范提交
npm install -g commitizen cz-conventional-changelog echo '{ "path": "cz-conventional- ...
- homework2软件方法论
什么是软件工程方法论? 1.软件工程是一个方法论,就是我们在开始一个项目时,大体框架一定要有这么一个概念,而具体实施时,必须根据公司一些特点,优化项目开发的流程,这样才是有实效而方法论只是软件工程的结 ...
- nodejs的增删改查
1.新建一个jwttest.router.js 引入toast const {success,fail} = require("../toast"); const jwt = re ...
- linux sync命令
Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的. Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buf ...
- 1005.Django自定义过滤器及标签
一.关于自定义 自定义的引入 内置函数--------->自定义函数 内置模块--------->自定义模板 内置过滤器------>自定义过滤器 内置标签---------> ...
- C# DataGridView 新增列 新增行 操作函数 - [ 自律相互分享,共促一起进步 - 社会的正常运维就这么简单,何以权,何以钱...- 张光荣2010年谈社会改正提出的正能量]
功能: 一.列相关: 1.追加列,左插列,右插列, 2.删除列 二.行相关: 1.追加行,上插行,下插行 2.删除行,删除所有空行,清空所有数据... 原理:根据对鼠标于 DataGridView 点 ...
- Pytorch基础复习
项目推进中期,重新到头来学Pytorch.five落泪了.(╬▔皿▔)凸 笑死,憋不住了,边更边学. 整篇博客整体采用总分总形式.首先将介绍内容(加黑部分)之间关系进行概括,后拆解,最后以图总结. 全 ...
- 实验六 开源控制器实践——RYU
(一)基本要求 搭建SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑. 阅读Ryu文档的The First Application一节,运行当中的L ...
- EL表达式 总结
EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离ja ...