Nicht-konvexe Zufallszahlen



  • Hi,

    ich will mir einen Generator schreiben für 2-dimensionale Vektoren, die so zufallsverteilt sind, dass eine nicht-konvexe Fläche ensteht. Zum Beispiel eine Art Bogen (so 'ne Banane).

    Ich brauche das zum Testen von Data Mining Algorithmen.

    Hat einer ne Idee? Gibts so Generatoren vielleicht schon? Google ergibt sehr viel nicht so interssantes Zeug.

    Vielen Dank

    Jo



  • errrso schrieb:

    Hi,

    ich will mir einen Generator schreiben für 2-dimensionale Vektoren, die so zufallsverteilt sind, dass eine nicht-konvexe Fläche ensteht. Zum Beispiel eine Art Bogen (so 'ne Banane).

    Ich brauche das zum Testen von Data Mining Algorithmen.

    Hat einer ne Idee? Gibts so Generatoren vielleicht schon? Google ergibt sehr viel nicht so interssantes Zeug.

    Vielen Dank

    Jo

    eine billige methode ist eine einhüllende zu nehmen aus der du samplen kannst, b.z. ein rechteck, und dann so lange werte verwerfen wie sie außerhalb deiner gewünschten fläche sind.



  • Einfach zum Beispiel eine 2D Gaussverteilung mit X-Varianz Groß und Y-Varianz klein sampeln (Kovarianz 0). Dann nimmste die gesampelten Punkte (x,y) und drehst sie durch eine Transformation wie:(x'=x,y'=y+x^2).

    oder sowas:
    (cos(x)(1+y),sin(x)(1+y))
    Wenn du x und y schön wählst,(zum Beispiel 0<x<pi -0.1<y<0.1) dann sampelst nen schicken Kreisbogen. Musst aber schauen, ob dir die Verteilungseigenschaften gefallen. Packste da als Basis ne Gleichverteilung rein, ist das Ergebnis am Ende nicht mehr gleichverteilt.


Log in to reply