MATLAB Answers

0

Right-truncating a lognormal distribution

Asked by bombilibom bilibilibom on 18 Aug 2019
Latest activity Edited by 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

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
on 18 Aug 2019
Possibly you want a conditional CDF?
prob(z<a | z<b)
I think this is right. How can I code this?

Sign in to comment.

1 Answer

Answer by Matt J
on 18 Aug 2019
Edited by Matt J
on 18 Aug 2019
 Accepted Answer

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

Thanks so much for your time, Matt! Have a great day.

Sign in to comment.