Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: MLE of std dev for normal PDF skewed wrt confidence intervals
Replies: 0

 Paul Posts: 517 Registered: 2/23/10
MLE of std dev for normal PDF skewed wrt confidence intervals
Posted: Nov 12, 2012 5:36 PM

I am using the code below to get familiar with Maximum Likelihood
Estimation. I am fitting to a normal distribution. Following the MLE
estimate, comparison is made with (i) mean() & std(); (ii) normfit();
and (iii) MLE estimate of the error of the estimates.

I'd like to get the feedback of more experienced MLE users. For
parameter 2 (sigma, or standard deviation), the estimate is 0.4684,
with 95% confidence intervals at 0.3311 and 1.0192. The estimate is
much closer to the lower end of the confidence interval. I understand
that that PDF for the estimate of sigma may be heavily skewed. Would
this be the explanation? The reason I ask is because a paper I am
studying uses the MLE estimate of the error on sigma, which leads to a
+/- delta_sigma, which basically pretends that the confidence
intervals are symmetric around the estimate. The above skewing of
estimated sigma relative to the confidence intervals means that I have
to be careful and ensure that this assumption wasn't carried through
to all the calculations that depend on confidence intervals.

Thanks.

Test code
---------
data=[
1.3088
3.8089
-0.1314
1.8902
0.8760
-0.5257
0.9971
0.2289
]';

Ndata=length(data);
disp(['data=' num2str(data)]);
disp(['Ndata=' num2str(Ndata)]);

disp(' ')

% MLE of normal distribution parameters
disp('Parameter_hat (''phat'' for mean, std dev) &')
disp('95% parameter confidence intervals ''pci'':')
[phat pci] = mle(data)

disp('Offsets, confidence interval bounds from estimate:')
disp( pci - [phat; phat] )

disp(' ')

% Compare with 'usual' estimations
disp('[ mean(data) & std(data,1) ]:')
disp([ mean(data) std(data,1) ])

disp(' ')

% Compare with 'normfit'
[mu,sigma,muci,sigmaci] = normfit(data)

disp(' ')

% Siegmund Brandt's 2nd derivative of log-likelihood wrt parameters
disp('From MLE approach:')
fprintf( 'std dev of Mu=%g\n', phat(2)/sqrt(Ndata) );
fprintf( 'std dev of StdDev=%g\n', phat(2)/sqrt(2*Ndata) );