Как получить значения вероятности оси Y из пробплота, Matlab? - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь получить фактические данные оси Y (вероятностный%) из дескриптора probplot, но я не получаю значения, которые мне нужны.Вместо этого он дает мне квантильные значения

% 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 Ответ

2 голосов
/ 03 июля 2019
  • В качестве альтернативы можно рассчитать вероятности из значений квантилей.

  • Вероятности , показанные на оси 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...