数据分析方法论-统计学内容学习
时间:2022-07-28
本文章向大家介绍数据分析方法论-统计学内容学习,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最初学习数据分析只是出于兴趣,自学了Python。最近才生出转行数据分析的想法,目前已经辞职,准备全身心地投入到学习中。
看了一些相关教程之后,觉得Python、R、SQL这些都只是工具,要转行数据分析,最需要培养的是数据分析思维。遂决定从统计学入手。
第一个礼拜,一边办离职手续、处理工作交接事宜,一边看书。看了半本《商务与经济统计》。对其中概率分布的内容做了一些笔记,作为 @猴子 的数据分析社群的第一关作业:
常用概率分布的Python实现方法
离散型概率分布
二项分布
二项试验
满足以下条件的试验成为二项试验:
- 试验由一系列相同的n个试验组成;
- 每次试验有两种可能的结果,成功或者失败;
- 每次试验成功的概率是相同的,用p来表示;
- 试验是相互独立的。
设x为n次试验中的成功的次数,由于随机变量的个数是有限的,所以x是一个离散型随机变量。x的概率分布成为二项分布。
Python实现
>>> import numpy as np
>>> list_a = np.random.binomial(n, p, size=None)
n为试验次数 p为出现正例(试验成功)的概率 size为取样次数,即重复进行此二项试验的次数 函数返回值为每次取样出现的成功试验的次数
图像
>>> 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()
泊松分布
泊松试验
满足以下条件的试验成为泊松试验:
- 在任意两个相等长度的区间上,事件发生的概率相等;
- 事件在某一区间上是否发生与事件在其他区间上是否发生所独立的。
Python实现
设一个某站台平均每小时会经过8辆公共汽车,求每小时经过12俩的概率:
>>> 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实现及图像
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实现及图像
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实现即图像
>>> 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()
- HDUOJ-----2838Cow Sorting(组合树状数组)
- HDUOJ---2642Stars(二维树状数组)
- HDUOJ -----Color the ball
- poj-----Ultra-QuickSort(离散化+树状数组)
- HDUOJ---1241Oil Deposits(dfs)
- HDUOJ------2398Savings Account
- HDUOJ-----2399GPA
- HDUOJ----旋转的二进制
- HDUOJ---3743Frosh Week(BIT+离散化)
- Node.js新手必须知道的4个JavaScript概念
- HUDOJ-----1394Minimum Inversion Number
- 提升 Node.js 应用性能的 5 个技巧
- HDUOJ-----1166敌兵布阵
- HDUOJ------2492Ping pong
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法