问题标签 [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.
r - 使用 tryCatch() 捕获引导循环
我对使用的了解不足,tryCatch()
但在正在进行的讨论中很难找到一个好的解决方案。
我有一个返回对象的自编程函数。它实际上是一个列表对象,但为简单起见,假设它是一个标量。我正在使用for()
循环来引导此功能。我的循环是以下形式:
myfunction()
有时会返回错误消息,因为它用于lm()
在数据子集上拟合模型,然后从不同的子集中预测新数据。然后可能会发生某些因素,某些水平偶然不会出现在用于拟合的数据中,但它们确实出现在预测子集中。这确实很少发生(例如,大约每 15,000 次迭代),但它确实发生了(我需要引导myfunction()
很多次)。
我想使用tryCatch()
或类似的功能来捕获我的引导循环。此外,我想定义一个索引来计算循环tryCatch()
中必须捕获函数的频率。boot
最后,无论错误发生的次数如何,我都希望有一个常数。
R 返回以下消息:
X
是用户指定的预测器lm()
。我不确定 2 代表什么,我猜是新关卡的数量(?)。
r - 使用 R 并行加速引导程序
我想加快我的引导功能,它本身工作得很好。我读到自 R 2.14 以来有一个名为 的包parallel
,但我发现它对某人来说非常困难。计算机科学知识很少,无法真正实现它。也许有人可以帮忙。
所以这里我们有一个引导程序:
目标是使用并行处理/利用我 PC 的多个内核。我在 Windows 下运行 R。谢谢!
编辑(诺亚回复后)
以下语法可用于测试:
但是,在我的机器上,简单的 R 代码更快。这是并行处理的已知副作用之一,即它会导致分叉进程的开销,这会增加像这样的“简单任务”中的时间?
编辑:在我的机器上,parallel
代码比“简单”代码长约 5 倍。boot
当我增加任务的复杂性(例如增加或n
)时,这个因素显然不会改变。所以也许代码或我的机器有问题(基于 Windows 的处理?)。
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
数据是:
r - 了解如何在 R 中将“apply”与“boot”和“boot.ci”一起使用
我有一个数据框,想使用引导函数在每一列中应用一个函数。我还想使用 boot.ci 获得应用函数的置信区间。我已经能够执行引导程序,如下面的简单示例所示,但不明白它为什么起作用:
首先,为什么我需要 x 和 [x,] 伴随数据输入到我的函数?(我认为通过将我的函数定义为:
,但这会引发错误:统计错误(数据,原始,...):未使用的参数(原始)。既然这样,我不明白为什么需要 x。我在定义我的函数以返回与每个引导统计相关联的置信区间(即,与每列平均值相关联的置信区间)时遇到了一些麻烦。也许我对置信区间的问题源于我对 x 目的的误解?例如,
只返回一组置信区间。
任何关于为什么需要 x 参考的其他问题或评论的指导将不胜感激;任何关于如何返回置信区间的指导也将不胜感激。
r - 如何计算 R 中的滚动引导值和置信区间
我是 R 新手,正在尝试在 30 个观察滚动窗口内计算自举标准偏差 (sd) 和相关标准误差。如果我只想要 sd,下面的函数会适当地执行滚动窗口。但是当我使用引导包添加引导功能时,我得到了下面指定的错误。我收集到我正在尝试将引导结果存储在一个大小不正确的向量中。有没有人对如何在新矩阵的行中存储每个窗口的引导 sd 和相关的 stderror 有任何建议?然后,目标是沿时间序列绘制每个窗口的 sd 和相关的 95% 置信区间。提前感谢您的帮助。
r - 当采样集中的所有值都相等时,避免 R boot.ci 函数中的错误
我有许多作为函数输入的数据集。数据存储在数据表中,我正在计算函数输出的置信区间。但是,在某些情况下,所有输入数据都相同,从而导致错误:“x 的所有值都等于 100 \n 无法计算置信区间”如何避免此错误(例如,只需设置置信度对于所有值都相等的情况,将间隔设置为任意值,例如 0 或 NA)?例如:
返回:
改变
返回:“t 的所有值都等于 100 \n 无法计算置信区间”,这会导致其他错误。
我希望结果是:
r - 使用 pvclust 对一维数据进行聚类
感谢您花时间阅读这个问题。我有一些一维数据要在 R 中进行聚类。基本hclust
命令可以正常工作。但是,该pvclust
命令并没有采用一维数据,并且一直在说:
我找到了一种解决方法,即在数据中添加了一些全零行。于是数据变成:
然后我跑了pvclust
,它成功了!
但我担心这种变通方法会破坏 pvclust 背后的数学原理。谁能告诉我我是对还是错,以及我的问题是否有更好的解决方案?
谢谢!
r - 在 R 的引导中使用 optim
我想计算optim
通过引导估计的参数的标准误差。目的是引导用作optim
函数输入的数据。
初始优化函数为
其中 C1 等是我希望通过引导创建的协方差矩阵。下面给出了引导使用的代码boot
。
这将返回函数中未使用参数的错误optim
。是否可以optim
在引导功能中使用?我需要更改optim
函数的定义方式吗?
编辑:正如文森特所建议的,附加参数必须通过初始函数传递。对于这个问题,重要的是,必须给出一个额外的索引以确保optim
重复使用不同的数据。最后的解决办法是。
r - 使用 boot() 从多个层重采样
我试图在从特定人群中重新采样时引导 ZIP 估计。每个种群(集群)在某种程度上都有根本的不同,所以我想在 bootstrapping 中按比例表示它们。strata 命令将执行此操作。
我有时会遇到以下错误:
solve.default(as.matrix(fit$hessian)) 中的错误:系统在计算上是奇异的:倒数条件数 = 2.02001e-16
这是一种复制问题的方法,它应该只需要大约一分钟左右的时间来运行,具体取决于您的计算机:
考虑到我有 900 多个自由度,并且每个总体中至少有 100 个样本来获取我的重采样估计值,应该有足够的样本。
我的问题:1)我做了什么导致这种多重共线性?
stata - 为大量标量生成引导标准错误
假设我有四个标量:调用它们dea_1 dea_2 dea_3 dea_4
。它们是程序的输出 samprogram
(此处未显示)。
现在我bootstrap
在 Stata 中使用带有这些标量的命令来获取引导的标准错误。
这很好,但在我的原始程序中,我计算了 30 个标量,dea_1 dea_2 ... dea_30
. 现在我想避免在bootstrap
命令中编写这 30 个标量中的每一个,为此我编写了一个循环,如下所示:
这有效,但每次给出每个标量的输出。但是,我正在寻找避免在bootstrap
命令中写入所有标量但仍同时提供所有输出的代码(即像以下命令的输出)
在这方面的任何帮助将不胜感激。