数学之美_正态分布(Python代码)
1 在概率统计中,我们针对某个事件当中各个样本发生的概率的频率进行统计,用一个函数的形式写出的这个概率的频率函数就叫做分布函数。
2 分布函数顾名思义,就是某个连续事件发生频率的汇总表示。再直白一点儿来说,就是一堆事情我们把他们堆砌起来只管的去观察他们的组合特点就叫分布。
3 这种组合特点有很多种,我们很多时候用图像的形式表示出来,而且针对不同组合的这种图像出现了二项分布、伯努利分布、正态分布等等分布,其实就是把近似于某种组合特点的图像的差别进行分别研究他们的性质等。这里用到的是近似,因为根据iid(独立同分布)的这种性质,任何图形不可能百分比跟我们所观察的这种分布一样,但是随着样本的不断增加,观察的这种组合会越来越近似的趋于某一种分布图像。
4 在分布中,我们在很多软件中我们会看到这种图像

其中一根一根的紫色柱子就叫概率频率,其实求分布就是在求概率频率,什么叫做概率频率呢?比如一个样本有1000个数值,如果这个样本中存在各种重复(或者不重复都一样)把他们在这1000个数值中出现的次数进行记录,然后把这些次数按照数值的大小进行正负和大小排列起来就是形成了某种图像,然后我们把每种图像的每一个最高点进行连线,就是叫密度曲线。其实这个很好理解。
5 我们对于不同的分布,都会对应一个这种分布的标准形式,然后这个标准形式会对应一个分布函数。其实从上面我们就知道,这个分布函数就是求概率频率的值。给函数一个值,返回给你一个概率值,然后把这些值按照大小,出现次数堆砌起来就是这个分布图像。
6 最常见的就是如上图,曲线跟一个佛堂里面的鈡的外形很像,这个就叫做正太的分布,也叫正太分布,英文叫Normal Distribution。如果都是一一对应,左右对称的样子,那么它就叫做标准正太分布。(但是在处理实际问题的时候很少会遇到标准的正太分布,实际图像近似于这种分布,而且如果是正太的这种分布,随着你样本的不断增加,会无限趋近于标准正太分布,这也叫所谓渐进无偏性。)。这里的正太分布还有一个名字叫做“高斯分布”Guass Distribution,都是一会儿事儿。我们发现高斯大神在数学领域那个地方随时能见到他的身影。要不说是数学王子呢。
7 废话少说,对应每种分布我们先把他的分布函数写出了:

这个函数我们看到可以写做两种形式我们知道方差开方等于标注差,这就不用多说了。
另外,我们另方差为方差为1,均值为0,这个公式变形为如下形式:

