Kash022 asked . 2022-05-23

Mean and 3-sgima for Lognormal distributions

Hello,
 
I am trying to plot the lognormal distribution over 10 iterations and would like to see the mean and 3 sigma outliers. Somehow, doing this for lognormal plots does not look easy. Also, is it possible that I can skip the histogram in my plots and only look at the lognormal curves? This is the code snippet I am using. Thanks!
 
 
figure(113);
for i = 1:10
norm=histfit(Current_c(i,:),10,'lognormal'); %%Current_c is a 10*100 matrix %%
[muHat, sigmaHat] = lognfit(Current_c(i,:));
% Plot bounds at +- 3 * sigma.
lowBound = muHat - 3 * sigmaHat;
highBound = muHat + 3 * sigmaHat;
yl = ylim;
%line([lowBound, lowBound], yl, 'Color', [0, .6, 0], 'LineWidth', 3);
%line([highBound, highBound], yl, 'Color', [0, .6, 0], 'LineWidth', 3);
line([muHat, muHat], yl, 'Color', [0, .6, 0], 'LineWidth', 3);
grid on;
set(gcf, 'Toolbar', 'none', 'Menu', 'none');
% Give a name to the title bar.
set(gcf, 'Name', 'Line segmentation', 'NumberTitle', 'Off')
hold on;
end

 

#lognormal , #histogram , #plot , #normal , #gaussian , #3sigma

Expert Answer

Prashant Kumar answered . 2025-02-08 08:00:44

When plotting the lognormal distribution and marking the mean and 3σ3\sigma bounds, you need to handle the lognormal nature of the data carefully. For a lognormal distribution, the mean and standard deviation in the original (non-log) space differ from the parameters μ\mu and σ\sigma of the underlying normal distribution.

Key Points:

  1. Lognormal Mean and 3σ3\sigma Bounds:
    • For a lognormal distribution, if the parameters of the underlying normal distribution are μ\mu and σ\sigma:
      • Mean: mean=eμ+σ22\text{mean} = e^{\mu + \frac{\sigma^2}{2}}
      • 3σ3\sigma Bounds:
        • Lower bound: eμ−3σe^{\mu - 3\sigma}
        • Upper bound: eμ+3σe^{\mu + 3\sigma}
  2. Skipping Histogram:
    • To avoid plotting the histogram while using histfit, remove the bar plot that represents the histogram. This can be done by hiding or deleting it after creating the plot.

Updated Code:

 

figure(113);
for i = 1:10
    % Fit the lognormal distribution
    [muHat, sigmaHat] = lognfit(Current_c(i,:));
    
    % Generate the x-values for the fitted lognormal curve
    x = linspace(min(Current_c(i,:)), max(Current_c(i,:)), 100);
    y = lognpdf(x, muHat, sigmaHat);
    
    % Plot the lognormal curve
    plot(x, y, 'LineWidth', 2); % No histogram here
    hold on;
    
    % Calculate lognormal mean and 3-sigma bounds
    lognormalMean = exp(muHat + (sigmaHat^2) / 2);
    lowBound = exp(muHat - 3 * sigmaHat);
    highBound = exp(muHat + 3 * sigmaHat);
    
    % Plot vertical lines for mean and 3-sigma bounds
    yl = ylim; % Get current y-axis limits
    line([lognormalMean, lognormalMean], yl, 'Color', [0, 0.6, 0], 'LineWidth', 3, 'LineStyle', '--'); % Mean
    line([lowBound, lowBound], yl, 'Color', [0.6, 0, 0], 'LineWidth', 2, 'LineStyle', ':'); % Lower bound
    line([highBound, highBound], yl, 'Color', [0.6, 0, 0], 'LineWidth', 2, 'LineStyle', ':'); % Upper bound
    
    grid on;
    set(gcf, 'Toolbar', 'none', 'Menu', 'none');
    set(gcf, 'Name', 'Lognormal Distribution', 'NumberTitle', 'Off');
end
hold off;

Key Changes:

  1. Skipping Histogram:
    • Removed histfit and replaced it with lognpdf to directly plot the lognormal curve.
  2. Mean and 3σ3\sigma:
    • Calculated the lognormal mean and bounds using their respective formulas.
  3. Custom Plot:
    • Plotted only the lognormal curve and marked the mean and bounds with vertical lines.

Output:

For each iteration:

  1. The lognormal curve is plotted for the dataset in Current_c(i,:).
  2. The mean (eμ+σ2/2e^{\mu + \sigma^2/2}) is shown with a dashed green line.
  3. The 3σ3\sigma bounds (eμ±3σe^{\mu \pm 3\sigma}) are shown with dotted red lines.

This approach avoids the histogram entirely and focuses on the lognormal curve and its statistical features.


Not satisfied with the answer ?? ASK NOW

Frequently Asked Questions

MATLAB offers tools for real-time AI applications, including Simulink for modeling and simulation. It can be used for developing algorithms and control systems for autonomous vehicles, robots, and other real-time AI systems.

MATLAB Online™ provides access to MATLAB® from your web browser. With MATLAB Online, your files are stored on MATLAB Drive™ and are available wherever you go. MATLAB Drive Connector synchronizes your files between your computers and MATLAB Online, providing offline access and eliminating the need to manually upload or download files. You can also run your files from the convenience of your smartphone or tablet by connecting to MathWorks® Cloud through the MATLAB Mobile™ app.

Yes, MATLAB provides tools and frameworks for deep learning, including the Deep Learning Toolbox. You can use MATLAB for tasks like building and training neural networks, image classification, and natural language processing.

MATLAB and Python are both popular choices for AI development. MATLAB is known for its ease of use in mathematical computations and its extensive toolbox for AI and machine learning. Python, on the other hand, has a vast ecosystem of libraries like TensorFlow and PyTorch. The choice depends on your preferences and project requirements.

You can find support, discussion forums, and a community of MATLAB users on the MATLAB website, Matlansolutions forums, and other AI-related online communities. Remember that MATLAB's capabilities in AI and machine learning continue to evolve, so staying updated with the latest features and resources is essential for effective AI development using MATLAB.

Without any hesitation the answer to this question is NO. The service we offer is 100% legal, legitimate and won't make you a cheater. Read and discover exactly what an essay writing service is and how when used correctly, is a valuable teaching aid and no more akin to cheating than a tutor's 'model essay' or the many published essay guides available from your local book shop. You should use the work as a reference and should not hand over the exact copy of it.

Matlabsolutions.com provides guaranteed satisfaction with a commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been empanelled after extensive research and quality check.

Matlabsolutions.com provides undivided attention to each Matlab assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work done at the best price in industry.