Matlab-具有指数概率密度函数的最大似然估计量的符号演算

时间:2018-11-08 00:59:43

标签: matlab symbolic-math log-likelihood

% Goal : find the right expression of estimator with exponential pdf
syms PDF k n Ai lambda fLikelihood negLog eqNegLog sol; 
n = 10; 
Ai = sym('t', [1 n]) 
%for i=1:n

我试图找到最大似然法给出的估计量的符号表达式:

为此,我首先从指数pdf的定义开始:

PDF(t) = 1/lambda*exp(-t/lambda)

之后,构造似然函数:

L=\Pi_{i=1}^{n} PDF(t_i)

其中“ \ Pi”表示在索引i上迭代的符号乘积。

然后,一旦明确定义了这种可能性,就可以使用以下关系:

\partial log(L) / \partial lambda = 0

这导致estimator的表达:

\hat{\lambda} = 1/n * \sum_{i=1}^{n} t_i

,实际上是t_i measures的平均值。

现在,我想使用Symbolic Matlab函数进行同样的演算:

我尝试过:

PDF(1:n) = lambda*exp(-Ai(1:n)/lambda)
% First solution
fLikelihood=symprod(PDF(k),k,1,n);
% Other try
%fLikelihood=symprod(lambda*exp(-Ai(k)/lambda),k,1,n);
% Other try
%fLikelihood=product(PDF(k),k,1,n);

negLog = log(fLikelihood)
eqNegLog = diff(negLog,lambda)
% Final estimator for lambda
sol = solve(eqNegLog == 0,lambda)

但是执行时出现以下错误:

  Error using sym/subsindex (line 769)
Invalid indexing or function definition. When defining a function, ensure that the arguments are symbolic variables and the body of the function is a SYM expression. When
indexing, the input must be numeric, logical, or ':'.

Error in sym/subsref (line 814)
            R_tilde = builtin('subsref',L_tilde,Idx);

Error in exp_symbolic (line 9)
fLikelihood=symprod(PDF(k),k,1,n);

我不知道该如何解决?

任何人都可以看到出什么问题了吗?问候

0 个答案:

没有答案