推断统计python化(参数估计,假设检验与 t检验)(下)

简介: 推断统计python化(参数估计,假设检验与 t检验)(下)

3. 假设检验

假设检验(Hypothesis Test)是推断统计的另一种重要的方法。

3.1 假设检验概述

参数估计的主要任务是猜测参数的取值,而假设检验的着重点在于检验参数的取值是否等于某个目标值。
假设检验一般有两个隐含的思想:

  • 小概率事件思想 。即小概率事件在一次试验中是不可能发生的,如果在我们的假设下出现了一个小概率事件,则认为我们的假设是错误的。
  • 反证法思想 。反证法思想为先假设我们提出的假设是正确的,然后在该条件下检验观测到的事件是否是小概率事件。如果是则可以否定我们的假设。否则,就无法否定。
    假设检验的基本步骤如下:
    (1) 先根据实际问题的要求提出一个论断,称之为原假设零假设(Null Hypothesis) ,记为H0。同时提出一个与之互为反命题的备择假设(Alternative Hypothesis) ,记为H1
    (2) 然后在H0正确的条件下,求出样本数据出现的频率,看我们手中的样本是不是小概率事件。
    (3) 最后如果样本是小概率事件,那么就认为原假设是错误的。在统计学上,我们称之为拒绝原假设。否则我们不能拒绝H0的决策。

对于原假设和备择假设有如下的选择原则:

  • 原假设应该是受保护的,不应该轻易被拒绝。
  • 备择假设是检验者所希望的结果。
  • 等号永远出现在原假设中。

3.2 两类错误

  • 第一类错误(Type I Error):拒绝了本来正确的原假设(弃真)。
    犯第一类错误的概率记为α。
  • 第二类错误(Type II Error):没有拒绝原本是错误的原假设(取伪)。
    犯第二类错误的概率记为β。
  • 假设检验中这两类错误都难以避免。我们无法同时控制两个错误发生的概率,如果降低想要α,β就会被提高。我们通常需要权衡这两种错误,一般我们选择控制α不限制β

3.3 显著性水平与p值

为控制α,我们往往将α值固定,同时使得:


在这里插入图片描述

在统计学上,我们称 α \displaystyle \alpha α显著性水平(Significance Level)。常见的显著性水平有0.1, 0.05, 0.025。

为了确定一个事件是不是小概率事件,我们需要了解其发生概率。但是对于连续型随机变量,其取某个具体值的概率为0,我们无法计算。所以就有了使用p值的方法。
我们算出假设在原假设正确条件下,和当前样本中一样极端或更极端的情况出现的概率,这个概率就是p值(p-value)。


3.4 确定小概率事件

判断一个事件是否是小概率事件的一个基本原则:当p值小于α时,我们认为样本为小概率事件。
而对于p指与α的比较,可采取两种方法:临界值检验法(Critical Value Approach)显著性检验法(p-value approch)

  • 临界值检验法:
    使用临界值检验法首先要使用样本数据构建一个用于检验的统计量,这个统计量往往是总体参数的点估计量。然后我们需要确定能够拒绝原假设的最大p值。根据小概率事件的判断原则,这个最大值即是α。然后根据α和统计量所服从的概率分布可以求得临界值。求得临界值后用统计量和与该临界值进行比较,如果统计量与临界值的偏差大于该临界值与原假设的偏差,那么当前样本就与临界值一样极端,其p值也就会小于α。如此以来我们就认为当前样本是小概率事件,应该拒绝原假设。
  • 显著性检验法
    显著性检验与临界值检验法较为类似,同样需要先构建一个用于检验的统计量,与临界值方法不同的是,我们直接根据原假设和统计量的概率分布求解其p值,然后将p值与α进行比较,从而拒绝原假设。

4. t检验

根据构建统计量服从的概率分布,我们所用的参数检验可以分为z检验、t检验、F检验等。其中,t检验所使用的统计量服从t分布,常常用于检验标准差σ未知的、服从正态分布的总体的均值。
常见的t检验主要有单样本t检验(One Sample t Test)配对样本t检验(Paired Sample t Test)独立样本t检验(Independent Sample Test)

  • 单样本t检验是检验单个变量的均值与目标值之间是否存在差异。如果总体均值已知,样本均值与总体均值之间差异的显著性检验属于单样本t检验。

  • 独立样本t检验用于检验两组来自独立总体的样本 其独立总体的均值是否一样。如果两组样本彼此不独立,则应该使用配对样本t检验。

  • 配对样本t检验用于检验两个相关的样本(配对样本)是否来自具有相同均值的总体。


4.1 单样本t检验

