问题标签 [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.
r - 调整 mle2 以使用未命名的参数向量和附加算法
晚上好,
我有一个关于mle2()
语法的快速问题。我有一个optim()
优化以下形式的对数似然函数的例程(并且运行了数千次,所以我不想改变太多):
其中p是 1-8 个参数的向量,X是输入matrix
,y是响应/自变量向量,ModelFunction是指定模型形状的函数,CostFunction指定模型似然在期间应包含的成本/损失函数优化。该代码与以下代码一起使用optim()
或maxLik
[maxLik] 可以正常工作:
但我不能让它轻松地与mle()
or一起工作mle2()
。我只想在 mle2 中运行它以将可能性轮廓与我自己的轮廓函数进行比较。在我深入研究mle2()
代码之前,有谁知道是我的未命名参数向量还是导致函数崩溃的附加参数?我以为是前者,但我很困惑,因为它给我的错误是:
并且该论点已明确指定。我真的无法在小插图中找到任何带有附加参数的示例。
PS:我本来只是对这篇文章发表评论,因为它显然是相关的: 从命名列表创建函数参数(使用 stats4::mle 的应用程序) 但我没有足够的评论点。
更新:根据 Ben 的小插图,mle2() 有选项vecpar
和选项应该允许指定“与 Optim 兼容”。parnames
我简化了目标函数(对数似然)以包含硬编码损失和模型示例。结果如下所示:
但是,这仍然不起作用。我很难对其进行故障排除,因为我不知道如何在调用后引用目标函数中的参数mle2
。如果我在print(p[2])
里面包含调试命令ObjFun2
,它会返回NULL
。所以参数不再是向量形式。然而print(A)
强制函数粉碎。同样,我在网上找不到任何可行的例子,所以也许我错过了一些非常简单的东西。
我不能使用parameters
上面链接中 Ben 建议的参数,因为我的模型不是线性的。
我试图查看内部,mle2()
但在调用calc_mle2_function()
.
r - R中的digamma函数的根
我正在研究最大似然估计器,其中一个参数是使用 digamma 函数估计的。我正在尝试使用 uniroot 来求解方程,但无法这样做。这是我的代码:
这会产生以下错误:
根据曲线,第一个错误是有道理的,但第二个让我卡住了。我完全有可能误解了如何找到 digamma 函数的根,或者 R 中有一个可以提供帮助的数值包(也许是 rootsolve?)。不知道我在这里缺少什么 - 任何提示将不胜感激。谢谢!
r - R中的MLE负对数似然截断正常
我的代码有点卡住了,如果有人可以帮助我,我将不胜感激!
下面的代码基本上是我编写的一个函数,它使您能够根据具有参数 μ、σ2 和 τ 的截断正态分布的 iid 样本 x1、...、xn 计算 μ 和 σ2 的最大似然估计值,其中τ 的值是已知的。
这是我到目前为止的代码。
我现在需要编写另一个函数,比如 trnorm.MLE(),它将使用上面的函数来计算 μ 和 σ2 的最大似然估计,给定一个观测向量 x1、...、xn 和 τ 值。
我决定我的函数应该有以下参数:
- x:观察向量,
- tau :阈值,
- theta0:向量,元素为 theta0[1] 初始猜测 mu 和 theta0[2] 初始猜测 sigmasq。
理想情况下,trnorm.MLE() 函数应该返回一个长度为 2 的向量,其中第一个分量是 μ 的 MLE,第二个分量是 σ2 的 MLE。
作为猜测,我写了这个:
我知道这远非正确,但我无法正确表达!我收到各种错误
nlm 中的错误(tnorm.negll,theta0,xbar,SS,n,tau,hessian = TRUE):“nlm”优化器中的函数值无效
或者
if (theta[2] >= 0) { 中的错误:需要 TRUE/FALSE 的缺失值
谢谢您阅读此篇。希望有人可以指导我完成这个?
此致。
编辑:更改了 tnorm.negll 返回结果的方式
r - R中指数分布的MLE
如果我们从指数分布生成一个随机向量:
现在我们要使用之前生成的向量exp.seq
来重新估计 lambda
所以我们定义对数似然函数:
现在optim
或者nlm
我得到了非常不同的 lambda 值:
我对正态分布使用了相同的技术,并且效果很好。那么这里的错误在哪里呢?
我使用我自己的指数分布定义,因为我稍后需要更改它。
r - R dlmMLE 多元模型估计
我正在尝试使用dlmMLE
R 中的函数作为dlm
库的一部分来估计多元状态空间模型,但不断收到以下错误。
我使用的模型规格是:
我在 R 中指定了模型,如下所示。
当我运行代码时,它会执行到dlmMLE
调用函数的最后一行并返回我提到的错误。
我一直在努力解决这个问题一段时间,但似乎无法让模型工作。有人可以提供一些帮助吗?将不胜感激。
谢谢,斯特凡
nlp - 理解 nlp 中的最大似然
我试图了解 NLP 中的最大可能性是什么。我在看这个演示文稿:
http://www.phontron.com/slides/nlp-programming-en-01-unigramlm.pdf(第 9 页)
我在 Manning 和 Schütze 的《统计语言处理基础》中看到了相同的方程式。
现在,我理解 MLE 的方式是这样的:
我知道实验的结果,我知道潜在的分布,但我不知道单个事件的概率。MLE 通过查找在我的观察中最有可能的概率值来帮助我找到概率(或更一般的未知参数)。
所以 MLE 告诉我,当任何单个事件的概率为 x 时,观察某个事件的概率最高。
现在,如果这是真的,为什么那张幻灯片上没有微积分?为什么在这种情况下 MLE 是用一个简单的分数计算的?我不明白这与 MLE 有什么关系?
我想,MLE 是一个最大化问题......?
r - 使用最大似然在 R 中拟合 Logit/Probit 回归模型
这里有一个简单的问题:
我想知道 R 中是否有任何函数可以使用最大似然法拟合logit/probit回归模型?
目前,我正在使用由函数给出的 OLS 方法glm
(我希望它确实使用 OLS 方法)......我在某处读到使用 OLS 方法的概率/logit 模型可能存在附带参数问题。所以我想试试 MLE 方法。
提前谢谢你的帮助!
python - Python中多元正态分布的最大似然估计
我正在尝试使用 MLE 拟合多元正态分布的参数。
拟合单变量正态分布很好:
但是遇到了一些多变量问题(将数组分配给变量时出错):
似乎优化算法不适用于任意数组/矩阵。我必须将平均数组和协方差矩阵解压缩到一个平面数组中以最小化。
显然,当维度增加或对于一些更复杂的分布而没有封闭形式的解决方案时,这将很快失控。在这里做什么最好?谢谢你。