clc; clear all; close all; %y = a1 + a2*x1 + a3*x2 + e a1 = 2.0; a2 = -3.0; a3 = 5.0; sigma2 = 4; nobs = 100; x1 = 1+4*rand(nobs,1); x2 = 2*rand(nobs,1); e = randn(nobs,1)*sqrt(sigma2); y = a1+a2*x1+a3*x2+e; X = [ones(size(y)) x1 x2]; gamma0 = [0;0;0;2]; [x,fval,exitflag,output,grad,hessian]=fminunc(@(x)log_like_norm(x,y,X),gamma0); %v ramci treti promenne funkce fminunc, lze nastavovat ruzne %moznosti minimalizacniho algoritmu, napr. pocet iteraci. Pokud v danem poctu iteraci %minimum funkce nenalezne, je mozne dosazeny vysledekvlozit jako pocatecni podmnku pro dalsi beh %a takto dospet k hledanemu optimu est_a = x; est_s2 = inv(hessian); disp('Odhad parametru beta - ML') disp(est_a(1:end-1)) disp('Odhad rozptylu rezidui') disp(est_a(end)) %Kovariancni matice parametru disp('Kovariancni matice parametru') disp(est_s2(1:end-1,1:end-1)) %odhad pomoci OLS result = ols(y,X); disp('Odhad parametru beta - OLS') disp(result.beta) disp('Odhad rozptylu rezidui') disp(result.sige) disp('Kovariancni matice parametru') disp(result.sige*inv(X'*X))