Scipy t-test统计中的一个样本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scipy t-test统计中的一个样本?相关的知识,希望对你有一定的参考价值。
是否可以使用scipy.stats.ttest_1samp进行t检验,其中输入是统计数据而不是数组?例如,区别在于您有两个选项:ttest_ind()和ttest_ind_from_stats()。
import numpy as np
import scipy.stats as stats
from scipy.stats import norm
mean1=35.6
std1=11.3
nobs1=84
mean2=44.7
std2=8.9
nobs2=84
print(stats.ttest_ind_from_stats(mean1, std1, nobs1, mean2, std2, nobs2, equal_var=False))
# alternatively, you can pass 2 arrays
print(stats.ttest_ind(
stats.norm.rvs(loc=mean1, scale=std1, size=84),
stats.norm.rvs(loc=mean2, scale=std2, size=84),
equal_var=False)
)
是否有单样本t检验的等效函数?谢谢您的帮助。
答案
TL;DR
单个样本测试没有这样的功能,但您可以使用两个样本功能。简而言之,要执行一个样本t检验,请执行以下操作:
sp.stats.ttest_ind_from_stats(mean1=sample_mean,
std1=sample_std,
nobs1=n_samples,
mean2=population_mean,
std2=0,
nobs2=2,
equal_var=False)
请注意,结果完全独立于nobs2
(因为它应该是,因为在一个样本测试中没有n2)。只需确保传入值> 1以避免除以零。
How does it work?
查看有关different types of t-test的维基百科页面。
一个样本t检验使用统计量
n - 1自由度。
ttest_ind_from_stats
函数可以进行Welch的t检验(样本大小不等,方差不等),定义为
和自由度:
我们可以将Welch t检验的定义转换为单样本t检验。如果我们将mean2
设置为总体均值并且将std2
设置为0,则t统计量的等式是相同的,并且自由度减小到n-1。
以上是关于Scipy t-test统计中的一个样本?的主要内容,如果未能解决你的问题,请参考以下文章
对于k样本的scipy Anderson-Darling检验中的数学溢出错误