Probability Plot with Confidence Interval

30 ビュー (過去 30 日間)
Jessica Lam
Jessica Lam 2011 年 9 月 28 日
コメント済み: Dennis Craggs 2021 年 1 月 9 日
Hi
I would like to plot one probability plot with the confidence interval, like the plot in the below link
But I just found the following Matlab build-in functions , normplot() and probplot() which do not include the confidence interval.
Any suggestion would be greatly appreciated! Many thanks in advance!
Jessica

採用された回答

UJJWAL
UJJWAL 2011 年 9 月 28 日
Hi Jessica, Functions like normplot and probplot allow you to mark the probability distribution of your data with respect to a specified distribution like Normal or Rayleigh etc.
Confidence Interval is something that they do not evaluate so they do not include an option explicitly for them. You will have to specify the confidence interval values of the parameters of your distribution and then you can plot them. I think the below program will help :-
clc;
clear all;
a= random('normal',10,4,1,100); % Generate a normally distributed random numbers
pd = fitdist(a','normal'); % Creates a ProbDistUnivParam object by fitting the data to a normal distribution. For details look at Documentation
ci = paramci(pd); % This function calculates the values of the parameters based on a certain confidence interval. Here the by default the confidence interval is 95 percent
probplot(a);
h=probplot(gca,@(a,x,y)normcdf(a,x,y),[ci(1,1),ci(1,2)]);
set(h,'color','r','linestyle','-')
t= probplot(gca,@(a,x,y)normcdf(a,x,y),[ci(2,1),ci(2,2)]);
set(t,'color','g','linestyle','-.')
For further help reply back or mail. I hope it will help you.
HAPPY TO HELP
UJJWAL
  2 件のコメント
Jacob Misura
Jacob Misura 2017 年 6 月 12 日
Just found this question and this answer is amazing thank you for helping people!!!!
Dennis Craggs
Dennis Craggs 2021 年 1 月 9 日
編集済み: Dennis Craggs 2021 年 1 月 9 日
This code worked for a normal distribution, but not for a lognormal. So I made changes from normal to lognormal as follows:
pd = fitdist(a,'lognormal');
ci = paramci(pd);
probplot('lognormal',a);
h = probplot(gca,@(a,x,y)logncdf(a,x,y),[ci(1,1),ci(1,2)]);
t = probplot(gca,@(a,x,y)logncdf(a,x,y),[ci(2,1),ci(2,2)]);
The confidence limit lines were not plotted around the best fit line. Any idea what went wrong?

サインインしてコメントする。

その他の回答 (1 件)

arif rabbani
arif rabbani 2013 年 5 月 2 日
please describe the following term, h=probplot(gca,@(a,x,y)normcdf(a,x,y),[ci(1,1),ci(1,2)]);
  1 件のコメント
Dennis Craggs
Dennis Craggs 2021 年 1 月 9 日
gca is a reference to the last graphic created.
a is the original data set
x and y are used for the confidence intervals. I don't know the code, but the ci is a variance covariance matrix. h and t are used to reference the upper confidence bound and t for the lower confidence bound.

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by