河间哪里有做网站的,wordpress禁用修正版,公司简介模板下载,工程建设规范题目 今天来用自助法评估一下ISLR 程序包中的 Portfolio (金融资产)数据集的预测函数
相关资料 自助法#xff08;Bootstraping#xff09;是另一种模型验证#xff08;评估#xff09;的方法#xff08;之前已经介绍过单次验证和交叉验证#xff09;。其以自助采样Bootstraping是另一种模型验证评估的方法之前已经介绍过单次验证和交叉验证。其以自助采样Bootstrap Sampling为基础即有放回的采样或重复采样。注这是一种样本内抽样的方法即将样本看作总体并从中进行抽样。
具体做法是在含有 m 个样本的数据集中每次随机挑选一个样本 将其作为训练样本再将此样本放回到数据集中这样有放回地抽样 m 次生成一个与原数据集大小相同的数据集这个新数据集就是训练集。这样有些样本可能在训练集中出现多次有些则可能从未出现。原数据集中大概有 36.8% 的样本不会出现在新数据集中。因此我们把这些未出现在新数据集中的样本作为验证集。把前面的步骤重复进行多次这样就可以训练出多个模型并得到它们的验证误差然后取平均值作为该模型的验证误差。 如果需要在多个不同的模型中进行选择那么事先留出测试集然后在剩余的数据集上用自助法验证模型选择验证误差最小的模型作为最好的模型然后用训练集验证集数据按最好模型的设置训练出一个新的模型作为最终的模型最后用测试集测试最终的模型。
实验 为了在这个 数据集上说明自助法的使用首先必须创建一个函数alpha. fn ()来输入数据(X,Y) 以 及表明用哪些观测来估计 α 的向量然后输出由入选的观测所计算得到的 α 估计的结果。 # The Bootstrap#自助法# 两个步骤第一创建一个计算感兴趣的统计量的函数# 第二用boot库中的boot()有放回地抽取观测来执行自助法alpha.fnfunction(data,index){Xdata$X[index]Ydata$Y[index]return((var(Y)-cov(X,Y))/(var(X)var(Y)-2*cov(X,Y)))
} 这个函数返回 (return) 或者说输出对参数 index 选中的观测用自助法公式计算得到的 α 的一个估计。比如说下面的命令让 R 用全部 100 个观测来估计 α。 library(ISLR)alpha.fn(Portfolio,1:100)#[1] 0.5758321
[1] 0.5758321 下面的命令用 sample ()函数来随机地从 1 到 100 中有放困地选取 100 个观测。这相当于创建 了一个新的自助法数据集然后在新的数据集上重新计算α。 set.seed(1)alpha.fn(Portfolio,sample(100,100,replaceT))#[1] 0.5963833
[1] 0.7368375 可以通过多次运行这个命令把所有相应的 α 估计记录下来然后计算其标准差来实现自助 法分析。但是. boot ()函数可以让这个方法自动进行。下商产生 R1000 个 α 的自助法 估计。 library(boot)boot(Portfolio,alpha.fn,R1000)#可以多次自动运行这个命令ORDINARY NONPARAMETRIC BOOTSTRAPCall:
boot(data Portfolio, statistic alpha.fn, R 1000)Bootstrap Statistics :original bias std. error
t1* 0.5758321 -0.001695873 0.09366347