问题标签 [mle]

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 回答
317 浏览

r - R Student-t(位置 0 规模 1)

因此,我已经阅读了有关使用 MLE 在 R 中拟合 student-t 的信息,但似乎总是位置和比例参数是最令人感兴趣的。我只想将学生-t(如维基百科所述)拟合到通常被认为像标准法线一样分布的数据,所以我可以假设平均值为 0,比例为 1。我该怎么做是 R?

0 投票
1 回答
258 浏览

r - 准分离在 R 二项式 GLM 中是否重要?

我正在学习准分离如何影响 R 二项式 GLM。我开始认为在某些情况下这并不重要。

在我的理解中,当某些因素水平的线性组合可以完全识别故障/非故障时,我们说数据具有准分离性。

因此,我在 R 中创建了一个具有准分离的人工数据集:

然后当 x1=1 和 x2=1 (obs 3) 时,数据总是不会失败。在这个数据中,我的协变量矩阵有三列:截距、x1 和 x2。

在我的理解中,准分离会导致无限价值的估计。所以 glm fit 应该失败。但是,以下 glm fit 不会失败:

结果是:

标准。即使使用准分离,错误似乎也很合理。谁能告诉我为什么准分离不影响 glm 拟合结果?

0 投票
3 回答
1515 浏览

python - 使用 Python 进行约束的 MLE

我正在使用 Python 进行 MLE 实现。我的对数似然函数有 5 个要估计的参数,其中两个具有必须介于 0 和 1 之间的约束。我可以使用 statsmodels 包中的 GenericLikelihoodModel 模块实现 MLE,但我不知道如何使用约束执行此操作。具体来说,我的负对数似然函数是

和 MLE 优化类是

主要是

我不知道如何修改我的代码以合并约束。我希望 alpha 和 sigma 介于 0 和 1 之间。

0 投票
0 回答
680 浏览

r - 用于查找 MLE 的 R 代码

我想找到以下分布和密度函数参数的最大似然估计(MLE):

对于 x>0、a、c>0、b>1 和 d <1。

我编写了以下 R 代码来查找数据集的 MLE:

正如我在一些论文中看到的,参数估计的结果应该如下:

我怎么解决这个问题?

0 投票
1 回答
229 浏览

r - 使用 optim 来最大化 r 中的可能性的错误

所以,我有这些功能:

用于解释 y 中的数据,

我希望使用 optim 来最大化可能性,所以我定义了一个似然函数:

我尝试使用 optim 来适应

但我收到一个错误:

我不确定为什么?我可以运行 nls 将 funk2(x,l,r) 拟合到 y

这意味着 funk2 正在工作。我想这是我设计的 LL 函数的问题,我无法弄清楚!请帮忙!

0 投票
1 回答
1051 浏览

machine-learning - 如何使用 MLE 训练 n-gram 模型?

我学习了很多关于使用 MLE 训练 n-gram 模型的文档,但是当我注意到所有的实现只是通过计算 n-gram 来计算条件概率时,我的问题是与 MLE 有什么关系?

0 投票
2 回答
3056 浏览

r - r 中三参数 Weibull 分布的最大似然估计

我想估计 3p Weibull 分布的尺度、形状和阈值参数。

到目前为止,我所做的如下:

参考这篇文章,Fitting a 3 parameter Weibull distribution in R

我已经使用了这些功能

“预先估计”我的 Weibull 参数,以便我可以将它们用作 MASS-Package 的“fitdistr”函数中参数“start”的初始值。

你可能会问我为什么要估计参数两次......原因是我需要估计的方差-协方差矩阵,它也是由 fitdistr 函数估计的。

例子:

这对于形状参数大于 1 的情况非常有效。不幸的是,我的方法应该处理形状参数可能小于 1 的情况。

对于小于 1 的形状参数,这是不可能的原因如下所述:http ://www.weibull.com/hotwire/issue148/hottopics148.htm

在案例 1 中,所有三个参数都是未知的,如下所述:

“定义 ti 的最小失效时间为 tmin。那么当 γ → tmin 时,ln(tmin - γ) → -∞。如果 β 小于 1,则 (β - 1)ln(tmin - γ) 变为 + ∞ . 对于 β、η 和 γ 的给定解,我们总是可以找到另一组解(例如,通过使 γ 更接近 tmin),这将给出更大的似然值。因此,不存在 β 的 MLE 解, η 和 γ。"

这很有意义。出于这个原因,我想按照他们在此页面上描述的方式进行操作。

