I believe that, as usual, there are
several ways of generalizing the logistic,
each of which seems most natural to its own author.
Nick
[email protected]
Kit Baum
> Not clear to me either how so-called generalized logistic
> distribution relates to the garden variety one defined here. In any
> case here is a routine in the style of Hilbe that does the
> job, and a
> test of whether it appears to meet the specs (which it does for
> sufficiently large N):
>
> capt program drop rndlog
>
> *!version 1.0 04aug2005 CFBaum
> * following syntax of J. Hilbe rnd package
> * logistic distribution random number generator
> * per David Harrison msg to Statalist 04aug2005
> * Example: rndlog 1000 0 .5 [set obs 1000; 0 = mean; .5 = b]
>
> program define rndlog
> version 3.1
> * set type double
> cap drop xlogistic
> qui {
> local cases `1'
> set obs `cases'
> mac shift
> local mn `1'
> mac shift
> local b `1'
> mac shift
> tempvar ran1
> noi di in gr "( Generating " _c
> gen double `ran1' = `mn' - `b'*log(1/uniform() - 1)
> gen double xlog = `ran1'
> noi di in gr "." _c
> noi di in gr " )"
> noi di in bl "Variable " in ye "xlog " in bl
> "created."
> lab var xlog "Logistic random variable"
> * set type float
> }
> end
>
> clear
>
> scalar mu=5
> scalar b=3
> rndlog 100000 mu b
> su xlog,detail
> assert reldif(r(mean),mu) < 0.01
> assert reldif(r(Var),1/3*_pi^2*b^2) < 0.01
> assert reldif(r(skewness),0) < 0.1
> assert reldif(r(kurtosis)-3.0,6/5) < 0.1
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/