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代码)的更多相关文章

  1. 机器学习_决策树Python代码详解

    决策树优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据: 决策树缺点:可能会产生过度匹配问题. 决策树的一般步骤: (1)代码中def 1,计算给定数据集的香农熵: ...

  2. 代码规范 & 数学之美读后感

    代码规范链接:https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 数学之美读后感 一开始看名字我以为是一本讲数学是怎么发展的 ...

  3. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

  4. Python代码样例列表

    扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│    ...

  5. 六行python代码的爱心曲线

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

  6. PEP 8 - Python代码样式指南

    PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...

  7. Python代码整洁之道(一)

    很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成了一种习惯.对此呢,我特意收集了一些适合所有学习 Python 的人, ...

  8. 【路径规划】 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 ...

  9. 一个 11 行 Python 代码实现的神经网络

    一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...

随机推荐

  1. Kali链接Xshell和更新源

    一.Xshell首次链接kali系统中的ssh Xshell:帮助我们去连接各种服务平台,方便管理服务器,链路可以加密处理(ssh/vsftp) 1.开启kali中的ssh服务,service ssh ...

  2. UVA - 11584 Partitioning by Palindromes(划分成回文串)(dp)

    题意:输入一个由小写字母组成的字符串,你的任务是把它划分成尽量少的回文串,字符串长度不超过1000. 分析: 1.dp[i]为字符0~i划分成的最小回文串的个数. 2.dp[j] = Min(dp[j ...

  3. UVA - 1151 Buy or Build (买还是建)(并查集+二进制枚举子集)

    题意:平面上有n个点(1<=n<=1000),你的任务是让所有n个点连通.可以新建边,费用等于两端点欧几里德距离的平方.也可以购买套餐(套餐中的点全部连通).问最小费用. 分析: 1.先将 ...

  4. node.js爱心邮件

    一.用的软件是VsCode:下载地址:https://code.visualstudio.com/ 二.用的是node.js完成:下载地址:http://nodejs.cn/download/ 无脑下 ...

  5. JDK8中的新特性

    1.lambda表达式 1.定义 Java 8 发布的最重要新特性.Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),可以推导出来的就可以省略了,Lambda 表达式免去了使用匿 ...

  6. Java8 Optional类使用小结

    Optional类的Javadoc描述如下: 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. of:  为非null的值创建一 ...

  7. 关于javascript中this 指向的4种调用模式

    this指向问题绝对可以排js 的top 5最难和最重点的问题,初学者常常搞不清楚this指向哪里,特别是学过java和c#的人,想当年俺也迷糊了好久,直到遇到蝴蝶书,主要是因为js和主流的面向对象语 ...

  8. Linux学习打卡20200214

  9. redis(七)---- SpringBoot和redis整合

    SpringBoot和Redis整合非常简单 添加pom依赖 <dependency> <groupId>org.springframework.boot</groupI ...

  10. dac FDMemTable

    unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...