1. t 检验:两个分布的差异

多维数据集的每一个属性列都可理解为一个特征的实例。两个分布的距离:每一个属性列代表的特征跟标签列之间的相关性。

t 检验用 t 分布理论来推论差异发生的概率,以比较两个分布的平均数之间的差异是否显著。主要用于样本含量小(n&lt;30" role="presentation">n<30n<30),总体标准差 σ" role="presentation">σσ 未知的正态分布。

独立样本 t 检验统计量如下计算:

t=X¯1−X¯2S12n1+S22n2,Sx2=∑(x−μ)2n−1" role="presentation">t=X¯1−X¯2S21n1+S22n2−−−−−−−√,S2x=∑(x−μ)2n−1t=X¯1−X¯2S12n1+S22n2,Sx2=∑(x−μ)2n−1

尤其注意,这里的方差是无偏估计(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) 实现的更多相关文章

  1. 有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark

    有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...

  2. linux下安装numpy,pandas,scipy,matplotlib,scikit-learn

    python在数据科学方面需要用到的库: a.Numpy:科学计算库.提供矩阵运算的库. b.Pandas:数据分析处理库 c.scipy:数值计算库.提供数值积分和常微分方程组求解算法.提供了一个非 ...

  3. Python: NumPy, Pandas学习资料

    NumPy 学习资料 书籍 NumPy Cookbook_[Idris2012] NumPy Beginner's Guide,3rd_[Idris2015] Python数据分析基础教程:NumPy ...

  4. Python Numpy,Pandas基础笔记

    Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...

  5. python numpy+mkl+scipy win64 安装

    用pip在windows下安装numpy,scipy等库时一般来说都不会很顺利比较好的方式是自己下载对应的whl文件pip install 话不多说上链接 http://www.lfd.uci.edu ...

  6. python/numpy/pandas数据操作知识与技巧

    pandas针对dataframe各种操作技巧集合: filtering: 一般地,使用df.column > xx将会产生一个只有boolean值的series,以该series作为dataf ...

  7. Python_科学计算平台__pypi体系的numpy、scipy、pandas、matplotlib库简介

    1.numpy--基础,以矩阵为基础的数学计算模块,纯数学 存储和处理大型矩阵. 这个是很基础的扩展,其余的扩展都是以此为基础. 快速学习入口 https://docs.scipy.org/doc/n ...

  8. python安装pip、numpy、scipy、statsmodels、pandas、matplotlib等

    1.安装python 2.安装numpy(开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多. 很多库都是以此库为依 ...

  9. centos 7 下安装numpy、scipy等python包

    本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...

随机推荐

  1. python 函数赋值

    ⾸先我们来理解下Python中的函数 def hi(name="yasoob"): return "hi " + name print(hi()) # outp ...

  2. Thunder团队Final版本控制

    Final版本控制报告 团队介绍:Thunder Check in次数 :6次. check in log(时间.人员.message.动机.其他解释) 代码贡献量.代码贡献比例以及代码作用 git链 ...

  3. Codeforces 388A - Fox and Box Accumulation

    388A - Fox and Box Accumulation 思路: 从小到大贪心模拟. 代码: #include<bits/stdc++.h> using namespace std; ...

  4. 机器学习 Numpy库入门

    2017-06-28 13:56:25 Numpy 提供了一个强大的N维数组对象ndarray,提供了线性代数,傅里叶变换和随机数生成等的基本功能,可以说Numpy是Scipy,Pandas等科学计算 ...

  5. English trip -- VC(情景课) 7 B Clothing 服装

    xu言: 不要使用中式的思维去思考西方的语义!!!切记切记 words a tie   领带 a blouse  女士衬衣 a sweater  毛衣 a skirt  短裙 a jacket   夹 ...

  6. 3-22 Ruby 编码规则(个人整理)

    编码规则 https://github.com/thoughtbot/guides/tree/master/style/ruby *Use a trailing comma after each it ...

  7. mongoDB——自动分片(转)

    原文地址:http://www.lanceyan.com/tech/arch/mongodb_shard1.html 在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会 ...

  8. C++ string类与scanf和printf

    string要用cin和cout输入和输出. 如果一定要用scanf和printf的话,格式为: s.resize(20);scanf("%s", &s[0]); prin ...

  9. 简话Angular 03 Angular内置表达式大全

    一句话: 大多数html标签属性和事件都有一个对应的ng指令 说明:这些指令和原生html最大的区别就是可以动态更新.比如一个div的样式用ng-class后,我们就可以随意应用css class. ...

  10. python中字符串连接的四种方式

    以下实例展示了join()的使用方法 #!/usr/bin/python str = "-"; seq = ("a", "b", " ...