问题标签 [statistics-bootstrap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
886 浏览

r - 使用 tryCatch() 捕获引导循环

我对使用的了解不足,tryCatch()但在正在进行的讨论中很难找到一个好的解决方案。

我有一个返回对象的自编程函数。它实际上是一个列表对象,但为简单起见,假设它是一个标量。我正在使用for()循环来引导此功能。我的循环是以下形式:

myfunction()有时会返回错误消息,因为它用于lm()在数据子集上拟合模型,然后从不同的子集中预测新数据。然后可能会发生某些因素,某些水平偶然不会出现在用于拟合的数据中,但它们确实出现在预测子集中。这确实很少发生(例如,大约每 15,000 次迭代),但它确实发生了(我需要引导myfunction()很多次)。

我想使用tryCatch()或类似的功能来捕获我的引导循环。此外,我想定义一个索引来计算循环tryCatch()中必须捕获函数的频率。boot最后,无论错误发生的次数如何,我都希望有一个常数。

R 返回以下消息:

X是用户指定的预测器lm()。我不确定 2 代表什么,我猜是新关卡的数量(?)。

0 投票
4 回答
10025 浏览

r - 使用 R 并行加速引导程序

我想加快我的引导功能,它本身工作得很好。我读到自 R 2.14 以来有一个名为 的包parallel,但我发现它对某人来说非常困难。计算机科学知识很少,无法真正实现它。也许有人可以帮忙。

所以这里我们有一个引导程序:

目标是使用并行处理/利用我 PC 的多个内核。我在 Windows 下运行 R。谢谢!

编辑(诺亚回复后)

以下语法可用于测试:

但是,在我的机器上,简单的 R 代码更快。这是并行处理的已知副作用之一,即它会导致分叉进程的开销,这会增加像这样的“简单任务”中的时间?

编辑:在我的机器上,parallel代码比“简单”代码长约 5 倍。boot当我增加任务的复杂性(例如增加或n)时,这个因素显然不会改变。所以也许代码或我的机器有问题(基于 Windows 的处理?)。

0 投票
1 回答
128 浏览

r - 标准化不是列之间,而是列的一小部分,使用 R

我有一个多层次的结构,我需要做的是为每个人标准化(这是更高级别的单位,每个单位都有几个单独的措施)。

考虑:

我曾经apply(data, 2, scale)为每个人标准化(这也标准化了 ID 和度量,但没关系)。

但是,我如何确保分别对ID == 1,ID == 2和进行标准化ID == 3?--> 每个observation- mean of 3 scores,除以standard deviation for 3 scores)。

我正在考虑一个for循环,但问题是我想引导它(换句话说,为一个大数据集复制整个过程 1000 次,所以速度非常重要)。

额外信息:ID 可以有可变的测量值,所以并不是它们都有 3 个测量分数。

dput数据是:

0 投票
1 回答
2367 浏览

r - 了解如何在 R 中将“apply”与“boot”和“boot.ci”一起使用

我有一个数据框,想使用引导函数在每一列中应用一个函数。我还想使用 boot.ci 获得应用函数的置信区间。我已经能够执行引导程序,如下面的简单示例所示,但不明白它为什么起作用:

