in reply to Randomly biased, random numbers.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Randomly biased, random numbers.
by BrowserUk (Patriarch) on Dec 06, 2013 at 02:32 UTC | |
You might want to be more explicit about exactly what characteristics you want in this distribution, That's hard. Mostly because I definitely do not want any formally defined distribution. Almost exactly the opposite in fact. The problem with "random" is that on average, the points will be evenly distributed over the range (2D plane in this case). That's almost the exact definition of PRNG. Whilst with enough iterations, all possible distributions -- including those where a majority of the points in the sample size tend to be grouped or clustered on one side or in one corner of the plane -- with even a relatively small plane, (500,500) and sample size 100 -- there are so many 'roughly even' distributions and so few 'lopsided' distributions, that I'd need to run billions of sets to ensure I'd tested a few of the lopsided ones. That's not practical. So, I'm looking for a way to induce lopsided -- which pretty much means not 'roughly evenly distributed' -- distributions, without prescribing where or why the concentrated and sparse bits will be. I can't think of any better description than: I want lopsided distributions that are completely randomly generated. Not good I know, but its the best I've got. With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
by educated_foo (Vicar) on Dec 06, 2013 at 03:19 UTC | |
I definitely do not want any formally defined distribution.Do you have sample data you can perturb, mix, or otherwise use to generate test data? I want lopsided distributions that are completely randomly generated.Hm... Maybe transform your PRNG through a random, monotonic, nonlinear mapping? e.g. generate a piecewise-linear function (or spline) in each dimension with steps taken from the PRNG, then generate uniform random points and apply the function to them. I suspect a Real Statistician would scoff, but I am not such a person. | [reply] |
by BrowserUk (Patriarch) on Dec 06, 2013 at 03:57 UTC | |
generate a piecewise-linear function (or spline) in each dimension with steps taken from the PRNG, then generate uniform random points and apply the function to them. That's sounds like a real possibility -- or rather looks like it having done a search for "spline" and seen a few images. I'm imagining sticking a few (2 or 3 or 4 decided at random) sticks, of random length, into a square of ground at randomly chosen points; and then draping a tarpaulin over them. The height of the tarpaulin at any given point then "influences" the randomly generated xy pairs such that they tend to concentrate around the sticks. I haven't a clue how I'd go about it though :( (Offers?:) With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
by educated_foo (Vicar) on Dec 06, 2013 at 04:55 UTC | |
by BrowserUk (Patriarch) on Dec 06, 2013 at 06:57 UTC | |
| |
by salva (Canon) on Dec 07, 2013 at 09:27 UTC | |
That's hard. Mostly because I definitely do not want any formally defined distribution Download random pictures from the Internet and use them as the base to generate density functions. You may apply some simple transformations (for instance, dynamic range decompression) to obtain more disparate distributions. | [reply] |
by BrowserUk (Patriarch) on Dec 07, 2013 at 15:43 UTC | |
Indeed. That's pretty similar to the ideas I had -- "Eg. grab a random image, process the image with a filter to reduce it to a just points of a particular color or hue; or maybe use a Conway's Life type process to manipulate the pixels until groups of similar hues the reduce to single points; or a dozen other ideas; and then use those points as my dataset." -- triggered by roboticus' post. However, it turns out to be rather more difficult than I imagined. I thought of two ways to tackle this approach: To generate the weight maps, I pick a few random points and pick a random weight for those points. Then I grade those high points out to the edges of the area in the x-axis. Then I grade those values to the strips of values created by the other points, or the edges in the y-axis. Drawn in grey scale, this produces weight maps like these: img img img, which I'm rather pleased with. Once weight-maps like these have been vectorised and then used to pick a 1000 weight-random pixels, the results look like these:img img img. The results are everything I could have hoped for; though the currently implementation leaves a lot to be desired - especially the slowness of the vectorisation when higher weight range is used. I'll probably have to move that process and the grading process into C to make this usable. If you can see improvements to either the grading process -- which currently occasionally produces really bizarre effects for reasons I haven't tracked down -- or ways of speeding up the vectorisation without dropping into C, I'd be very interested to hear them. The current code:
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] [select] |
by salva (Canon) on Dec 10, 2013 at 13:58 UTC | |
by BrowserUk (Patriarch) on Dec 10, 2013 at 14:32 UTC | |
| |