MATLAB Answers

Right-truncating a lognormal distribution

11 views (last 30 days)
george pepper
george pepper on 18 Aug 2019
Edited: Matt J on 18 Aug 2019
Hello,
I would like to compute the probability that P(z<a) where
z=exp(x*beta+e) and e is distributed iid N(0,sigma^2).
I would like to evaluate the CDF of z, i.e.,
P(e< log(a)-x*beta),
for various values of x*beta. However, I know that z cannot take a value greater than a certain number, b. How can I obtain the truncated distribution to evaluate the above probability?
Many thanks in advance.

  5 Comments

Show 2 older comments
Matt J
Matt J on 18 Aug 2019
But that contradicts your original claim that z is lognormal. Clearly z is not lognormal if it is bounded by b. You must say what the distribution actually is before we can talk about how to compute the CDF.
Matt J
Matt J on 18 Aug 2019
Possibly you want a conditional CDF?
prob(z<a | z<b)
george pepper
george pepper on 18 Aug 2019
I think this is right. How can I code this?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 18 Aug 2019
Edited: Matt J on 18 Aug 2019
I think this is right. How can I code this?
function out=conditionalCDF(a,b,x,beta,sigma)
pa=normcdf(log(a)-x*beta,0,sigma);
pb=normcdf(log(b)-x*beta,0,sigma);
out=min(1, pa./pb);
end

  1 Comment

george pepper
george pepper on 18 Aug 2019
Thanks so much for your time, Matt! Have a great day.

Sign in to comment.

More Answers (0)


Translated by