
Well, I am definetly glad that someone has also stumbled onto the same problem. But it is nevertheless intriguing, that you can run poisson a million times with mean zero or negative(it assumes zero mean inthis case) without any problems by itself. But when I call it within my code, the rate of error is very high (I would say it returns a wrong result every time, but I haven't checked every answer). Meanwhile, my solution will be: import rpy n = rpy.r.rpois(n,mean) I don't feel I can trust poisson while this "funny" behavior is still there... If someone has any Idea of how I could trace this bug please tell me, and I'll hunt it down. At least I can reproduce it in a very specific context. thanks, Flávio 2005/7/12, Sebastian Haase <haase@msg.ucsf.edu>:
Hi Flavio! I had reported this long time ago and this list (about numarray). Somehow this got more or less dismissed. If I recall correctly the argument was that nobody could reproduce it (I ran this on Debian Woody ,py2.2, (with CVS numarray at the time).
I ended up writting my own wrapper(s): def poissonArr(shape=defshape, mean=1): from numarray import random_array as ra if mean == 0: return zeroArrF(shape) elif mean < 0: raise "poisson not defined for mean < 0" else: return ra.poisson(mean, shape).astype(na.UInt16)
def poissonize(arr): from numarray import random_array as ra return na.where(arr<=0, 0, ra.poisson(arr)).astype(na.UInt16)
(I use the astype(na.UInt16) because of some OpenGL code)
Just last week had this problem on a windows98 computer (python2.4).
This should get sorted out ...
Thanks for reporting this problem. Sebastian Haase
On Tuesday 12 July 2005 13:32, Flavio Coelho wrote:
Hi,
I am having problems with the poisson random number generators of both Numarray and Numeric. I can't replicate it when calling the function from the python cosonle, but it has consistently malfunctioned when used within one of my scripts.
What happens is that it frequently return a value greater than zero when called with zero mean: poisson(0.0)
Unfortunately My program is too big to send attached but I have confirmed the malfunction by printing both the mean and the result whenever it spits out a wrong result.
This is very weird indeed, I have run poisson millions of times by itsel on the python console, without any problems...
I hope it is some stupid mistake, but when I replace the poisson function call within my program by the R equivalent command (rpois) via the rpy wrapper, everything works just fine...
any Ideas?
-- Flávio Codeço Coelho registered Linux user # 386432 --------------------------- Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence. Albert Einstein