本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。