问题标签 [robust]

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 投票
0 回答
269 浏览

c++ - 便携式 c++ boost::iterprocess::mutex,又一次尝试

我一直在寻找用于多处理同步的便携式强大解决方案。接触过这些东西的人都知道,好的解决方案是 boost::iterprocess 命名的同步对象。但是....当您的进程已named_mutex 锁定并且您的进程死亡(进程死亡时有许多正常情况,而不仅仅是错误或其他情况。)在这种情况下,named_mutex 将保持锁定状态。Ion Gaztanaga (www.boost.org/doc/libs/1_55_0/boost/interprocess/detail/robust_emulation.hpp)曾尝试在 boost 代码中制作robust_mutex

他很清楚如何解决放弃状态检查。游戏中的每个进程都有自己的锁定文件,当它处于活动状态时,它会锁定该文件。然后Ion的robust_mutex检查,如果锁定尝试失败,当前所有者进程锁定文件,并且可以确定当前互斥所有者是否活着。如果是死亡互斥锁,可以采取。文件锁的技巧是个好主意,因为如果进程死亡,操作系统会解锁文件锁,这似乎很容易移植。此解决方案包装基本 spin_mutex 并在内部字段中保存当前所有者进程 ID。我进行了密集测试,发现了两个大问题。

  1. 文件锁处理和实现方式会减慢互斥锁的速度,因为它更快,只需使用文件锁。

  2. 将有效的锁门变量和所有者进程 id 解耦会导致互斥锁可能被不同进程窃取的情况。

我的问题来了:我正在为这两个问题提出解决方案,我很想对此有一些专业的意见。

  1. 不要为每个现有进程使用单独的锁定文件,而是为所有最终进程 ID 使用一个文件(应该有足够的 4MB),并且每个进程锁定一个字节。该字节的位置由进程 ID 本身决定。(这不是我的想法,但我在Howard Chu 和他出色的 LMDB的代码中找到了它)

  2. 不要按原样包装 spin_mutex,而是重写它的代码,使其用作锁门当前所有者进程 id 而不是 0/1,因此锁定和解锁可以在一个原子 CAS 操作中发生。

我尝试实现它并在 Windows 上进行了测试。我使用原始的 boost 代码并在必要时调用 boost。这是代码。它取自我们的项目树,所以如果你想测试它,你可能必须调整一些包含。这是提议,所以请不要因为代码风格或其他原因责怪我。如果idea和mode好,我会继续完善。如果不是,我将使用其他东西,但我找不到其他东西。

还有 recursive_mutex 和 named_mutex 的版本。然后有一种修复建议,因为如果一个进程获得了所有权先前放弃的互斥锁,则很有可能必须进行某种完整性检查。

我想讨论最终的改进

先感谢您

拉迪斯拉夫。

0 投票
1 回答
1341 浏览

c++ - Mac OS X 中是否有 PTHREAD_MUTEX_ROBUST 等价物?

我在共享内存上使用pthread_mutex_twithPTHREAD_PROCESS_SHARED在不同进程之间进行同步。

如果进程退出但互斥锁处于锁定状态,则互斥锁可能会死锁。POSIX 标准中有一个PTHREAD_MUTEX_ROBUST。但似乎 Mac OS X 不支持PTHREAD_MUTEX_ROBUST.

Mac OS X 上是否有某种mutex可以在共享内存上使用的东西,用于同步跨进程,并在进程死亡而没有解锁的情况下保持稳健?

0 投票
1 回答
1491 浏览

python - Robust nonlinear regression using PyMC(2)

This question is similar to Fit a non-linear function to data/observations with pyMCMC/pyMC, in that I'm trying to do nonlinear regression using PyMC.

However, I was wondering if anyone knew how to make my observed variable follow a non-normal distribution (i.e., T distribution) using PyMC. I know they include T distributions, but I wasn't sure how to include these as my observed variable.

Here's a quick demonstration using some faked-up data of where I'm running into issues: I'd like to use an output distribution that protects against some of the clearly outlier data points.

