PopulationVMFHypercircle¶
-
class
svvamp.
PopulationVMFHypercircle
(V, C, vmf_concentration, vmf_probability=None, vmf_pole=None)[source]¶ Population drawn with Von Mises-Fisher distributions on the
C-2
-sphereParameters: - V – Integer. Number of voters.
- C – Integer. Number of candidates.
- vmf_concentration – 1d array. Let us note
k
its size (number of ‘groups’).vmf_concentration[i]
is the VMF concentration of groupi
. - vmf_probability – 1d array of size k.
vmf_probability[i]
is the probability, for a voter, to be in groupi
(up to normalization). IfNone
, then groups have equal probabilities. - vmf_pole – 2d array of size
(k, C)
.vmf_pole[i, :]
is the pole of the VMF distribution for groupi
.
Returns: A
Population
object.We work on the
C-2
-sphere: vectors of \(\mathbb{R}^C\) with Euclidean norm equal to 1 and that are orthogonal to [1, ..., 1]. It is a representation of the classical Von Neumann-Morgenstern utility space. Cf. working paper Durand et al. ‘Geometry on the Utility Sphere’.Before all computations, the poles are projected onto the hyperplane and normalized. So, the only source of concentration for group
i
isvmf_concentration[i]
, not the norm ofvmf_pole[i]
. Ifpole
is None, then each pole is drawn independently and uniformly on theC-2
-sphere.For each voter
c
, we draw a groupi
at random, according tovmf_probability
(normalized beforehand if necessary). Then,v
‘s utility vector is drawn according to a Von Mises-Fisher distribution of polevmf_pole[i, :]
and concentrationvmf_concentration[i]
, using Ulrich’s method modified by Wood.Once group
i
is chosen, then up to a normalization constant, the density of probability for a unit vectorx
isexp(vmf_concentration[i] vmf.pole[i, :].x)
, wherevmf.pole[i, :].x
is a dot product.References:
Ulrich (1984) - Computer Generation of Distributions on the m-Sphere
Wood (1994) - Simulation of the von Mises Fisher distribution