统计学(检验、分布)的 python(numpy/pandas/scipy) 实现
- scipy 中统计相关的 api:https://docs.scipy.org/doc/scipy/reference/stats.html
- https://zhuanlan.zhihu.com/p/24635014
- https://blog.csdn.net/lanchunhui/article/details/52328380
1. t 检验:两个分布的差异
多维数据集的每一个属性列都可理解为一个特征的实例。两个分布的距离:每一个属性列代表的特征跟标签列之间的相关性。
t 检验用 t 分布理论来推论差异发生的概率,以比较两个分布的平均数之间的差异是否显著。主要用于样本含量小(n<30" role="presentation">n<30n<30),总体标准差 σ" role="presentation">σσ 未知的正态分布。
独立样本 t 检验统计量如下计算:
尤其注意,这里的方差是无偏估计(np.std(x, ddof=1))
# 通过字典构造 DataFrame
data = {'Category': ['cat2', 'cat1', 'cat2', 'cat1',
'cat2', 'cat1', 'cat2', 'cat1', 'cat1', 'cat1', 'cat2'],
'values': [1, 2, 3, 1, 2, 3, 1, 2, 3, 5, 1]}
data_df = DataFrame(data)
# 计算各自的均值
>> data_df.groupby('Category').mean()
cat1 2.666667
cat2 1.600000
cat1 = data_df[data_df['Category'] == 'cat1']
# data_df.Category == 'cat1'
cat2 = data_df[data_df['Category'] == 'cat2']
from scipy.stats import ttest_ind
# 计算二者的 t 检验统计量,及对应的 p-value
>> ttest_ind(cat1['values'], cat2['values'])
Ttest_indResult(statistic=1.4927289925706944, pvalue=0.16970867501294376)
scipy 下的 t-test 计算方法
def t_test(x1, x2):
n1, n2 = x1.size, x2.size
mu1, mu2 = np.mean(x1), np.mean(x2)
s1, s2 = np.std(x1, ddof=1), np.std(x2, ddof=1)
num = np.abs(mu1 - mu2)
denom = np.sqrt((((n1-1)*s1**2 + (n2-1)*s2**2)/(n1+n2-2))*(1/n1+1/n2))
with np.errstate(divide='ignore'):
return num / denom
统计学(检验、分布)的 python(numpy/pandas/scipy) 实现的更多相关文章
- 有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...
- linux下安装numpy,pandas,scipy,matplotlib,scikit-learn
python在数据科学方面需要用到的库: a.Numpy:科学计算库.提供矩阵运算的库. b.Pandas:数据分析处理库 c.scipy:数值计算库.提供数值积分和常微分方程组求解算法.提供了一个非 ...
- Python: NumPy, Pandas学习资料
NumPy 学习资料 书籍 NumPy Cookbook_[Idris2012] NumPy Beginner's Guide,3rd_[Idris2015] Python数据分析基础教程:NumPy ...
- Python Numpy,Pandas基础笔记
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...
- python numpy+mkl+scipy win64 安装
用pip在windows下安装numpy,scipy等库时一般来说都不会很顺利比较好的方式是自己下载对应的whl文件pip install 话不多说上链接 http://www.lfd.uci.edu ...
- python/numpy/pandas数据操作知识与技巧
pandas针对dataframe各种操作技巧集合: filtering: 一般地,使用df.column > xx将会产生一个只有boolean值的series,以该series作为dataf ...
- Python_科学计算平台__pypi体系的numpy、scipy、pandas、matplotlib库简介
1.numpy--基础,以矩阵为基础的数学计算模块,纯数学 存储和处理大型矩阵. 这个是很基础的扩展,其余的扩展都是以此为基础. 快速学习入口 https://docs.scipy.org/doc/n ...
- python安装pip、numpy、scipy、statsmodels、pandas、matplotlib等
1.安装python 2.安装numpy(开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多. 很多库都是以此库为依 ...
- centos 7 下安装numpy、scipy等python包
本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...
随机推荐
- codevs 1191 数轴染色 区间更新加延迟标记
题目描述 Description 在一条数轴上有N个点,分别是1-N.一开始所有的点都被染成黑色.接着我们进行M次操作,第i次操作将[Li,Ri]这些点染成白色.请输出每个操作执行后剩余黑色点的个数. ...
- Windows上玩转TensorFlow(一)
Windows上TensorFlow的安装和环境搭建: 1.安装Python 3.5.2 2.通过Pip3安装TensorFlow CPU版 https://www.tensorflow.org/in ...
- Kali Linux 2016.2初体验
前言 Kali Linux官 方于8月30日发布Kali Linux 2016的第二个版本Kali Linux 2016.2.该版本距离Kali Linux 2016.1版本发布,已经有7个月.在这期 ...
- [原][译][osg][osgEarth]飞行模拟软件JSBSim的操作(FGFCS类)
英文原文在 FGFCS.h头文件中 JSBSim的控制操作封装了飞行控制系统(FCS)的功能. 这个FGFCS类还封装了相同的“系统”和“自动驾驶仪”能力. FGFCS包含用来定义一个系统或飞行模型体 ...
- HttpClient的用法总结
使用HttpClient连接服务端的步骤: 1.创建HttpClient客户端对象 HttpClient client = new DefaultHttpClient(); 2.创建请求对象 ...
- Eclipse 中 SDK无法更新---解决方法
在SDK Manager -> tools -> options中: HTTP Proxy Server: mirrors.neusoft.edu.cn HTTP Proxy Port: ...
- C# WPF 利用NPOI读写Excel文件
https://blog.csdn.net/a312024054/article/details/70139172 [各种样式] https://www.cnblogs.com/xwgli/archi ...
- Imbalance Value of a Tree CodeForces - 915F
链接 大意: 给定树, 求树上所有链上最大值最小值之差 817D的树上版本, 用并查集维护即可. 817D由于是链的情况并查集不必压缩路径即可达到均摊$O(n)$, 该题必须压缩, 复杂度$O(nlo ...
- hdu-2227-dp+bit
Find the nondecreasing subsequences Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/3 ...
- 51nod-1605-博弈
1605 棋盘问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在 ...