Skip to content

vincmazet/rtnorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulation of truncated Gaussian Distribution

In 2005, we developped a first method to generate random variables distributed from a Gaussian distribution defined on a semi-finite interval [a,+∞[. This method was implemented in Scilab, Matlab and Java.

Following the article published in 2011 by Nicolas Chopin, we have developped a method to simulate a Gaussian distribution defined on a finite interval [a,b]. This method is still able to consider semi-finite interval by setting b=+∞. The principle is to divide the interval into regions with the same area where acceptation-reject algorithms with appropriate distributions are used.

Nicolas Chopin's methodis coded in C, but only on a semi-finite interval [a,+∞[. We extend his method to a finite interval [a,b], following its recommandations. The method is implemented in Matlab and C++; it is faster than our former implementation and also allows to consider a finite interval. However, it is still not able to generate a random vector, contrary to the version of 2005.

The following table summarize the implementations and their characteristics, as well as similar implementations in other languages :

Code Author Year Size Language Dimensions Truncation Interval
truncgauss N. Chopin 2011 462 kb C/Python 1/2 semi-finite/semi-finite or finite
rpnorm V. Mazet 2005 2 kb Matlab 1 or greater semi-finite
rpnorm V. Mazet 2005 2 kb Scilab 1 or greater semi-finite
rpnorm B. Perret, V. Mazet 2010 4 kb Java 1 or greater semi-finite
rtnorm V. Mazet 2012 58 kb Matlab 1 semi-finite or finite
rtnorm G. Dollé, V. Mazet 2012 67 kb C++ 1 semi-finite or finite
rtnorm C. Lassner 2013 60 kb Python 1 semi-finite or finite
dtnorm Alan R. Rogers 2016 232 kb C 1 finite

I did not compare theses implementations with the truncnorm function in Scipy.

Documents and codes

About

Simulation of truncated Gaussian Distribution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published