Solved
Contributor
Posts: 25

# Random sample and coefficient of dispersion

Hello,

I would like to generate a random sample (= 30 obervations) following a negative binomial distribution with expectation = 3 and a coefficient of dispersion (expectation / variance) = 1.2.

sample data;

do i = 1 to 30;

nb_asif = 3 + RAND ('NEGBINOMIAL', ?,?);

output;

end;

run;

How determine my coefficient of dispersion into data step?

Thanks for help.

Accepted Solutions
Solution
‎08-23-2014 06:49 PM
Posts: 1,270

## Re: Random sample and coefficient of dispersion

data sample;

do i = 1 to 30;

nb_asif = 3 + RAND ('NEGBINOMIAL', 0.8333,15);

output;

end;

run;

All Replies
Solution
‎08-23-2014 06:49 PM
Posts: 1,270

## Re: Random sample and coefficient of dispersion

data sample;

do i = 1 to 30;

nb_asif = 3 + RAND ('NEGBINOMIAL', 0.8333,15);

output;

end;

run;

Contributor
Posts: 25

## Re: Random sample and coefficient of dispersion

I was wrong! it's variance/expectation to calculate coefficient of dispersion.

With your code it doesn't work, it's not equal to 1.2

data echantillon;

do i=1 to 30;

nb_asif=3+RAND('NEGBINOMIAL',0.8333,15) ;

output;

end;

run;

proc univariate data=echantillon;

var nb_asif;

output out=dispersion std=volatite var=variance mean=moyenne skewness=skewness kurtosis=kurtosis;

run;

data dispersion1;

set dispersion;

DI=variance/moyenne;

run;

Posts: 1,270

## Re: Random sample and coefficient of dispersion

Yes, as per formulation p was going to be greater than one. After making a correction found p=0.8333 and k=15. If you exclude 3 from your equation then you will get a close approximation as sample size increases.

nb_asif=RAND('NEGBINOMIAL',0.8333,15) ;

Contributor
Posts: 25

## Re: Random sample and coefficient of dispersion

Sorry for my ignorance but I don't understand...:smileyconfused:

How did you make a correction? p=1/1.2?

And I don't manage how you found the dispersion coefficient = 1.2 after generate.

Thanks.

Posts: 1,270