MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by Locks on 6 May 2013

Hi,

I have a time series and I would like to plot the pdf of an empirical and the lognormal distribution with the same mean and std deviation.

The code I am using is the following:

%SPX SPX=dataSet(:,2); [n,x] = hist(SPX,50); plot(x,n/10000/diff(x(1:2))) hold on m=mean(SPX) s=std(SPX) plot(x,normpdf(x,m,s),'r') hold on mu = m; sd = s; ix = -5*sd:1e-3:5*sd; iy = pdf('lognormal', ix, mu, sd); plot(ix,iy);

plotting the pdf of the empirical distribution seems to work, but I do not understand what the smaller figures, which looks more than a mountain than as a pdf, is showing me In addition, plotting a lognormal distribution with the same mean and std deviaton does no work. Does anybody have an idea what I am missing?

Answer by Tom Lane on 7 May 2013

Accepted answer

I suggest you plot the histogram this way:

n = n/length(SPX)/diff(x(1:2)); bar(x,n,'hist')

Then you plotted the normal distribution just fine. But for the lognormal distribution, the parameters are the mean and std of the log of the data. Try this:

mu = mean(log(SPX)); sd = std(log(SPX)); ix = linspace(min(SPX),max(SPX)); iy = pdf('lognormal', ix, mu, sd); plot(ix,iy,'g-');

Show 2 older comments

Locks on 8 May 2013

that gives me the histogramm and the green normal distribution, but I am looking for the probability density function of the data which is at the moment plotted as the histogram

something similar to this:

http://www.mathworks.ch/ch/help/stats/histfit.html

but for some reason I am not able to combine those two elements

Tom Lane on 8 May 2013

When I run your code I see a histogram with a green normal density superimposed. When I run histfit with the same number of bins, I see the same histogram with the same density, but red instead of green.

If you want a smooth density function that is like the histogram, try the ksdensity function. You could superimpose that over both the histogram and the normal density if you like.

## 0 Comments