non-robust fit :(

Thanks!!

0 投票
1 回答
597 浏览

python - Python statsmodels 返回值丢失

我正在尝试在 xy 数据的简单测试集上使用来自 statsmodels 的稳健线性模型。但是,作为 model.params 的返回值,我只得到一个值。如何获得拟合的斜率和截距?最小的例子(我试图从拟合中排除异常值,因此 rlm):

最后一行只返回array([2.])。我用同一个包中的 ols 尝试了同样的事情,这确实给了我拦截和斜率作为回报。

0 投票
0 回答
105 浏览

forecasting - 如何使用 arima.rob

有人使用 Eric Zivot 和 Jiahui Wang 在 {使用 S-PLUS 建模金融时间序列} 中描述的 arima.rob() 函数吗?我有一个问题:我使用了一个异常的网络流量数据集,我尝试通过稳健的 ARIMA 方法(Arima.rob() 函数)预测数据集的最后一部分。我将此模型与 arima.mle 进行了比较S-PLUS。但没想到,arima.rob 的预测并没有比这更好。我不确定我的代码是否正确,可能错误的原因是我的代码。如果我不恰当地使用了 Arima.rob,请帮助我?

我的经典 arima 代码:

`

0 投票
0 回答
817 浏览

matlab - 如何将边界(半)椭圆体拟合到一组 3D 数据点?

我有一个 3D 点数据集,它们排列成类似于(半)椭圆形的集群。当我尝试标准椭球拟合时,例如在 MATLAB 函数http://www.mathworks.com/matlabcentral/fileexchange/24693-ellipsoid-fit中实现,我得到虚半径,无论我是否将拟合应用于其中的所有点椭圆体体积或仅指向位于其凸包上的点。

我想知道星团形状更像是半椭球体而不是像一个完整的椭球体这一事实是否会导致这些不稳定性?有没有更强大的方法可以解决我的问题?

更新:

这是一个此类 3D 点集群的示例。蓝色圆圈表示位于集群凸包上的点。

一个集群的示例,蓝色圆圈表示位于凸包上的点。

凸包情况的最小工作示例如下:

0 投票
1 回答
776 浏览

r - R:lts回归:$运算符对原子向量无效

我正在尝试使用 LTS 回归进行变量选择,但遇到了这个错误。

总结错误(ltsreg(y~x1+x2+x3+x4+x5))$scale: $ 操作符对原子向量无效

有人可以帮我解决这个错误吗?

0 投票
1 回答
120 浏览

image - 为图像嵌入不可见的鲁棒水印的算法

我正在做一个关于图像安全的隐形强大水印的项目。我必须开发算法来完成以下任务。

构建无法从图像中完全删除的水印。我还必须想出一个提供所有权真实性的算法。

哪些算法可用于完成这些任务并将不可见的水印嵌入图像?如果您可以在这方面建议任何示例/教程或有用的网站,将会更有帮助。

0 投票
1 回答
345 浏览

r - R 的三明治包为线性模型中的稳健标准误差产生奇怪的结果

我试图在 R 中找到异方差稳健的标准错误,我发现的大多数解决方案都是使用coeftestandsandwich包。然而,当我使用这些软件包时,它们似乎产生了奇怪的结果(它们太重要了)我的教授和我都同意结果看起来不正确。有人可以告诉我我的错误在哪里吗?我使用了正确的包吗?包里面有bug吗?我应该改用什么?或者你能在 STATA 中重现相同的结果吗?

(数据是 2010 年到 2014 年的 CPS 数据,3 月份的样本。我创建了一个 MySQL 数据库来保存数据,并正在使用该survey包来帮助分析它。)

先感谢您。(我已经对代码进行了一些删节以使其更易于阅读;如果您需要查看更多内容,请告诉我。)

0 投票
1 回答
2434 浏览

r - 无法计算稳健标准误差 (vcovHC):多重共线性和 NaN 误差

我有以下数据集:

我想运行以下线性模型并使用sandwich包计算稳健的标准误差。

线性模型的输出很好,但不计算稳健标准误差:NaN为每个标准误差返回。

我的猜测是,这NaN是由于变量treatshare几乎完全共线(只有一个观察结果,其中treat=1share!=0)。问题是我必须使用这些变量;我无法替换它们。

有人能想到这个问题的解决方法/解决方案吗?