一、基础概念

先来看下数据的类型,常见的数据分类方式有三种:第一种是按照数据的结构属性分类,根据数据的存储形式分为结构化数据和非结构化数据,例如数据库的存储对象基本上都是结构化数据,结构化数据是进行数据分析的基本类型;对于非结构化数据,其存在形式多样化,有视频、音频、图片、影像、文档和文本等形式,对于非结构化数据只有将其转化为结构化数据才能进行数分析。第二种按照数据的连续性特征分为离散型数据和连续性数据;第三种根据数据的测量尺度分为:定类数据、定序数据、定距数据和定比数据。

随机变量

每次试验的结果可以用一个变量的数值来表示,这个变量的取值随偶然因素变化,但又遵从一定的概率分布规律。

离散变量

离散型随机变量是在一定区间内变量取值为有限个或可数个。

连续变量

连续性随机变量就是在一定区间内变量取值有无限个,或数值无法一一列举出来。

期望值

期望值是随机试验在同样的机会下重复多次的结果计算出的等同于“期望”的平均值,期望值也成为数学期望或均值,它是指在一个离散性随机变量实验中每次可能结果的概率乘以其结果的总和。

古典概率

又称为事前概率,是指当随机事件中各种可能发生的结果及其出现的次数都可以由演绎或外推法得知,而无需经过任何统计试验即可计算各种可能发生结果的概率。

条件概率

是指事件A在时间B发生的条件下发生的概率。

二、离散变量概率分布

二项分布

在概率论或统计学中,二项分布是n个独立的是/非试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败的试验又称为伯努利试验。当n=1时,二项分布就是伯努利分布。

若进行了n次伯努利试验,成功了x次,失败的次数为n-x,设成功的概率为p,失败的概率为q=1-p,发生这种情况的概率用以下公式表示:(二项分布 x~B(n,p))

二项分布的均值和方差分别为:

泊松分布

泊松分布的概率函数为:

, k=0,1...

泊松分布的参数

是单位时间(或单位面积)内随机事件的平均发生次数,泊松分布适合于描述单位时间内随机事件发生的次数。

泊松分布的期望和方差均为

泊松分布是由二项分布推导而来的,当二项分布的n很大而p很小时,泊松分布可作为二项分布的近似,其中

为np, 通常当n>=20,p<=0.05时,就可以用泊松公式近似的计算。

三、连续变量概率分布

均匀分布

均匀概率分布是古典概率分布的连续形式,是指随机事件的可能结果是连续型数据变量,所有的连续型数据结果所对应的概率相等。也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。均匀分布由两个参数a,b定义,他们是数轴上的最小值和最大值,U(a,b)。

其概率密度函数f(x):

当a

当xb时,

均匀分布的期望和方差为:

,

正态分布

正态分布又名高斯分布,若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。

正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

其概率密度函数为:

卡方分布

若n个相互独立的随机变量ξ₁,ξ₂,...,ξn ,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和构成一新的随机变量,其分布规律称为卡方分布(

分布)。

或者

,其中v是自由度,v=n-k, k是限制条件数。

beta分布

在概率论中,贝塔分布也称B分布,是指一组定义在(0,1)区间的连续概率分布,有两个参数

。贝塔分布是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,在机器学习和数理统计学中有重要应用。

B分布的概率密度函数是:

随机变量X服从参数为

的B分布通常写作:

四、用Python代码实现常见概率分布

二项分布(伯努利分布)

from scipy import stats as st

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

#防止乱码

mpl.rcParams['font.sans-serif'] = [u'SimHei']

mpl.rcParams['axes.unicode_minus'] = False

# 二项分布

n = 100

p = 0.25

k = np.arange(0,n)

binomial = st.binom.pmf(k,n,p)

plt.plot(k,binomial,'o-')

plt.title('伯努利分布:n=%i,p=%.2f'%(n,p),fontsize=15)

plt.xlabel('成功次数')

plt.ylabel('成功概率',fontsize=15)

plt.grid(True)#显示轴网格线

plt.show()

泊松分布

x = np.random.poisson(lam=6, size=1000) # lam为λ size为k

pillar = 20

a = plt.hist(x, bins=pillar, density=True, range=[0, pillar], color='g', alpha=0.5)

plt.title('泊松分布',fontsize=15)

plt.xlabel('柱子个数')

plt.ylabel('概率',fontsize=15)

plt.plot(a[1][0:pillar], a[0], 'r')

plt.grid()

plt.show()

均匀分布

#均匀分布

#PDF 概率分布函数

plt.plot(np.linspace(-3,3,100),stats.uniform.pdf(np.linspace(-3,3,100)))

plt.fill_between(np.linspace(-3,3,100),stats.uniform.pdf(np.linspace(-3,3,100)),alpha=0.15)

plt.text(x=-1.5,y=0.7,s="pdf(uniform)",rotation=65,alpha=0.75,weight="bold",color="g")

正态分布

import numpy as np

import matplotlib.pyplot as plt

import scipy.stats as stats

#概率密度函数

plt.plot(np.linspace(-3,3,100),stats.norm.pdf(np.linspace(-3,3,100))) #从(-3,3)中随机选取100个数,绘制该事件的概率密度函数

