Exact probability of a triangular distribution

조회 수: 11 (최근 30일)
Burhan Elaldi
Burhan Elaldi 2020년 4월 6일
댓글: Burhan Elaldi 2020년 4월 6일
How can I find exact probability of triangular distribution? Actually my exact question is: use simulation to estimate the probability that a triangular random variable is greater than its mean. You can take the parameters of the triangular random variable as follows: the minimum value as the sum of last digits of IDs of your group members, the mode value as the sum of the last two digits of of IDs of your group members and the maximum value as the sum of the last three digits of of IDs of your group members. Please, perform the simulation 1000 times and compare the estimated probability with the exact one. But I could not find the exact probabilty?
parameters = [31 56 75];
lower = min(parameters);
peak = median(parameters);
upper = max(parameters);
pd = makedist('Triangular','a',lower,'b',peak,'c',upper)
x = 0:.1:230;
y = pdf(pd,x);
plot(x,y)
title('Triangular Distribution')
xlim([0 100])
rng('default'); % For reproducibility
r = random(pd,1000,1)
sort_time = sort(time,'descend');
secondLargest = sort_time(2);
figure
pd2 = makedist('Triangular','a',lower,'b',peak,'c',secondLargest);
y2 = pdf(pd2,x);
plot(x,y2,'LineWidth',2)
title('Triangular Distribution')
xlim([0 100])
rng('default'); % For reproducibility
r2 = random(pd2,1000,1)
I transferred the random numbers I produced in Matlab to Excel.
  댓글 수: 3
Burhan Elaldi
Burhan Elaldi 2020년 4월 6일
yes
Burhan Elaldi
Burhan Elaldi 2020년 4월 6일
 I asked for a point where I was stuck in my homework.

댓글을 달려면 로그인하십시오.

채택된 답변

James Tursa
James Tursa 2020년 4월 6일
편집: James Tursa 2020년 4월 6일
The exact probability of getting a number greater than the mean is simply the sum of the probabily to the right of the mean. Since the cumulative distribution function gives the sum of the probablity to the left, you simply need to take 1-cdf evaluated at your point of interest to get your exact probability. E.g.,
>> exact_probability = 1 - cdf(pd,mean(pd))
exact_probability =
0.5191
And this seems to match a large simulation result pretty well
>> sum(random(pd,1000000,1)>mean(pd))/1000000
ans =
0.5194
  댓글 수: 3
James Tursa
James Tursa 2020년 4월 6일
Why did you divide by 1000000?
This:
sum(random(pd,1000000,1)>mean(pd))/1000000
is a one-line simulation of a random sampling of 1000000 trials. I was just picking a big number for example.
In your case, yes you would use 1000 not 1000000.
What is the exact one?
Just as I have stated, this is the exact one:
1 - cdf(pd,mean(pd))
If you want to see more digits, then
>> format longg
>> 1 - cdf(pd,mean(pd))
ans =
0.51909090909091
Burhan Elaldi
Burhan Elaldi 2020년 4월 6일
Thank you so much :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by