scipy.stats.uniform_direction#
- scipy.stats.uniform_direction = <scipy.stats._multivariate.uniform_direction_gen Objekt>[Quelle]#
Ein vektorwertige gleichmäßige Richtung.
Gibt eine zufällige Richtung (Einheitsvektor) zurück. Das Schlüsselwort dim gibt die Dimensionalität des Raums an.
- Parameter:
- dimSkalar
Dimension der Richtungen.
- seed{None, int,
numpy.random.Generator, numpy.random.RandomState}, optionalWird zum Ziehen von Zufallsvarianten verwendet. Wenn seed None ist, wird die RandomState Singleton verwendet. Wenn seed eine Ganzzahl ist, wird eine neue
RandomState-Instanz verwendet, die mit seed initialisiert wird. Wenn seed bereits eineRandomState- oderGenerator-Instanz ist, wird dieses Objekt verwendet. Standard ist None.
Methoden
rvs(dim=None, size=1, random_state=None)
Zufällige Richtungen ziehen.
Hinweise
Diese Verteilung erzeugt Einheitsvektoren, die gleichmäßig auf der Oberfläche einer Hypersphäre verteilt sind. Diese können als zufällige Richtungen interpretiert werden. Wenn zum Beispiel dim 3 ist, werden 3D-Vektoren von der Oberfläche von \(S^2\) gezogen.
Referenzen
[1]Marsaglia, G. (1972). „Choosing a Point from the Surface of a Sphere“. Annals of Mathematical Statistics. 43 (2): 645-646.
Beispiele
>>> import numpy as np >>> from scipy.stats import uniform_direction >>> x = uniform_direction.rvs(3) >>> np.linalg.norm(x) 1.
Dies erzeugt eine zufällige Richtung, einen Vektor auf der Oberfläche von \(S^2\).
Alternativ kann das Objekt (als Funktion) aufgerufen werden, um eine eingefrorene Verteilung mit festem dim-Parameter zurückzugeben. Hier erstellen wir eine
uniform_directionmitdim=3und ziehen 5 Beobachtungen. Die Stichproben werden dann in einem Array der Form 5x3 angeordnet.>>> rng = np.random.default_rng() >>> uniform_sphere_dist = uniform_direction(3) >>> unit_vectors = uniform_sphere_dist.rvs(5, random_state=rng) >>> unit_vectors array([[ 0.56688642, -0.1332634 , -0.81294566], [-0.427126 , -0.74779278, 0.50830044], [ 0.3793989 , 0.92346629, 0.05715323], [ 0.36428383, -0.92449076, -0.11231259], [-0.27733285, 0.94410968, -0.17816678]])