关于数据挖掘:R语言Bootstrap自举法自抽样法估计回归置信区间分析股票收益

60次阅读

共计 2540 个字符,预计需要花费 7 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=25908

介绍

假如你做了一个简略的回归,当初你有了你的 . 您想晓得它是否与(例如)零显着不同。一般来说,人们会查看他们抉择的软件报告的统计数据或 p.value。问题是,这个 p.value 计算依赖于因变量的散布。如果没有不同的阐明,您的软件假设为正态分布,那是怎么回事?

例如,(95%)置信区间是 ,1.96 来自正态分布。
倡议不要这样做,bootstrapping* 的长处在于它没有散布的问题,它实用于高斯、柯西或其余的散布。

40 年前电脑计算速度很慢,当初不是了。你依然能够保留你的散布假如,但至多要看看当你放松假如的时候会产生什么。做到这一点的办法是应用 Bootstrap 法,这个想法很直观和简略。

约翰 - 福克斯写道:” 总体对样本来说,就像样本对疏导程序样本一样 ”。但这是什么意思呢?你对来自样本的预计,应该是对 “ 实在 ”,即总体的预计,而这是未知的。当初从样本中抽取一个样本,咱们称这个样本为 Bootstrap 样本,依据这个(Bootstrap)样本来预计你的状况,当初这个新的预计是对你原来的预计,也就是来自原始数据的那个。为了分明起见,假如你有 3 个观测值,第一个是{x=0.7,y=0.6},第二个是{x=A,y=B},第三个是{x=C,y=D},当初,从样本中抽出的一个例子是洗牌排序:第一个是{x=A,y=B},第二个是{x=0.7,y=0.6},第三个是{什么什么}。这种 “ 洗牌 “ 就是咱们所说的 bootstrap 样本,留神,任何察看值都能够被抉择一次以上,或者基本不被抉择,也就是说,咱们是用替换法取样。当初咱们再次预计同一统计量 x =C,y=D}。这种 “ 洗牌 “ 就是咱们所说的 bootstrap 样本,留神,任何察看值都能够被抉择一次以上,或者基本不被抉择,也就是说,咱们是用替换法取样。当初咱们再次预计同一统计量(在咱们的例子中)。

反复这个样本和预计很屡次,你就有了许多 Bootstrap 预计,当初你能够查看体现。你能够用它来做一件事,就是为你的估计值自举 Bootstrap 置信区间(CI),而不须要根本的散布假如。

在 R
在 R 中,“boot”包能够解决问题:

library #加载软件包

# 当初咱们须要咱们想要预计的函数

# 在咱们的例子中,是 β。bfun = function(da,b,fola){  

# b 是 bootstrap 样本的随机指数

return(lm$coef\[2\])  

# 这是对 β 系数的解释

}

# 当初你能够进行自举了。bt = boot
# R 是多少个 bootstrap 样本


plot

hist

您能够放大在每个 bootstrap 程序中抉择了哪些索引,确切的排列是什么,能够应用函数 bay 来做到这一点:

zot = boot.array

dim(zo) # 大小应该是 R(bootstrap 样本数)乘以 n(你的数据的 NROW)

hist

# 这是每一个指数的频率,对于第一个 bootstrap 运行,所以在这个直方图中,一个 Y 值比如说是 3

#意味着在这个特定的 bootstrap 样本中,X 值察看被抉择了 3 次

本人编写代码

如果您能够本人编写代码,就能够更好地了解它,对于像 bootstrap 置信区间这样的简略问题,它更加简略和快捷:

ptm <- pce() # 看一下它所花的工夫

for (i in 1:nb){
uim = sample # 抉择随机指数
bt\[i\] = lm

proc.time() - ptm # 在我这边大概 80 秒

您以后的置信区间怎么样?

真的有关系吗?兴许这不值得麻烦。作为一个例子,我应用了已知有厚尾的股票收益,这意味着远离核心的更多察看样本。看看下图:

那就是摩根士丹利  与市场。估计值以 1.87 为核心。彩色垂直线是“lm”函数报告的 (95%) 置信区间,蓝色垂直线是等效的非参数置信区间,浅蓝色曲线是正态密度。

留神到这个区间与非参数 bootstrap 法有多大区别,在这种状况下,非参数 bootstrap 法更精确。例如,可能参数实际上是 2,你能够看到软件的输入回绝了这种可能性,因为它假设了正态性,然而疏导法的置信区间的确涵盖了 2 这个值。所以,一个投资者如果认为 “ 在我的投资组合中,所有的贝塔值都小于 2,CI 值为 95%”,那么他就谬误地认为摩根斯坦利是这样的。这个查看须要大概 80 秒,所以我在把它插入双 “for “ 循环之前会三思而后行。然而,如果你是社会科学家,能够用这种持重的剖析来加强你的规范(失常)输入。

总结

在这里你能够看到,当你应用 bootstrap 的置信区间时,当正态分布假如无效时,_状况_并没有那么糟坏。我创立了一个假的正态分布,应用与报告雷同的核心和标准差,并做了完全相同的剖析。
 

同样,我应用与 “lm “ 报告雷同的核心和标准差从正态分布中进行了模仿,你能够看到区间是互相靠近的,这就总结了这篇文章,应用参数化的置信区间,从假如的正态分布在某种意义上是次优的,因为即便是正态,你也不会损失很多。
谢谢浏览。
 

###################################################

### 当初我实际上是从正态分布中生成

###################################################

rnorm


lm2 = lm

for (i in 1:b){

uni = sample
fe\[i\] = lm

}


ftha <- boe

h2 = hist


xline

xfit<-seq
yfit<-dnorm

lines

最受欢迎的见解

1.R 语言多元 Logistic 逻辑回归 利用案例

2. 面板平滑转移回归 (PSTR) 剖析案例实现剖析案例实现 ”)

3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R 语言泊松 Poisson 回归模型剖析案例

5.R 语言混合效应逻辑回归 Logistic 模型剖析肺癌

6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7.R 语言逻辑回归、Naive Bayes 贝叶斯、决策树、随机森林算法预测心脏病

8.python 用线性回归预测股票价格

9.R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

正文完
 0