Re: [Numpy-discussion] sample without replacement

2010-12-21 Thread Alan G Isaac
On 12/20/2010 10:49 PM, josef.p...@gmail.com wrote: What's the difference between a numpy Random and a python random.Random instance of separate states of the random number generators? Sorry, I don't understand the question. The difference for my use is that a np.RandomState instance

Re: [Numpy-discussion] sample without replacement

2010-12-21 Thread Anne Archibald
I know this question came up on the mailing list some time ago (19/09/2008), and the conclusion was that yes, you can do it more or less efficiently in pure python; the trick is to use two different methods. If your sample is more than, say, a quarter the size of the set you're drawing from, you

Re: [Numpy-discussion] sample without replacement

2010-12-21 Thread Sturla Molden
We often need to generate more than one such sample from an array, e.g. for permutation tests. If we shuffle an array x of size N and use x[:M] as a random sample without replacement, we just need to put them back randomly to get the next sample (cf. Fisher-Yates shuffle). That way we get O(M)

[Numpy-discussion] sample without replacement

2010-12-20 Thread Alan G Isaac
I want to sample *without* replacement from a vector (as with Python's random.sample). I don't see a direct replacement for this, and I don't want to carry two PRNG's around. Is the best way something like this? permutation(myvector)[:samplesize] Thanks, Alan Isaac

Re: [Numpy-discussion] sample without replacement

2010-12-20 Thread John Salvatier
I think this is not possible to do efficiently with just numpy. If you want to do this efficiently, I wrote a no-replacement sampler in Cython some time ago (below). I hearby release it to the public domain. ''' Created on Oct 24, 2009

Re: [Numpy-discussion] sample without replacement

2010-12-20 Thread josef . pktd
On Mon, Dec 20, 2010 at 11:28 AM, Alan G Isaac alan.is...@gmail.com wrote: I want to sample *without* replacement from a vector (as with Python's random.sample).  I don't see a direct replacement for this, and I don't want to carry two PRNG's around.  Is the best way something like  this?    

Re: [Numpy-discussion] sample without replacement

2010-12-20 Thread Alan G Isaac
On 12/20/2010 9:41 PM, josef.p...@gmail.com wrote: python has it in random sample( population, k) Yes, I mentioned this in my original post: http://www.mail-archive.com/numpy-discussion@scipy.org/msg29324.html But good simulation practice is perhaps to seed a simulation specific random

Re: [Numpy-discussion] sample without replacement

2010-12-20 Thread josef . pktd
On Mon, Dec 20, 2010 at 10:19 PM, Alan G Isaac alan.is...@gmail.com wrote: On 12/20/2010 9:41 PM, josef.p...@gmail.com wrote: python has it in random sample( population, k) Yes, I mentioned this in my original post: http://www.mail-archive.com/numpy-discussion@scipy.org/msg29324.html But