数学之美_正态分布(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 校稿.未经许可,禁止转 ...
随机推荐
- TX2-刷机完成后安装程序ubuntu_linux命令&TX2学习总结
Linux教程|菜鸟教程:http://www.runoob.com/linux/linux-tutorial.html 认识linux:ping命令:ping命令是常用的网络命令ping网关:pin ...
- sql拆分列 时间拆分 日、月、年
我想 查看今日访问人数 需要分组查询 就得 时间拆分 这两天百度 方法有很多 substring ... 但是 我这一列 是时间类型: 可以直接用 DATEPART() 函数用于返回日期/时间的单独部 ...
- ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法
安装ROS时sudo rosdep init指令报错: ERROR: cannot download default sources list from: https://raw.githubuser ...
- Java9,8,7中接口的内容
在Java 9+版本中,接口的内容可以有: 1:成员变量其实是常量格式:[public][static][final] 数据类型 常量名称 =数据值:注意: 常量必须进行赋值,而且一旦赋值不能改变 常 ...
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- LVS DR模式搭建、keepalived+LVS搭建介绍
参考文献 http://blog.51cto.com/taoxie/2066993 疑问: 1.为什么要修改RealServer的返回arp响应和发送arp请求参数 echo "1&quo ...
- php 常用编译参数
安装依赖 yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng li ...
- CSS 宽,高,背景设置
width 宽,height 高,background 背景:背景色 background-color:颜色值--英文单词/十六进制/rgb:背景图 background-image:url(‘图片路 ...
- ES6 之 数值扩展
1.ES5 // Number类型重写了valueOf() toLocaleString() toString('进制')方法 let a = 10 console.log(a.valueOf()); ...
- 线性可分支持向量机与软间隔最大化--SVM(2)
线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最 ...