问题标签 [log-likelihood]

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 投票
1 回答
690 浏览

r - 手动泊松回归

我想手动进行泊松回归并定义一个可用于估计任意数量的系数的函数。我有两个问题:

第一:我怎样才能得到一个 beta 矩阵,而不必明确地写出每个 beta。我想以这种方式编写 lambda lambda = exp(t(x)%*%beta) 。我以为我可以做一个 for 循环并为 xa beta 中的每一列创建并将它们 ab 求和到一个矩阵中,但我不知道如何编码。

第二:由于我不知道如何为 i beta 编写代码,因此我尝试编写用于估计 6 个 beta 的函数。我得到了数据集 warpbreaks 的结果,但系数与 glm 中的不同,为什么?我也不知道我必须将哪些值粘贴到 par,也不知道如果我不将 x 和 y 粘贴到函数中,为什么 optim 不起作用。

希望你能帮忙!

0 投票
1 回答
512 浏览

r - 来自自定义似然函数的样本

我在一个相当复杂的模型中使用了以下似然函数(实际上是对数刻度):

在这个函数中,sd 是预先确定的,L 和 R 是“观察值”(非常类似于均匀分布的端点),因此给出了所有 3 个。如果模型估计 x(派生参数)在 LR 范围之间,则上述函数提供了很大的似然性(1),在边界附近(其锐度取决于 sd)平滑似然下降(在 0 和 1 之间) , 如果外面太多,则为 0。

这个函数可以很好地获得 x 的估计值,但现在我想做相反的事情:从上面的函数中绘制一个随机 x。如果我多次这样做,我会生成一个直方图,它遵循上面绘制的曲线的形状。

最终目标是在 C++ 中做到这一点,但我认为如果我能先弄清楚如何在 R 中做到这一点,对我来说会更容易。

网上有一些有用的信息可以帮助我开始http://matlabtricks.com/post-44/generate-random-numbers-with-a-given-distribution,https://stats.stackexchange.com/questions/88697/ sample-from-a-custom-continuous-distribution-in-r)但我仍然不完全确定如何去做以及如何编码。

我想(完全不确定!)步骤是:

  1. 将似然函数转换为概率分布
  2. 计算累积分布函数
  3. 逆变换采样

这是正确的,如果是这样,我该如何编码?谢谢你。

0 投票
1 回答
758 浏览

r - R中用于假设检验的似然比检验

我正在尝试计算 R 中的对数似然比检验,但遇到了一些困难。

出于某种原因,我不断得到一个负对数似然值,这是不可能的,我不知道原因。

是我正在使用的数据。

这是到目前为止的代码:

我试图检验均值不等于 (1,1,1) 的零假设我将协方差矩阵乘以 (n4-1)/n4 的原因是我需要将协方差除以 n,而不是 n -1,cov 函数将矩阵除以 n-1。

我不确定我得到负值的原因,但如果有人可以给我一些建议,我将不胜感激。

感谢您阅读

0 投票
1 回答
1380 浏览

r - R:GLM 中饱和模型的对数似然

LL =对数似然

残余偏差= 2(LL(饱和模型) - LL(提议模型) )

但是,当我使用glm函数时,似乎

例如,

LL(饱和模型)在哪里,我怎样才能在 R 中获得它的价值?

谢谢你。

0 投票
1 回答
730 浏览

r - 用integrate()计算R中高斯模型的边际似然

我试图在 R 中计算高斯模型的边际似然。更准确地说,我试图将 mu 上的高斯先验和 sigma 上的高斯先验的似然性与一些观察值 yi 结合起来。

换句话说,我正在尝试计算:

在此处输入图像描述

我尝试使用以下函数在 R 中编写此代码(在此处遵循类似的 SA 问题:Quadrature toapproximate a changed beta distribution in R):

使用此函数,我可以计算上述模型对一组观察值的边际似然:

但是,我通过此过程获得的结果与我通过网格近似或使用其他软件包/软件获得的结果完全不同。

那么我的问题是:是否有可能使用集成进行这种双重集成?如果是,你会怎么做?

0 投票
0 回答
511 浏览

optimization - 带有 optim 或 numderiv 包的 Hessian 矩阵?

