scipy.stats.uniform_direction#

scipy.stats.uniform_direction = object>[источник]#

Векторно-значное равномерное направление.

Возвращает случайное направление (единичный вектор). размерность ключевое слово определяет размерность пространства.

Параметры:
размерностьскаляр

Размерность направлений.

seed{None, int, numpy.random.Generator,

numpy.random.RandomState, опционально

Используется для генерации случайных величин. Если seed является None, RandomState используется синглтон. Если seed является int, новый RandomState используется экземпляр, инициализированный с seed. Если seed уже является RandomState или Generator экземпляр, то этот объект используется. По умолчанию None.

Методы

rvs(dim=None, size=1, random_state=None)

Генерировать случайные направления.

Примечания

Это распределение генерирует единичные векторы, равномерно распределённые по поверхности гиперсферы. Их можно интерпретировать как случайные направления. Например, если размерность равно 3, 3D векторы с поверхности \(S^2\) будет выбрано.

Ссылки

[1]

Marsaglia, G. (1972). "Choosing a Point from the Surface of a Sphere". Annals of Mathematical Statistics. 43 (2): 645-646.

Примеры

>>> import numpy as np
>>> from scipy.stats import uniform_direction
>>> x = uniform_direction.rvs(3)
>>> np.linalg.norm(x)
1.

Это генерирует одно случайное направление, вектор на поверхности \(S^2\).

Кроме того, объект может быть вызван (как функция) для возврата замороженного распределения с фиксированными размерность параметр. Здесь мы создаем uniform_direction с dim=3 и извлечь 5 наблюдений. Затем выборки располагаются в массиве формы 5x3.

>>> 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]])