【发布时间】:2019-08-01 12:38:50
【问题描述】:
我想创建一个自定义引导函数。原因有很多。
- 更好地理解(或者说理解)流程
- 在不依赖包的情况下推断其他地方的引导重采样
我知道有一些包(主要是 boot、rms、caret 和其他包)可以帮助我解决我的问题并且用途广泛,但我希望能够自己创建一个函数用于原因如上。
据我了解,bootstrap 是一种重采样方法,与从样本(在我们的案例中为数据帧)中抽取 n 个随机样本一致。然后使用这 n 个随机样本来计算估计值。
例如,假设我适合一个模型(无论如何,这对我的“示例”代码并不重要)
model <- coxph(Surv(time, cens)~groups, data=df)
我使用生存模式是因为我现在想在其中应用它,但因为我有兴趣了解真正发生的事情,所以我们选择哪种模型并不重要。
现在,让我们“重新采样”。从理论上讲,这是我每次阅读有关引导程序时所理解的内容
bstrap <- sample(df, 1000, replacement=T)
preds <- predict(model, bstrap)
mean(preds)
confint(preds) #This is probably the "faultiest" part, as C.I are supposed to be calculated by the bootstrap itself
这样的东西会起作用吗? 我可以在那里看到一些错误的东西,但这就是我对这个主题的直觉驱使我根据我所读到的关于引导程序的内容进行思考的地方。 为什么那行不通?可能是因为我使用的数据与我的模型所用的数据完全相同吗? 是因为重采样不是那么字面意思吗?还有什么?
非常感谢!
【问题讨论】: