本文简要介绍 python 语言中 scipy.stats.ttest_ind_from_stats
的用法。
用法:
scipy.stats.ttest_ind_from_stats(mean1, std1, nobs1, mean2, std2, nobs2, equal_var=True, alternative='two-sided')#
T-test 表示来自说明性统计的两个独立样本的平均值。
这是对两个独立样本具有相同平均(预期)值的零假设的检验。
- mean1: array_like
样本 1 的平均值。
- std1: array_like
样本 1 的校正样本标准差(即
ddof=1
)。- nobs1: array_like
样本 1 的观察次数。
- mean2: array_like
样本 2 的平均值。
- std2: array_like
样本 2 的校正样本标准差(即
ddof=1
)。- nobs2: array_like
样本 2 的观察次数。
- equal_var: 布尔型,可选
如果为 True(默认),则执行假设总体方差相等的标准独立 2 样本检验 [1]。如果为 False,请执行 Welch 的 t-test,它不假定人口方差相等 [2]。
- alternative: {‘双面’,‘less’, ‘greater’},可选
定义备择假设。可以使用以下选项(默认为“双面”):
“双面”:分配方式不平等。
‘less’:第一个分布的均值小于第二个分布的均值。
‘greater’:第一个分布的平均值大于第二个分布的平均值。
- statistic: 浮点数或数组
计算出来的t-statistics。
- pvalue: 浮点数或数组
two-tailed p 值。
参数 ::
返回 ::
注意:
统计量计算为
(mean1 - mean2)/se
,其中se
是标准误。因此,当统计量为正时平均值1大于均值2和消极的时候平均值1小于均值2.此方法不检查是否有任何元素标准1或者标准2是负面的。如果有任何元素标准1或者标准2调用此方法时参数为负数,此方法将返回与传递的结果相同的结果
numpy.abs(std1)
和numpy.abs(std2)
,分别代替;不会发出任何异常或警告。参考:
例子:
假设我们有两个样本的汇总数据,如下(样本方差是校正后的样本方差):
Sample Sample Size Mean Variance Sample 1 13 15.0 87.5 Sample 2 11 12.0 39.0
将 t-test 应用于此数据(假设总体方差相等):
>>> import numpy as np >>> from scipy.stats import ttest_ind_from_stats >>> ttest_ind_from_stats(mean1=15.0, std1=np.sqrt(87.5), nobs1=13, ... mean2=12.0, std2=np.sqrt(39.0), nobs2=11) Ttest_indResult(statistic=0.9051358093310269, pvalue=0.3751996797581487)
为了比较,这里是这些汇总统计数据的来源。有了这些数据,我们可以使用
scipy.stats.ttest_ind
计算相同的结果:>>> a = np.array([1, 3, 4, 6, 11, 13, 15, 19, 22, 24, 25, 26, 26]) >>> b = np.array([2, 4, 6, 9, 11, 13, 14, 15, 18, 19, 21]) >>> from scipy.stats import ttest_ind >>> ttest_ind(a, b) Ttest_indResult(statistic=0.905135809331027, pvalue=0.3751996797581486)
假设我们有二进制数据,并希望应用 t-test 来比较两个独立组中 1 的比例:
Number of Sample Sample Size ones Mean Variance Sample 1 150 30 0.2 0.161073 Sample 2 200 45 0.225 0.175251
样本均值 是样本中 1 的比例,二元观测的方差由 估计。
>>> ttest_ind_from_stats(mean1=0.2, std1=np.sqrt(0.161073), nobs1=150, ... mean2=0.225, std2=np.sqrt(0.175251), nobs2=200) Ttest_indResult(statistic=-0.5627187905196761, pvalue=0.5739887114209541)
为了进行比较,我们可以使用 0 和 1 数组以及 scipy.stat.ttest_ind 来计算 t 统计量和 p 值,如上所述。
>>> group1 = np.array([1]*30 + [0]*(150-30)) >>> group2 = np.array([1]*45 + [0]*(200-45)) >>> ttest_ind(group1, group2) Ttest_indResult(statistic=-0.5627179589855622, pvalue=0.573989277115258)
相关用法
- Python SciPy stats.ttest_ind用法及代码示例
- Python SciPy stats.ttest_rel用法及代码示例
- Python SciPy stats.ttest_1samp用法及代码示例
- Python SciPy stats.theilslopes用法及代码示例
- Python SciPy stats.triang用法及代码示例
- Python SciPy stats.t用法及代码示例
- Python SciPy stats.tvar用法及代码示例
- Python SciPy stats.trim_mean用法及代码示例
- Python SciPy stats.tsem用法及代码示例
- Python SciPy stats.truncpareto用法及代码示例
- Python SciPy stats.tmean用法及代码示例
- Python SciPy stats.truncweibull_min用法及代码示例
- Python SciPy stats.trim1用法及代码示例
- Python SciPy stats.tmin用法及代码示例
- Python SciPy stats.trimboth用法及代码示例
- Python SciPy stats.tmax用法及代码示例
- Python SciPy stats.truncexpon用法及代码示例
- Python SciPy stats.truncnorm用法及代码示例
- Python SciPy stats.tukeylambda用法及代码示例
- Python SciPy stats.trapezoid用法及代码示例
- Python SciPy stats.tstd用法及代码示例
- Python SciPy stats.tiecorrect用法及代码示例
- Python SciPy stats.tukey_hsd用法及代码示例
- Python SciPy stats.anderson用法及代码示例
- Python SciPy stats.iqr用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.ttest_ind_from_stats。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。