统计性检验
本文分为四个部分:
- 正态性检验
- 相关性检验
- 参数统计假设检验
- 非参数统计假设检验
本部分列出了可用于检查数据是否具有高斯分布的统计检验。
w检验(Shapiro-wilk test)检验数据样本是否具有高斯分布。
from scipy.stats import shapiro
data = [21,12,12,23,19,13,20,17,14,19]
stat,p = shapiro(data)
print("stat为:%f" %stat,"p值为:%f" %p)
更多内容
- scipy.stats.shapiro:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html
- 维基百科:https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test
本节列出了可用于检查两个样本是否相关的统计检验
皮尔逊相关系数检验两个样本是否具有单调关系
假设
- 每个样本中的观察是独立同分布的
- 每个样本的观察都是正态分布的
- 每个样本的观察具有相同的方差
from scipy.stats import pearsonr
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
corr,p = pearsonr(data1,data2)
print("corr为:%f" %corr,"p值为:%f" %p)
更多信息
- scipy.stats.pearsonr:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html
- 维基百科:https://en.wikipedia.org/wiki/Pearson_correlation_coefficient
检验两个分类变量是相关的还是独立的
假设
- 用于计算列联表的观察是独立的
- 列联表的每个单元格中有25个或更多个实例
from scipy.stats import chi2_contingency
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p,dof,expected = chi2_contingency(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.chi2_contingency:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi2_contingency.html
- 维基百科:https://en.wikipedia.org/wiki/Chi-squared_test
本节列出了可用于比较数据样本的统计检验
T检验检验两个独立样本的均值是否存在显著差异
假设
- 每个样本中的观察是独立同分布的
- 每个样本的观察都是正态分布的
- 每个样本中的观察具有相同的方差
from scipy.stats import ttest_ind
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = ttest_ind(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.ttest_ind:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html
- 维基百科:https://en.wikipedia.org/wiki/Student%27s_t-test
检验
检验两个配对样本的均值是否cun'存在显著差异
假设
- 每个样本中的观察是独立同分布的
- 每个样本的观察都是正态分布的
- 每个样本中的观察具有相同的方差
- 每个yang样本的观察结果是成对的
from scipy.stats import ttest_rel
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = ttest_rel(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.ttest_rel:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_rel.html
- 维基百科:https://en.wikipedia.org/wiki/Student%27s_t-test
测试两个或两个以上独立样本的均值是否存在显著差异
假设
- 每个样本中的观察是独立同分布的
- 每个样本的观察都是正态分布的
- 每个样本中的观察具有相同的方差
from scipy.stats import f_oneway
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = f_oneway(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.f_oneway:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f_oneway.html
- 维基百科:https://en.wikipedia.org/wiki/Analysis_of_variance
检验两个独立样本的分布是否相等。
假设
- 每个样本中的观察是独立同分布的
- 可以对每个样本中的观察进行排序
from scipy.stats import mannwhitneyu
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = mannwhitneyu(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.mannwhitneyu:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
- 维基百科:https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test
检验两个pei配对样本的分布shi是否均等
假设
- 每个样本中的观察是独立同分布
- 可以对每个样本中的观察进行排序
from scipy.stats import wilcoxon
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = wilcoxon(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.wilcoxon:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
- 维基百科:https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test
检验两个或多个独立样本的分布是否相等
假设
- 每个样本中的观察是独立同分布的
- 可以对每个样本中的观察进行排序
from scipy.stats import kruskal
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = kruskal(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)
更多信息
- scipy.stats.kruskal:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kruskal.html
- 维基百科:https://en.wikipedia.org/wiki/Kruskal%E2%80%93Wallis_one-way_analysis_of_variance
参考链接:http://www.atyun.com/26911.html