前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析方法论-统计学内容学习

数据分析方法论-统计学内容学习

作者头像
带萝卜
发布2020-10-23 15:00:07
3850
发布2020-10-23 15:00:07
举报

最初学习数据分析只是出于兴趣,自学了Python。最近才生出转行数据分析的想法,目前已经辞职,准备全身心地投入到学习中。

看了一些相关教程之后,觉得Python、R、SQL这些都只是工具,要转行数据分析,最需要培养的是数据分析思维。遂决定从统计学入手。

第一个礼拜,一边办离职手续、处理工作交接事宜,一边看书。看了半本《商务与经济统计》。对其中概率分布的内容做了一些笔记,作为 @猴子 的数据分析社群的第一关作业:

常用概率分布的Python实现方法

离散型概率分布

二项分布

二项试验

满足以下条件的试验成为二项试验:

  1. 试验由一系列相同的n个试验组成;
  2. 每次试验有两种可能的结果,成功或者失败;
  3. 每次试验成功的概率是相同的,用p来表示;
  4. 试验是相互独立的。

设x为n次试验中的成功的次数,由于随机变量的个数是有限的,所以x是一个离散型随机变量。x的概率分布成为二项分布。

Python实现

代码语言:javascript
复制
>>> import numpy as np
>>> list_a = np.random.binomial(n, p, size=None)

n为试验次数 p为出现正例(试验成功)的概率 size为取样次数,即重复进行此二项试验的次数 函数返回值为每次取样出现的成功试验的次数

图像

代码语言:javascript
复制
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> list_a = np.random.binomial(n=10,p=0.2,size=1000)
#取样1000次,每次进行十组试验,单组试验成功概率为0.2,list_a为每组试验中成功的组数
>>> plt.hist(list_a,bins=8,color='g',alpha=0.4,edgecolor='b')
(array([ 157.,  240.,  236.,  208.,   86.,   57.,   13.,    3.]), array([ 0.   ,  1.125,  2.25 ,  3.375,  4.5  ,  5.625,  6.75 ,  7.875,  9.   ]), <a list of 8 Patch objects>)
>>> plt.show()

泊松分布

泊松试验

满足以下条件的试验成为泊松试验:

  1. 在任意两个相等长度的区间上,事件发生的概率相等;
  2. 事件在某一区间上是否发生与事件在其他区间上是否发生所独立的。

Python实现

设一个某站台平均每小时会经过8辆公共汽车,求每小时经过12俩的概率:

代码语言:javascript
复制
>>> list_b = np.random.poisson(8,1000)#试验重复1000次
>>> plt.hist(list_b,bins=8,color='g',alpha=0.4,edgecolor='b')
(array([  14.,   71.,  201.,  269.,  236.,  132.,   60.,   17.]), array([  1.,   3.,   5.,   7.,   9.,  11.,  13.,  15.,  17.]), <a list of 8 Patch objects>)
>>> plt.show()

图像

连续型概率分布

注意:对于连续性概率分布,Python也会采取生成离散点的形式实现

均匀分布

概念:在任意相同长度间隔内分布概率相等的概率分布。

Python实现及图像

代码语言:javascript
复制
np.random.uniform(low,high,size)
#low和high为分布范围
#size为样本数目

>>> list_c = np.random.uniform(0,10,1000)
>>> plt.hist(list_c,bins=8,color='g',alpha=0.4,edgecolor='b')
(array([ 141.,  123.,  111.,  111.,  131.,  137.,  125.,  121.]), array([  4.09722532e-03,   1.25088530e+00,   2.49767338e+00,
         3.74446146e+00,   4.99124954e+00,   6.23803761e+00,
         7.48482569e+00,   8.73161377e+00,   9.97840185e+00]), <a list of 8 Patch objects>)
>>> plt.show()

正态分布

当二项分布的样本数量足够大时,其分布曲线会变成对称的钟形,我们将这种分布形态成为正态分布

Python实现及图像

代码语言:javascript
复制
list_d = np.random(loc,scale,size=None)
#loc为期望
#scale为标准差
#size为取样数量,默认为None,即仅返回一个数

>>> list_d = np.random.normal(0,1,1000)
>>> plt.hist(list_d,bins=8,color='g',alpha=0.4,edgecolor='b')
(array([  11.,   53.,  158.,  321.,  264.,  145.,   39.,    9.]), array([-3.34109196, -2.50103319, -1.66097443, -0.82091566,  0.0191431 ,
        0.85920186,  1.69926063,  2.53931939,  3.37937815]), <a list of 8 Patch objects>)
>>> plt.show()

指数分布

指数分布与泊松分布类似,泊松分布描述了每一个区间内事件发生的次数,而指数分布描述了事件发生的事件间隔长度。 设一个某站台平均每小时会经过8辆公共汽车,求两辆公共汽车间隔时间不超过x小时的概率:

Python实现即图像

代码语言:javascript
复制
>>> list_e = np.random.exponential(0.125,1000)
>>> plt.hist(list_e,bins=8,color='g',edgecolor='b',alpha=0.4)
(array([ 552.,  250.,  121.,   49.,   15.,    6.,    4.,    3.]), array([  1.38250181e-04,   1.06106465e-01,   2.12074680e-01,
         3.18042896e-01,   4.24011111e-01,   5.29979326e-01,
         6.35947541e-01,   7.41915756e-01,   8.47883971e-01]), <a list of 8 Patch objects>)
>>> plt.show()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用概率分布的Python实现方法
  • 离散型概率分布
  • 二项分布
  • 二项试验
  • Python实现
  • 图像
  • 泊松分布
  • 泊松试验
  • Python实现
  • 图像
  • 连续型概率分布
  • 均匀分布
  • Python实现及图像
  • 正态分布
  • Python实现及图像
  • 指数分布
  • Python实现即图像
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档