如何从Matlab Probplot中检索Y轴概率值?

时间:2019-07-03 00:37:59

标签: matlab

我正在尝试从probplot句柄中检索实际的y轴数据(概率%),但没有得到所需的值。相反,它给了我分位数

% sample data 
data =[68391;54744;54682;71629;42610;54371;37500;41222;39767;65042;54706;15108;57000;55460;73360]';

% obtain the probability plot for data
h1=probplot('lognormal',data,'noref');

% retrieve the y axis data from h1
[sorted_data, indices]= sort(data);
prob(indices)=h1.YData;

% the prob values are not the actual probability values that we see in the
% plot but quantile values , how to directly retrive the probabaility
% values

我想要在图中看到的概率值。在上面的示例代码中检查概率向量中的值

1 个答案:

答案 0 :(得分:2)

  • 或者从分位数值计算概率。

  • y轴上显示的
  • 概率基于 正态 分位数的累积密度函数 normcdf())。

  

情节

     

enter image description here


检索概率的代码

% sample data 
data =[68391; 54744; 54682; 71629; 42610; 54371; 37500; 41222; ...
    39767; 65042; 54706; 15108; 57000; 55460; 73360]';

% obtain the probability plot for data
h1=probplot('lognormal',data,'noref');

% quantiles
quantiles = h1.YData;

% probability 
Probability = normcdf(quantiles);

% rearrange according to the order in data 
prob = zeros(size(data));
[sorted_data, indices]= sort(data);
prob(indices) = Probability;



prob.'

    0.8333
    0.5667
    0.4333
    0.9000
    0.3000
    0.3667
    0.1000
    0.2333
    0.1667
    0.7667
    0.5000
    0.0333
    0.7000
    0.6333
    0.9667