Springen naar inhoud

Som uniforme random waarden


  • Log in om te kunnen reageren

#1

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 25 maart 2009 - 20:34

Stel ik genereer random getallen tussen -0,5 en 0,5 welke uniform verdeeld zijn. Stel dat ik deze sommering, dan dacht ik, voor heel veel zulke waarden, 0 uit te komen. Echter, zo blijkt uit een simulatie, is dit niet waar.

nsom
101,01135
1001,966811
1000-6,61921
10000-9,14634
10000024,11513
1000000228,9737
10000000-1106,73

Ik vermoed derhalve dat mijn veronderstelling niet correct is. Zou dat te bewijzen zijn?

EDIT: is er een analogie met een alternerende reeks die divergeert?
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

horseyman

    horseyman


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 25 maart 2009 - 20:57

In theorie zal de som (en dus het gemiddelde) een kansverdeling hebben met gemiddelde 0.
De gemiddelde afwijking van 0 gaat ook omlaag naarmate de steekproef stijgt.
Vanaf n = 100000 daalt die afwijking echter niet zo vlot.
Welke random generator gebruik je hier?

#3

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 25 maart 2009 - 21:59

Ik gebruik python met random.uniform.

from random import uniform
def test(n):
	return sum([uniform(0,1)-0.5 for i in range(n)])
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#4

horseyman

    horseyman


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 25 maart 2009 - 22:46

Geen enkele (pseudo) random generator genereert een perfecte uniforme verdeling.
De python random generator gebruikt het Mersenne Twister algoritme.
Op http://en.wikipedia....ersenne_twister kun je bijvoorbeeld teruglezen:
Observing a sufficient number of iterates allows one to predict all future iterates.

#5

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 26 maart 2009 - 13:37

Ah. Maar is dit dan te bewijzen?
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#6

horseyman

    horseyman


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 26 maart 2009 - 15:19

Wat zou je graag bewezen willen zien?

#7

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 26 maart 2009 - 19:06

Dat die som daadwerkelijk nul is.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#8

horseyman

    horseyman


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 27 maart 2009 - 09:28

De som is een verdeling, waarvan de verwachtingswaarde (het verwachte gemiddelde) gelijk is aan nul.
Ja, dat is te bewijzen.

#9

*_gast_PeterPan_*

  • Gast

Geplaatst op 26 april 2009 - 21:23

Om de door storingsrekening voorspelde bias in een parameter te checken heb ik lang moeten zoeken in de literatuur naar een goede random generator. Uiteindelijk vond ik een zeer goede in een artikel met als veelzeggende titel
"Good random generators are hard to find".
Elke random generator heeft zijn eigen toepassingen waarvoor hij het meest geschikt zijn.
Als je een standaard generator neemt, en je weet dat een uitdrukking naar LaTeX zal convergeren, dan mag
je blij zijn als je uiteindelijk dat getal in 5 decimalen krijgt. Al ga je door tot juttemis, meer decimalen zul je niet krijgen.

#10

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 27 april 2009 - 07:25

Stel ik genereer random getallen tussen -0,5 en 0,5 welke uniform verdeeld zijn. Stel dat ik deze sommering, dan dacht ik, voor heel veel zulke waarden, 0 uit te komen.

Deze veronderstelling is onjuist. De verwachtingswaarde is nul. Voor de standaard deviatie van een sommering over N termen geldt echter:
LaTeX
In dit geval geldt:
LaTeX
dus:
LaTeX

Als we nu de waarden bekijken in standaard afwijkingen dan zien we:
nsomaantal s.d. van verwachtingswaarde
101,011351,1
1001,9668110,68
1000-6,61921-0,73
10000-9,14634-0,32
10000024,115130,26
1000000228,97370,79
10000000-1106,73-1,21
Niet veel bijzonders dus.

De bovenstaande gegevens zeggen echter weinig over het gedrag van de random-functie. Om te kijken of er een structurele afwijking is, moet je vaker dan een keer de sommaties bepalen.

#11

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 27 april 2009 - 07:26

"Good random generators are hard to find".

Kan ik dat artikel of die generator ergens vinden?
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#12

*_gast_PeterPan_*

  • Gast

Geplaatst op 27 april 2009 - 07:45

Ik zal het opzoeken. Je hoort er nog van.

#13

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 27 april 2009 - 08:02

Kan ik dat artikel of die generator ergens vinden?

Het artikel heeft de titel "Random number generators: good ones are hard to find" en is van S. K. Park en K. W. Miller. Ik ben nog geen gratis te downloaden versie tegengekomen. Let wel! De kwaliteit van je generator heeft niks te maken met je veronderstelling in je eerste post.

edit: okee, nu wel... was gewoon een link in wiki. ;)

#14

*_gast_PeterPan_*

  • Gast

Geplaatst op 27 april 2009 - 08:16

Bedankt, dat scheelt me het zoekwerk.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures