Hi,

I saw that geometric variables by default get initialized to 1 (via `self.mode = 1`

).

Any particular reason for that as opposed to the mean (1/p)?

The initialization at 1 creates some problems with the metropolis sampler (especially if the shape `N`

of the geometric is >> 1): The Metropolis proposal is by default a “discretized” Gaussian, i.e. there’s a good chance that your proposal will take you from [1,1,1,…] to [1,0,1,…], whose loglikelihood is -inf.

Hence the chain has a real hard time leaving the initial state (if `N`

is large, its very likely that one dimension contains the 0 and hence the whole proposal will be discarded).

Whats the general strategy for sampling discrete RVs in PyMC anyway? I’ve seen a few examples of binary RVs, but nothing for general discrete RVs