首先,为什么我需要 x 和 [x,] 伴随数据输入到我的函数?(我认为通过将我的函数定义为:

,但这会引发错误:统计错误(数据,原始,...):未使用的参数(原始)。既然这样,我不明白为什么需要 x。我在定义我的函数以返回与每个引导统计相关联的置信区间(即,与每列平均值相关联的置信区间)时遇到了一些麻烦。也许我对置信区间的问题源于我对 x 目的的误解?例如,

只返回一组置信区间。

任何关于为什么需要 x 参考的其他问题或评论的指导将不胜感激;任何关于如何返回置信区间的指导也将不胜感激。

0 投票
1 回答
1879 浏览

r - 如何计算 R 中的滚动引导值和置信区间

我是 R 新手,正在尝试在 30 个观察滚动窗口内计算自举标准偏差 (sd) 和相关标准误差。如果我只想要 sd,下面的函数会适当地执行滚动窗口。但是当我使用引导包添加引导功能时,我得到了下面指定的错误。我收集到我正在尝试将引导结果存储在一个大小不正确的向量中。有没有人对如何在新矩阵的行中存储每个窗口的引导 sd 和相关的 stderror 有任何建议?然后,目标是沿时间序列绘制每个窗口的 sd 和相关的 95% 置信区间。提前感谢您的帮助。

0 投票
1 回答
3395 浏览

r - 当采样集中的所有值都相等时,避免 R boot.ci 函数中的错误

我有许多作为函数输入的数据集。数据存储在数据表中,我正在计算函数输出的置信区间。但是,在某些情况下,所有输入数据都相同,从而导致错误:“x 的所有值都等于 100 \n 无法计算置信区间”如何避免此错误(例如,只需设置置信度对于所有值都相等的情况,将间隔设置为任意值,例如 0 或 NA)?例如:

返回:

改变

返回:“t 的所有值都等于 100 \n 无法计算置信区间”,这会导致其他错误。

我希望结果是:

0 投票
1 回答
800 浏览

r - 使用 pvclust 对一维数据进行聚类

感谢您花时间阅读这个问题。我有一些一维数据要在 R 中进行聚类。基本hclust命令可以正常工作。但是,该pvclust命令并没有采用一维数据,并且一直在说:

我找到了一种解决方法,即在数据中添加了一些全零行。于是数据变成:

然后我跑了pvclust,它成功了!

但我担心这种变通方法会破坏 pvclust 背后的数学原理。谁能告诉我我是对还是错,以及我的问题是否有更好的解决方案?

谢谢!

0 投票
0 回答
663 浏览

r - 在 R 的引导中使用 optim

我想计算optim通过引导估计的参数的标准误差。目的是引导用作optim函数输入的数据。

初始优化函数为

其中 C1 等是我希望通过引导创建的协方差矩阵。下面给出了引导使用的代码boot

这将返回函数中未使用参数的错误optim。是否可以optim在引导功能中使用?我需要更改optim函数的定义方式吗?

编辑:正如文森特所建议的,附加参数必须通过初始函数传递。对于这个问题,重要的是,必须给出一个额外的索引以确保optim重复使用不同的数据。最后的解决办法是。

0 投票
0 回答
750 浏览

r - 使用 boot() 从多个层重采样

我试图在从特定人群中重新采样时引导 ZIP 估计。每个种群(集群)在某种程度上都有根本的不同,所以我想在 bootstrapping 中按比例表示它们。strata 命令将执行此操作。

我有时会遇到以下错误:

solve.default(as.matrix(fit$hessian)) 中的错误:系统在计算上是奇异的:倒数条件数 = 2.02001e-16

这是一种复制问题的方法,它应该只需要大约一分钟左右的时间来运行,具体取决于您的计算机:

考虑到我有 900 多个自由度,并且每个总体中至少有 100 个样本来获取我的重采样估计值,应该有足够的样本。

我的问题:1)我做了什么导致这种多重共线性?

0 投票
2 回答
1063 浏览

stata - 为大量标量生成引导标准错误

假设我有四个标量:调用它们dea_1 dea_2 dea_3 dea_4。它们是程序的输出 samprogram(此处未显示)。

现在我bootstrap在 Stata 中使用带有这些标量的命令来获取引导的标准错误。

这很好,但在我的原始程序中,我计算了 30 个标量,dea_1 dea_2 ... dea_30. 现在我想避免在bootstrap命令中编写这 30 个标量中的每一个,为此我编写了一个循环,如下所示:

这有效,但每次给出每个标量的输出。但是,我正在寻找避免在bootstrap命令中写入所有标量但仍同时提供所有输出的代码(即像以下命令的输出)

在这方面的任何帮助将不胜感激。