使用 r 中的引导包存储系数和向量
Storing coefficients and vectors using the boot package in r
我正在估算 y= x + s(z)
类型的模型,其中 s(z)
是一个非参数函数。我想使用 bootstrap 来获取 x
上系数的标准误差和函数 s(z)
的置信带。基本上,我的估计结果给出了 x
的系数,因此是 1x1
对象,以及 s(z)
的矢量 nx1
。您可以使用 gam
包 (gam
) 函数来实现。为了我的需要,我使用了一个手写函数,其中 returns 一个名为 result
的列表,我从中得到 result$betax
作为 x
和 result$curve
的系数它存储向量值(s(z)
的估计给出了一组对应于曲线的值)。我正在 bootstrapping 使用 boot
包如下
result.boot <- boot(data, myfunction, R=3, sim = "parametric",
ran.gen = myfunction.sim, mle = myfunction.mle)
我收到以下错误消息
Error in boot(pdata, myfunction, R = 3, sim = "parametric",
ran.gen = myfunction.sim, : incorrect number of subscripts on matrix
我想它应该给出 x 上的系数向量,我将在其上计算标准误差,以及一个矩阵 nxn
of s(z)
值,我将在其上计算 a s.e。对于每一行,让我有 s(z)
曲线的置信区间。我想这与我函数的输出由
给出的事实有关
est <- list("betax" = betax, "curve" = s.z, "residuals"=res)
return(est)
我该如何解决这个问题?
要重现该问题,可以使用 gam
函数
y = runif(16, min=0, max=1)
x = runif(16, min=0, max=0.5)
z = runif(16, min=0, max=0.3)
require(gam)
est <- gam(y ~ x + s(z))
我在做
est <- myfunction(y, x, z)
该解决方案意味着对手写函数的输出进行向量化,因此使其与需要将结果存储在向量中的 boot
过程兼容。
est <- myfunction(y, x, z)
good.output <- matrix(c(betax, s.z), ncol=1)
这将使boot
功能正常工作。然后你只需提取 result.boot$t 的相应元素并计算你喜欢的统计数据
我正在估算 y= x + s(z)
类型的模型,其中 s(z)
是一个非参数函数。我想使用 bootstrap 来获取 x
上系数的标准误差和函数 s(z)
的置信带。基本上,我的估计结果给出了 x
的系数,因此是 1x1
对象,以及 s(z)
的矢量 nx1
。您可以使用 gam
包 (gam
) 函数来实现。为了我的需要,我使用了一个手写函数,其中 returns 一个名为 result
的列表,我从中得到 result$betax
作为 x
和 result$curve
的系数它存储向量值(s(z)
的估计给出了一组对应于曲线的值)。我正在 bootstrapping 使用 boot
包如下
result.boot <- boot(data, myfunction, R=3, sim = "parametric",
ran.gen = myfunction.sim, mle = myfunction.mle)
我收到以下错误消息
Error in boot(pdata, myfunction, R = 3, sim = "parametric",
ran.gen = myfunction.sim, : incorrect number of subscripts on matrix
我想它应该给出 x 上的系数向量,我将在其上计算标准误差,以及一个矩阵 nxn
of s(z)
值,我将在其上计算 a s.e。对于每一行,让我有 s(z)
曲线的置信区间。我想这与我函数的输出由
est <- list("betax" = betax, "curve" = s.z, "residuals"=res)
return(est)
我该如何解决这个问题?
要重现该问题,可以使用 gam
函数
y = runif(16, min=0, max=1)
x = runif(16, min=0, max=0.5)
z = runif(16, min=0, max=0.3)
require(gam)
est <- gam(y ~ x + s(z))
我在做
est <- myfunction(y, x, z)
该解决方案意味着对手写函数的输出进行向量化,因此使其与需要将结果存储在向量中的 boot
过程兼容。
est <- myfunction(y, x, z)
good.output <- matrix(c(betax, s.z), ncol=1)
这将使boot
功能正常工作。然后你只需提取 result.boot$t 的相应元素并计算你喜欢的统计数据