I'm trying to figure out how to compute/recover the standard error of the
estimates for a simple linear regression using MLE and simulated. Here is
the code I'm using to generate data, compute the likelihood function, and
optimize the function.
using Optim
using Distributions
xmat = [ones(10000,1) rand(Normal(2,1),10000)]; #creating matrix of Independent
varibles
u = rand(Normal(0,1),10000); #create vector of normally distributed errors mean
0 std 1
ymat = xmat*[3,2] + u; #generating dependent variables.
start_val = [1.0,1.0,1.0]; #Starting values for MLE estimation. Need to be in
float format.
#Beginning of Likelihood function
function ll(param);
b1=param[1];
b2=param[2];
sig=param[3];
ee = ymat-xmat*[b1,b2];
loglik = -0.5*log(2*pi*sig^2)-0.5*(ee.^2)/sig^2;
-sum(loglik);
end;
optimize(ll,start_val)
I'm more familiar with Gauss and MATLAB as I just started playing with
Julia yesterday. To compute the standard errors in the identical situation
in MATLAB, I can directly compute the square root of the diagonal of the
inverse of the numerical hessian because Matlab will return the hessian.
mlese=sqrt(diag(inv(hessian))); #MATLAB Code for computing standard errors
Is there a way to do this in Julia? I'm having trouble figuring this out.
Thanks!