这个玩意儿就叫做标准正太分布,也就是上面那个图像的样子。但是平时的分布如果不太标准的话,就用上面两个式子。
8 我们用python来写一下这个代码:
Sample = []
i = 0
with open("Raw.txt", "r", encoding="utf-8") as f:
TS = f.readlines()
while i < len(TS):
Sample.append(int(TS[i]))
i += 1
i = 0 NorN = int(input("输入1位求非标准正太分布,输入0位求标准正太分布"))
import numpy as np
# 求非标准的正太分布
if NorN == 1:
# step 1 求样本的均值
i = 0
avg = 0
while i < len(Sample):
avg = avg + Sample[i]
i += 1
avg = avg / len(Sample)
# step 2 求样本的方差
sigma2 = np.var(Sample, 0)
# step 3 求密度函数
Func = []
i = 0
for i in Sample:
Func.append(round((np.exp(-0.5 * ((i - avg) / sigma2)) / (np.sqrt(2*np.pi*sigma2))), 4))
print(Func) if NorN == 0:
# step 1 求样本的均值
avg = int(input("请输入均值,标准为0"))
# step 2 求样本的方差
sigma2 = int(input("请输入方差,标准为1"))
# step 3 求密度函数
Func = []
i = 0
for i in Sample:
Func.append(round((np.exp(-0.5 * ((i - avg) / sigma2)) / (np.sqrt(2 * np.pi * sigma2))), 4))
print(Func) # 输入结果:
# 输入1位求非标准正太分布,输入0位求标准正太分布1
# [0.1173, 0.128, 0.1226, 0.1593, 0.0943, 0.0864, 0.0943, 0.1173, 0.1173, 0.1338, 0.0902, 0.1226, 0.1173, 0.0985, 0.1397,
# 0.1123, 0.1338, 0.1173, 0.1173, 0.1338, 0.1075, 0.1075, 0.128, 0.1226, 0.1123, 0.1173, 0.0943, 0.1226, 0.128, 0.1029, 0.128,
# 0.1338, 0.128, 0.1075, 0.1338, 0.1173, 0.1816, 0.1123, 0.1397, 0.1173, 0.1029, 0.1397, 0.1075, 0.1226, 0.1593, 0.0985, 0.1525,
# 0.1075, 0.1226, 0.1664, 0.1525, 0.0864, 0.1029, 0.1173, 0.1029, 0.1075, 0.1173, 0.1173, 0.1173, 0.128, 0.1123, 0.1123, 0.1029,
# 0.128, 0.1397, 0.1029, 0.128, 0.1123, 0.1173, 0.1397, 0.1338, 0.1029, 0.1123, 0.1593, 0.1123, 0.1029, 0.0943, 0.1123, 0.1173,
# 0.1029, 0.1338, 0.128, 0.1226, 0.1173, 0.1338, 0.0985, 0.128, 0.1397, 0.1075, 0.1397, 0.1075, 0.1123, 0.1397, 0.1123, 0.1123,
# 0.1123, 0.1029, 0.1029, 0.1226, 0.1173, 0.1029, 0.128, 0.1173, 0.1173, 0.1075, 0.0943, 0.1397, 0.0864, 0.1226, 0.1226, 0.1525,
# 0.1397, 0.1226, 0.1075, 0.0943, 0.0792, 0.1338, 0.146, 0.1173] # 输入结果:
# [0.3989, 1.0844, 0.6577, 13.2112, 0.0327, 0.012, 0.0327, 0.3989, 0.3989, 1.7879, 0.0199, 0.6577, 0.3989, 0.054, 2.9478, 0.242,
# 1.7879, 0.3989, 0.3989, 1.7879, 0.1468, 0.1468, 1.0844, 0.6577, 0.242, 0.3989, 0.0327, 0.6577, 1.0844, 0.089, 1.0844, 1.7879,
# 1.0844, 0.1468, 1.7879, 0.3989, 59.2083, 0.242, 2.9478, 0.3989, 0.089, 2.9478, 0.1468, 0.6577, 13.2112, 0.054, 8.013, 0.1468,
# 0.6577, 21.7815, 8.013, 0.012, 0.089, 0.3989, 0.089, 0.1468, 0.3989, 0.3989, 0.3989, 1.0844, 0.242, 0.242, 0.089, 1.0844, 2.9478,
# 0.089, 1.0844, 0.242, 0.3989, 2.9478, 1.7879, 0.089, 0.242, 13.2112, 0.242, 0.089, 0.0327, 0.242, 0.3989, 0.089, 1.7879, 1.0844,
# 0.6577, 0.3989, 1.7879, 0.054, 1.0844, 2.9478, 0.1468, 2.9478, 0.1468, 0.242, 2.9478, 0.242, 0.242, 0.242, 0.089, 0.089, 0.6577,
# 0.3989, 0.089, 1.0844, 0.3989, 0.3989, 0.1468, 0.0327, 2.9478, 0.012, 0.6577, 0.6577, 8.013, 2.9478, 0.6577, 0.1468, 0.0327, 0.0044,
# 1.7879, 4.8601, 0.3989]
9 我们少说了一点儿就是直方图和正态分布图。
(1) 直方图表现的是频数、正态分布图表现的是频率。
(2) μ(均值)的大小是影响正太曲线的左移和右移的关系;sigma2(方差)的大小是影响正太曲线的胖瘦。
数学之美_正态分布(Python代码)的更多相关文章
- 机器学习_决策树Python代码详解
决策树优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据: 决策树缺点:可能会产生过度匹配问题. 决策树的一般步骤: (1)代码中def 1,计算给定数据集的香农熵: ...
- 代码规范 & 数学之美读后感
代码规范链接:https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 数学之美读后感 一开始看名字我以为是一本讲数学是怎么发展的 ...
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
- Python代码样例列表
扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│ Python用户推荐系统曼哈顿算法实现.py│ ...
- 六行python代码的爱心曲线
前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...
- PEP 8 - Python代码样式指南
PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...
- Python代码整洁之道(一)
很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成了一种习惯.对此呢,我特意收集了一些适合所有学习 Python 的人, ...
- 【路径规划】 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame (附python代码实例)
参考与前言 2010年,论文 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame 地址:https ...
- 一个 11 行 Python 代码实现的神经网络
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...
随机推荐
- UVA - 11346 Probability(概率)(连续概率)
题意:在[-a, a]*[-b, b]区域内随机取一个点P,求以(0, 0)和P为对角线的长方形面积大于S的概率(a,b>0, S>=0). 分析: 1.若长方形面积>S,则选取的P ...
- Dubbo与SpringCloud
dubbo和springcloud都是微服务框架,各自有各自的注册中心. dubbo监控中心:zookeeper,redis 提供高性能和透明化的RPC远程调用方案,SOA服务治理方案. 核心部分: ...
- 2020牛客寒假算法基础集训营4 G音乐鉴赏
题目描述 作为“音乐鉴赏”课的任课老师,你的课程作为刷学分好课一直受到广泛欢迎.但这一学期,学校制定了新的标准,你的课的优秀率(分数超过90分的人数)被限制在10%以下! 为了应对这个调整,你要求所有 ...
- HZNU-ACM寒假集训Day9小结 倍增
LCA 倍增法求最近公共祖先 首先对于每个结点先进行dfs预处理它的深度,再记录下它们往父亲方向走2的0次,1次...k次步所到达的结点.在这里2的k次大于整棵树的最大深度. 预处理完后,需要查询两个 ...
- __getattr__在python2.x与python3.x中的区别及其对属性截取与代理类的影响
python2.x中的新类型类(New-style class)与python3.x的类一致,均继承object类,而不继承object的类称为经典类(classic class),而对于这两种类,一 ...
- 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置
Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...
- Oracle 查询重复数据方法
查询某个字段存在重复数据的方法: select * from tablename where id in (select id from tablename group by id having co ...
- [BJDCTF2020]Easy MD5
0x00 知识点 password='".md5($pass,true)."' 链接: https://www.jianshu.com/p/12125291f50d ffifdy ...
- 2016蓝桥杯省赛C/C++A组第三题 方格填数
题意:如下的10个格子 填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 分析:dfs,划定边界,行1~4,列1~3,初始化为INT_IN ...
- 洛谷 P2658 汽车拉力比赛
题目传送门 解题思路: 二分答案,然后bfs验证,如果从一个路标可以达到其它所有路标,则答案可行.知道找到最佳答案. AC代码: #include<iostream> #include&l ...