比较:总体均值u与指定检验值u0是否存在显著性差异。
在这里插入图片描述
将样本均值与样本标准差代入该统计量,就可以得到该统计量的值,然后就可以根据t分布的分布函数计算出p值并与显著性水平α比较,或是与显著性水平α下的临界值进行比较。

# 接着使用上边代码调取的数据
# 用单样本t检验2020年沪深300的收益率均值是否为0
stats.ttest_1samp(Retindex,0) #注意躲坑:1samp的首个字符不是字母l,是数字1

结果:
在这里插入图片描述
这里p值为0.2355742>0.05,所以在5%的置信水平下不能拒绝原假设。进而,可以推断2020年沪深300收益率均值为0。

4.2 独立样本t检验

用独立样本t检验来检验上证指数和深证成指2020年的收益率是否相等。

# 调取数据
# 上证指数
df1 = pro.index_daily(ts_code='000001.SH')  
df1['trade_date'] = pd.to_datetime(df1['trade_date'])  
df1.set_index(['trade_date'], inplace=True)  # 将日期列作为行索引
df1 = df1.sort_index() 

# 深证成指
df2 = pro.index_daily(ts_code='399001.SZ')  
df2['trade_date'] = pd.to_datetime(df2['trade_date'])  
df2.set_index(['trade_date'], inplace=True)  # 将日期列作为行索引
df2 = df2.sort_index() 

# 提取数据
SHRet = df1['2020'].pct_chg 
SZRet = df2['2020'].pct_chg
# 输入两个变量
stats.ttest_ind(SHRet,SZRet)

结果如下:
在这里插入图片描述
p值为0.52382>0.05,所以在5%的显著性水平下我们不能拒绝原假设。进而可以推断2020年上证指数与深证成指收益率均值相等。


4.3 配对样本t检验

独立样本t检验假设两者是相互独立的,对于上证指数与深证成指的收益率,这个假设是很值得怀疑的。所以我们再用配对样本t检验两者均值是否相等。

stats.ttest_rel(SHRet,SZRet)

结果如下:
在这里插入图片描述
这次的p值为0.040551137<0.05,所以在5%的显著性水平下,我们可以拒绝原假设。即2020年上证指数与深证成指的收益率并不相等。


目录
相关文章
|
7月前
|
开发者 Python 容器
python函数基础以及函数参数简解
python函数基础以及函数参数简解
|
5月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1500 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
3月前
|
分布式计算 MaxCompute 对象存储
|
4月前
|
Python
SciPy 教程 之 Scipy 显著性检验 7
SciPy 教程之 Scipy 显著性检验第7部分,介绍显著性检验的基本概念及其在 SciPy 中的应用。显著性检验用于评估样本数据与假设之间的差异是否由随机因素引起。SciPy 的 `scipy.stats` 模块提供了执行显著性检验的功能,包括 KS 检验等方法,用于检测数据是否符合特定分布。示例代码展示了如何使用 KS 检验验证一组数据是否符合正态分布。
48 2
|
4月前
|
Python
SciPy 教程 之 Scipy 显著性检验 9
SciPy 教程之 Scipy 显著性检验第9部分,介绍了显著性检验的基本概念、作用及原理,通过样本信息判断假设是否成立。着重讲解了使用scipy.stats模块进行显著性检验的方法,包括正态性检验中的偏度和峰度计算,以及如何利用normaltest()函数评估数据是否符合正态分布。示例代码展示了如何计算一组随机数的偏度和峰度。
55 1
|
4月前
|
BI Python
SciPy 教程 之 Scipy 显著性检验 8
本教程介绍SciPy中显著性检验的应用,包括如何利用scipy.stats模块进行显著性检验,以判断样本与总体假设间的差异是否显著。通过示例代码展示了如何使用describe()函数获取数组的统计描述信息,如观测次数、最小最大值、均值、方差等。
53 1
|
4月前
|
Python
SciPy 教程 之 Scipy 显著性检验 3
本教程介绍Scipy显著性检验,包括其基本概念、原理及应用。显著性检验用于判断样本与总体假设间的差异是否显著,是统计学中的重要工具。Scipy通过`scipy.stats`模块提供了相关功能,支持双边检验等方法。
60 1
|
5月前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
72 3
|
4月前
|
Python
SciPy 教程 之 Scipy 显著性检验 1
本教程介绍Scipy显著性检验,包括统计假设、零假设和备择假设等概念,以及如何使用scipy.stats模块进行显著性检验,以判断样本与总体假设间是否存在显著差异。
52 0
|
5月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
80 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数

热门文章

最新文章