plt.fill_between(np.linspace(-3,3,100),stats.norm.pdf(np.linspace(-3,3,100)),alpha=.15)#对曲线内部进行填充

#注解

plt.text(x=-1,y=0.3,s="pdf(normed)",rotation=.65,weight="bold",color='g')

卡方分布

x = np.linspace(0,30,100)

y = st.chi2.pdf(np.linspace(0,30,100),df=3)

#PDF 概率密度函数

plt.plot(x,y)#绘制0到30的卡方分布曲线,给定自由度为3

plt.fill_between(x,y,alpha=0.15) #填充曲线

plt.title(u'卡方分布:自由度为3')

plt.show()

python统计字数分布可视化展示_数据的概率分布并用python实现概率分布可视化图...相关推荐

  1. python 统计组合用什么库_盘点2018年热门Python库|TOP20

    来源:CDA数据分析师 在解决数据科学任务和挑战方面,Python继续处于领先地位.去年,我对当时热门的Python库进行了总结.今年,我在当中加入新的库,重新对2018年热门Python库进行全面盘 ...

  2. python统计特定类型文件数量_分享一些常见的Python编程面试题及答案

    需要领取更多Python学习资料的朋友,可以免费自取哈 [腾讯文档]Python相关学习资料(视频.学习经验) https://docs.qq.com/doc/DS1JxU2ZWTmVWa05L 1. ...

  3. 怎么用python统计字数_Python统计字数的思路详解

    这篇文章主要介绍了Python 统计字数的思路详解,文中还给大家提供了不借助第三方模块的解决方法,感兴趣的朋友一起看看吧 问题描述: 用 Python 实现函数 count_words(),该函数输入 ...

  4. 用 Python 统计字数

    本系列文章用于记录Udacity-机器学习(进阶)课程学习过程的项目代码 用 Python 统计字数 问题 用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返 ...

  5. R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和数据表格横向组合起来形成最终结果图

    R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和数据表格横向组合起来形成最终结果图 目录

  6. python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...

    更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer/column 作者:CDA数据分析师 摘要:Python 的科学栈相当成熟,各种应用场景都 ...

  7. python描述性统计工作日上班时代码_数据的描述性统计以及用Python代码实现

    一.数据的描述性统计 对数据的描述性统计主要是指对结构化数据的描述分析,可从三个维度进行分析:数据的集中趋势.数据的离散程度和数据的分布形态. 描述数据集中趋势的指标有:众数.中位数.平均数(包含算数 ...

  8. 怎么用python统计字数_使用Python 统计高频字数的方法

    问题 (来自Udacity机器学习工程师纳米学位预览课程) 用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词.返回值是一 ...

  9. 鲜活数据数据可视化指南_数据可视化实用指南

    鲜活数据数据可视化指南 Exploratory data analysis (EDA) is an essential part of the data science or the machine ...

最新文章

  1. Week 3 Quiz - Shallow Neural Networks
  2. python【数据结构与算法】从一个例子引入动态规划❤️
  3. android textview 文字居中_Android布局优化,看这3点就够了
  4. Comet:基于 HTTP 长连接的“服务器推”技术解析
  5. 关于Spring 任务调度之task:scheduler与task:executor配置的详解
  6. 参考信息 - 云原生(Cloud Native)
  7. 统计信号处理基础——估计与检测理论 Kay
  8. linux命令df命令全称,df命令--Linux命令应用大词典729个命令解读
  9. 别找了诸位 【十二款超级好用的谷歌插件都在这】(确定不来看看?)
  10. 一周学好python_学好 Python 的 11 个优秀资源
  11. vba-msgbox用法详解
  12. API接口怎么使用(教你使用api接口获取数据)
  13. 硬核分享|探针盒子?不用怕!手把手教你打造专属隐私保护工具
  14. 父爱动画代码python_python表白实现代码(可视化与动画版)
  15. Linux中阶—域名解析服务DNS(十)
  16. percona-tool文档说明(4)- 监控类
  17. Domino的SMTP设置【外出】
  18. 快速了解做一款App所用到的技术,及实现流程
  19. 【读书笔记】《利用Python进行数据分析》第2版_第六章 数据载入、存储及文件格式
  20. 20 个快速高效学习 Java 编程在线资源

热门文章

  1. 大学物理实验电学基本参数的测量实验报告_大学物理电学实验报告
  2. 项响琴C语言书籍在线浏览,电子琴 c语言程序
  3. strictmath_Java StrictMath nextAfter()方法与示例
  4. 线程池是如何执行的?拒绝策略有哪些?
  5. Linux系统下启动MySQL的命令及相关知识
  6. Python读写ini文件的封装类
  7. 4 命名规则_赛普拉斯(Cypress)存储器芯片命名规则
  8. 的环境下 qt 运行在_Ubuntu16.04环境下运行vins mono(环境配置及编译)之ROS kinetic的安装...
  9. mysql 14.12_MySQL必知必会12-14 汇总 分组 子查询
  10. html设置数字显示位数,数字万用表的显示位数和精度