我对泊松分布的对数似然函数进行最大似然估计。在估计之后,我想计算系数的标准误差。为此,我需要粗麻布矩阵。现在我不知道应该使用哪个函数从 numderiv 包中获取 hessian 矩阵、optim() 或 hessian()。

这两个功能都给了我不同的解决方案。如果我尝试从我从 optim 得到的 hessian 计算标准错误,我会在结果中得到一个 NaN 条目。这两个函数用于计算 hessian 矩阵有什么区别?

0 投票
1 回答
436 浏览

r - 给定估计参数的对数似然计算

一般来说:我想根据数据O的估计模型参数计算数据N的(对数)似然性。

更具体地说,我想知道我的ll_given_modPars下面的函数是否存在于处理数据建模(、等)的可能 R 包之一中lme4glmm如这个抽象示例(未运行)所示:

为简单起见,上面的虚构示例是关于线性混合模型的,但我最终希望在处理泊松族或直接负二项式(对于lme4:glmer(..., family="poisson")glmer.nb)的广义线性混合模型中执行此操作。

据我所见,大多数软件包都处理参数估计(很好,我需要那个),然后比较相同数据上的模型与固定和随机效应的不同组合,anova或者使用某种程度的东西,这不是我想做的。

我想要不同数据上相同参数的对数似然。

主要尝试:

  1. 在没有找到似乎正在做的函数之后,我想到了“简单地”调整lme4代码以满足我的目的:它计算给定数据的参数的对数似然性,所以我认为我可以使用相同的框架,但不能让它针对不同的框架进行优化参数,但隔离似然计算函数,只给它参数和数据。不幸的是,代码略高于我目前的技能https://github.com/lme4/lme4/blob/master/R/nbinom.R(我对他们如何使用他们优化的对象有点迷茫)。

  2. 我想自己进行似然计算,从线性混合模型开始,然后逐步发展到更多涉及的模型。但是已经有了这个例子,我很难遵循数学,即使使用指定的公式,获得的对数似然仍然不同(我不知道为什么,请参见附录中的代码),我担心它会花费在我能够为更多涉及的模型(例如泊松或负二项式)做这件事之前,我太久了

在这一点上,我不确定哪种途径是最好的追求,并希望您能提供任何意见。

附录:尝试根据lmer(来自 R 包 lme4)如何计算对数似然性来计算对数似然(或找到一个封闭形式的近似值)?. lmer(从lme4)给出 -17.8 的对数似然,我得到 -45.56

编辑:评论中提供了一个有用的链接(https://stats.stackexchange.com/questions/271903/understand-marginal-likelihood-of-mixed-effects-models)。从上面转换我的示例,我可以复制对数似然

0 投票
0 回答
457 浏览

r - 用 optim 优化 R 中的对数似然函数

我有一个对数似然函数我想优化和理解我可以optim()在 R 中这样做。我的函数需要的参数是概率向量(长度N)以及大小对称矩阵N*N(其中只有 N-choose由于对称性,-2(现在 N=5)值很重要)。

当我尝试使用时,optim()我收到以下错误:

optim(params, L) 中的错误:(列表)对象不能被强制输入“double”

为什么我会收到这个错误,我怎样才能使它工作?(如果在 Matlab 或 Python 中有更好的解决方案,也欢迎对这些语言的函数提供参考或建议)这里是代码:

简而言之,设置是 y 是购买向量,但在这里我们要获取购买数据并找到潜在的概率。

非常感谢!

0 投票
2 回答
1531 浏览

python-3.x - sklearn 的 log_loss 给出了 nan,而 tensorflow.losses.log_loss 有效

我有一个二元分类问题。我正在使用来自tensorflow.losses.log_loss.

要检查,我使用sklearn.metrics.log_loss. 大多数时候,这两个函数给出相同的结果(只有 dtype 不同)。在某些情况下,sklearn函数在返回正确值的NaN同时返回。tf.losses.log_loss

数据在这里: https ://pastebin.com/BvDgDnVT

代码:

好像发生了一些log(0)事情,但是为什么tensorflow没有这个问题呢?

0 投票
1 回答
12333 浏览

python - 在 Python 中计算分布的对数似然

计算拟合数据的任何分布的对数似然度的简单方法是什么?