简体   繁体   中英

Confidence Interval for t-test (difference between means) in Python

I am looking for a quick way to get the t-test confidence interval in Python for the difference between means. Similar to this in R:

X1 <- rnorm(n = 10, mean = 50, sd = 10)
X2 <- rnorm(n = 200, mean = 35, sd = 14)
# the scenario is similar to my data

t_res <- t.test(X1, X2, alternative = 'two.sided', var.equal = FALSE)    
t_res

Out:

    Welch Two Sample t-test

data:  X1 and X2
t = 1.6585, df = 10.036, p-value = 0.1281
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.539749 17.355816
sample estimates:
mean of x mean of y 
 43.20514  35.79711 

Next:

>> print(c(t_res$conf.int[1], t_res$conf.int[2]))
[1] -2.539749 17.355816

I am not really finding anything similar in either statsmodels or scipy, which is strange, considering the importance of significance intervals in hypothesis testing (and how much criticism the practice of reporting only the p-values recently got).

Here how to use StatsModels' CompareMeans to calculate the confidence interval for the difference between means:

import numpy as np, statsmodels.stats.api as sms

X1, X2 = np.arange(10,21), np.arange(20,26.5,.5)

cm = sms.CompareMeans(sms.DescrStatsW(X1), sms.DescrStatsW(X2))
print cm.tconfint_diff(usevar='unequal')

Output is

(-10.414599391793885, -5.5854006082061138)

and matches R:

> X1 <- seq(10,20)
> X2 <- seq(20,26,.5)
> t.test(X1, X2)

    Welch Two Sample t-test

data:  X1 and X2
t = -7.0391, df = 15.58, p-value = 3.247e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -10.414599  -5.585401
sample estimates:
mean of x mean of y 
       15        23 

An alternate answer using pingouin (basically copied code from here and adapted to use Ulrich Stern 's variables)

import pingouin as pg
x1, x2 = np.arange(10,21), np.arange(20,26.5,.5)
res = pg.ttest(x1, x2, paired=False)
print(res)

prints

            T    dof       tail     p-val            CI95%  cohen-d       BF10  power
T-test -7.039  15.58  two-sided  0.000003  [-10.41, -5.59]    3.009  2.251e+04    1.0

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM