开门见山。
这篇文章,教大家用Python实现常用的假设检验!
服从什么分布,就用什么区间估计方式,也就就用什么检验!
比如:两个样本方差比服从F分布,区间估计就采用F分布计算临界值(从而得出置信区间),最终采用F检验。
建设检验的基本步骤:
前言
假设检验用到的Python工具包
•Statsmodels是Python中,用于实现统计建模和计量经济学的工具包,主要包括描述统计、统计模型估计和统计推断
•Scipy是一个数学、科学和工程计算Python工具包,主要包括统计,优化,整合,线性代数等等与科学计算有关的包
导入数据
python学习交流Q群:906715085####
from sklearn.datasets import load_iris
import numpy as np
#导入IRIS数据集
iris = load_iris()
iris=pd.DataFrame(iris.data,columns=
['sepal_length','sepal_width','petal_legth','petal_width'])print(iris)
一个总体均值的z检验
Python学习交流Q群:906715085###
np.mean(iris['petal_legth'])
'''
原假设:鸢尾花花瓣平均长度是4.2
备择假设:鸢尾花花瓣平均长度不是4.2
'''
import statsmodels.stats.weightstats
z, pval =
statsmodels.stats.weightstats.ztest(iris
['petal_legth'], value=4.2)
print(z,pval)
'''
P=0.002 <5%, 拒绝原假设,接受备则假设。
'''
一个总体均值的t检验
import scipy.stats
t, pval = scipy.stats.ttest_1samp(iris
['petal_legth'], popmean=4.0)print(t, pval)
'''
P=0.0959 > 5%, 接受原假设,即花瓣长度为4.0。
'''
模拟双样本t检验
#取两个样本
iris_1 = iris[iris.petal_legth >= 2]
iris_2 = iris[iris.petal_legth < 2]
print(np.mean(iris_1['petal_legth']))
print