Я пытаюсь найти оценку максимального правдоподобия журнала для распределения Гаусса, чтобы оценить параметры. Я знаю, что в Matlab есть встроенная функция, которая делает это, подбирая распределение Гаусса, но мне нужно сделать это с помощью logMLE, чтобы позже расширить этот метод для других распределений. Итак, вот функция логарифма правдоподобия для гауссовского расстояния: Gaussian Log MLE
И я использовал этот код для оценки параметров набора переменных (r) с помощью fminsearch. но мой поиск не охватывает, и я не совсем понимаю, в чем проблема:
clear
clc
close all
%make random numbers with gaussian dist
r=[2.39587291079469
1.57478022109723
-0.442284350603745
4.39661178526569
7.94034385633171
7.52208574723178
5.80673144943155
-3.11338531920164
6.64267230284774
-2.02996003947964];
% mu=2 sigma=3
%introduce f
f=@(x,r)-(sum((-0.5.*log(2*3.14.*(x(2))))-(((r-(x(2))).^2)./(2.*(x(1))))))
fun = @(x)f(x,r);
% starting point
x0 = [0,0];
[y,fval,exitflag,output] = fminsearch(fun,x0)
f =
@(x,r)-(sum((-0.5.*log(2*3.14.*(x(2))))-(((r-(x(2))).^2)./(2.*(x(1))))))
Exiting: Maximum number of function evaluations has been exceeded
- increase MaxFunEvals option.
Current function value: 477814.233176
y = 1×2
1.0e+-3 *
0.2501 -0.0000
fval = 4.7781e+05 + 1.5708e+01i
exitflag = 0
output =
iterations: 183
funcCount: 400
algorithm: 'Nelder-Mead simplex direct search'
message: 'Exiting: Maximum number of function evaluations has been exceeded↵ - increase MaxFunEvals option.↵ Current function value: 477814.233176 ↵'