推断统计python化(参数估计,假设检验与 t检验)(2),知识点总结+面试题解析

import tushare as ts

import pandas as pd

token = ‘Your Token’ # 输入你的接口密匙,获取方式及相关权限见Tushare官网。

pro = ts.pro_api(token)

df = pro.index_daily(ts_code=‘399300.SZ’)

df[‘trade_date’] = pd.to_datetime(df[‘trade_date’])

df.set_index([‘trade_date’], inplace=True) # 将日期列作为行索引

df = df.sort_index()

提取沪深300的收益率序列

Retindex=df.pct_chg[‘2020’]

绘制沪深300收益率的直方图

plt.hist(Retindex)

Retindex.hist()

结果如图所示:

在这里插入图片描述

from scipy import stats

import matplotlib.pyplot as plt

求沪深300收益率的均值

mu = Retindex.mean()

求沪深300收益率的标准差

sigma = Retindex.std()

在直方图上添加正态分布曲线

fig = plt.figure()

ax1 = ax1 = fig.add_subplot(111)

ax1.plot(np.arange(-6, 6.02, 0.02), stats.norm.pdf(np.arange(-6, 6.02, 0.02), mu, sigma), ‘r’)

ax2 = ax1.twinx()

ax2.hist(Retindex)

plt.show()

结果如图:

在这里插入图片描述

stats.t.interval(0.95, len(Retindex)-1, mu, stats.sem(Retindex))

结果如下:

在这里插入图片描述

(备注:这里序列中的收益率如-0.02是以-2来表示的,0.032则以3.2表示,而不是0.032。所以得到的置信区间结果不能读错了,-0.07意思不是跌了七个点。)


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值


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

P ( 拒 绝 H 0 ∣ H 0 为 真 ) ≤ α \displaystyle P(拒绝H_0|H_0为真)\leq \alpha P(拒绝H0​∣H0​为真)≤α

在统计学上,我们称 α \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分布,常常用于检验标准差 σ \displaystyle \sigma σ未知的、服从正态分布的总体的均值。

常见的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是否存在显著性差异。

原假设: H0:u = u0

备择假设:H1:u ≠ u0

前提:总体服从正态分布 N ( u , σ 2 ) \displaystyle N(u,\sigma^2 ) N(u,σ2),u为均值, σ 2 \displaystyle \sigma^2 σ2为总体方差。

如果样本容量为n,样本均值为 X ‾ \displaystyle \overline{X} X,在原假设成立的条件下,我们构造以下统计量:

t = X ‾ − u 0 s / n \displaystyle t=\frac{\overline X-u_0}{s/\sqrt n} t=s/n ​X−u0​​~ t ( n − 1 ) \displaystyle t(n-1) t(n−1)

其中, s = 1 n − 1 ∑ i = 1 n ( x i − x ‾ ) 2 \displaystyle s=\sqrt{\frac{1}{n-1}\sum_{i=1}^n(x_i-\overline x)^2} s=n−11​i=1∑n​(xi​−x)2 ​, 为样本标准差。

将样本均值与样本标准差代入该统计量,就可以得到该统计量的值,然后就可以根据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’])

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

3d2bc1dc6f4668534a.png)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-iskmwiHB-1711017311979)]

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值