文档

负loglikelihood函数

负面的loglikelihood函数用于支持的统计和机器学习工具箱™分布都金宝app以喜欢,如Exply。每个函数代表一个分布的参数家族。输入参数是指定分布家族的特定成员的参数值列表,然后是一系列数据。函数返回给定数据的参数的负loglikelione。

要查找最大似然估计(MLE),您可以使用负面的Loglikelihood函数作为优化问题的目标函数,并通过使用MATLAB来解决它®功能fminsearch或在优化工具箱™和全局优化工具箱。这些功能使您可以选择搜索算法并对算法执行进行低级控制。相比之下,mle功能和以合身, 如NORMFIT一个ndGamfit,使用预设算法的选项仅限于该算法Statset功能。

可能性是有条件的概率密度。您可以使用函数指定分布的参数族F((X,,,,一个), 在哪里X一个nd一个represent a random variable and parameters, respectively. When一个已固定,该函数是概率密度函数(PDF)X,,,,F((X|一个)。什么时候X已修复,功能是可能性参数一个,,,,F((一个|X)。在独立的随机样本数据集上参数的关节可能性X

l (( 一个 = X X F (( 一个 | X

给出X,mles最大化l((一个一个。Numerical algorithms find MLEs that (equivalently) maximize the loglikelihood function, log(l((一个))。The logarithm transforms the product of potentially small likelihoods into a sum of logs, which is easier to distinguish from 0 in computation. For convenience, Statistics and Machine Learning Toolbox negative loglikelihood functions return the消极的此总和是因为优化算法通常搜索最小值而不是最大值。

使用负loglikelihood函数找到MLE

此示例显示了如何通过使用赌注一个ndfminsearch功能s.

使用Gamrnd功能以从特定的Gamma Distribution

RNG默认;%可再现性一个=[1,2]; X = gamrnd(a(1),a(2),1e3,1);

可视化附近的可能性表面一个给出X通过使用赌注功能。

网格= 50;delta = 0.5;a1 = linspace(a(1)-delta,a(1)+delta,网格);a2 = linspace(a(2)-delta,a(2)+delta,网格);logl = zeros(mesh);%preallocate内存为了i = 1:网眼为了j = 1:网格logl(i,j)= gamlike([a1(i),a2(j)],x);结尾结尾[a1,a2] = meshgrid(a1,a2);Surfc(A1,A2,Logl)

寻找可能的最低表面by using thefminsearch功能。

ll = @(u)gamlike([u(1),u(2)],x);给定x的可能性%mles = fminsearch(LL,[1,2])
mles =1×20.9980 2.0172

相比MLE根据返回的估计值Gamfit功能。

ahat = gamfit(x)
ahat =1×20.9980 2.0172

每个参数之间的差异MLE一个nd一顶帽子小于1E-4

将MLE添加到表面图中。

抓住onPlot3(MLE(1),MLE(2),LL(MLE),,,'ro',,,,'MarkerSize',,,,5,“ MarkerfaceColor”,,,,'r')查看([-60 40])%旋转以显示最低

也可以看看

|||

Related Topics