“在 Weibull++ 中,使用基于梯度的算法来找到 β、η 和 γ 的 MLE 解。γ 范围的上限任意设置为 tmin 的 0.99。根据数据集,局部最优或 0.99tmin 作为 γ 的 MLE 解返回。"

我想为 gamma 设置一个可行的间隔(在我的代码中称为“thres”),以便解决方案介于 (0, .99 * tmin) 之间。

有谁知道如何解决这个问题?

在函数 fitdistr 中似乎没有机会做一个受约束的 MLE,约束一个参数。

另一种方法是通过分数向量的外积来估计渐近方差。得分向量可以取自上述使用的函数 thetahat.weibul(x)。但是手动计算外积(没有函数)似乎非常耗时,并没有解决约束 ML 估计的问题。

最好的问候,蒂姆

0 投票
0 回答
687 浏览

r - 右删失数据的最大似然估计三参数 Weibull

我正在尝试使用 ML 估计删失数据的三参数 Weibull 分布的参数。

我已经通过使用flexsurv我定义了“自己的”密度函数的包来解决这个问题。

我还按照函数文档中给出的说明flexsurv::flexsurvreg构建了包含所有必需信息的列表,以使用客户密度函数执行 MLE。

在下面你可以看到我到目前为止所做的。

变量 y 应该代表一个单元的状态,其中 1 是失败的,0 是在审查之前未失败的单元。

形状和比例的初始值取自fitdistrplus包中定义的矩。

对于阈值参数,必须有一个约束,因为阈值必须确实小于数据的最小值。因此,阈值的约束在其最大值 .99 * t_min 将是令人满意的(这是我直到现在还没有实现的东西)。

上述 MLE 的输出如下:

即使有审查,估计的参数也不好。我已经用其他随机生成的数据做了几次这个过程......估计总是离“真相”很远。

因此,我需要改进我的代码或另一种可能性来估计具有 MLE 的三参数 Weibull 的参数。

0 投票
1 回答
1676 浏览

r - R optim(){fExtremes} 得到 0 hessian 矩阵

我正在使用 R {fExtremes} 为我的数据(向量)找到 GEV 分布的最佳参数。但收到以下错误消息

solve.default(fit$hessian) 中的错误:Lapack 例程 dgesv:系统完全是奇异的:U[1,1] = 0

我回溯到 fit$hessian,发现我的 hessian 矩阵是一个奇异矩阵,所有元素都是 0。gevFit()的源代码 ( https://github.com/cran/fExtremes/blob/master/R/GevFit.R ) 显示 fit$hessian 是由 optim() 计算的。输出参数与初始参数的值完全相同。我想知道导致此问题的数据可能是什么问题?我在这里复制了我的代码

我在谷歌文档上更新了我的数据集: https ://docs.google.com/spreadsheets/d/1IRRpjmdrrJPhNmfiLism_P0efV_Ot4HlEsa6kwMnljc/edit?usp=sharing

0 投票
1 回答
1159 浏览

r - 使用 R 的 SARIMAX 模型的数值方法

我的朋友目前正在研究使用最大似然估计 (MLE) 方法估计时间序列模型 SARIMAX(季节性 ARIMA 外生)参数的作业。他使用的数据是2000-2012年的月降雨量,以印度洋偶极子(IOD)指数为外生变量。这是数据:

在此过程中,他使用R它是因为它具有用于分析 SARIMAX 模型的软件包。到目前为止,他一直在使用arimax()具有季节性 ARIMA 订单 (1,0,1) 的 TSA 包的功能做得很好。

所以在这里我附上他的语法:

结果如下:

虽然他声称语法是有效的,但他的讲师期望更多。从理论上讲,因为他使用了 MLE,他已经证明了对数似然函数的一阶导数给出了隐式解。这意味着估计过程无法用 MLE 分析完成,因此我们需要继续使用数值方法来完成它。

所以这是我朋友的讲师的期望。他希望他至少可以说服他确实需要以数值方式进行估计,如果是这样,他也许可以向他展示 R 使用的方法(数值方法,例如 Newton-Raphson、BFGS、 BHHH 等)。

但这里的问题是该arimax()函数没有让我们选择数值方法来选择是否需要以数值方式执行估计,如下所示:

以上'method'为估计方法,可用方法为ML, CSS,CSS-ML。很明显,上面的 sintax 不包含数值方法,这就是问题所在。

那么有没有可能知道R使用什么数值方法的方法?或者我的朋友只是构建自己的程序而不依赖于arimax()函数?

如果我的代码中有任何错误,请告诉我。我也为任何语法或词汇错误道歉。英语不是我的母语。