Échantillon d'un processus de Poisson
Un processus de Poisson est une généralisation du processus de Poisson unidimensionnel à un cas multidimensionnel. Un processus de Poisson homogène dans les régions géométriques peut être échantillonné en utilisant RandomPoint.
Créez un polygone de pays.

region = DiscretizeGraphics[CountryData["Mexico", "Polygon"],
ImageSize -> Medium]

Définissez une fonction qui effectue l'échantillonnage du processus de Poisson avec trois arguments: la région, l'intensité et le nombre de réalisations.

ppp[region_, intensity_, n_] := Module[{nlist, pts},
nlist =
RandomVariate[PoissonDistribution[intensity RegionMeasure[region]],
n];
pts = RandomPoint[region, Total[nlist]];
nlist = Accumulate[nlist];
nlist = Transpose[{Prepend[Most[nlist] + 1, 1], nlist}];
Table[Take[pts, ind], {ind, nlist}]
]
Générez une réalisation du processus de Poisson dans le polygone de pays avec une intensité de 0,5, et visualisez-la avec Graphics.

intensity = 0.5;
sample = ppp[region, intensity, 1];

Show[region, Graphics[{Black, Point @@ sample}]]

Générez 104 échantillons provenant du même processus. Le nombre total de points dans chaque échantillon satisfait PoissonDistribution, avec la moyenne égale au nombre de fois de l'intensité de la zone de la région.

samples = ppp[region, intensity, 10^4];
counts = Length /@ samples;

htd = PearsonChiSquareTest[counts,
PoissonDistribution[intensity RegionMeasure[region]],
"HypothesisTestData"];

htd["TestDataTable"]


htd["TestConclusion"]

Le nombre de points dans toute la sous-région est également une distribution de Poisson. Ici, il est examiné avec un disque qui se trouve à l'intérieur du polygone et le nombre de points est compté.

disk1 = Disk[{-107, 28}, 1.5];
Show[region, Graphics[{Red, disk1}]]


memberfun1 = RegionMember[disk1];
counts1 = Table[Total[Boole[memberfun1[pts]]], {pts, samples}];
Effectuez PearsonChiSquareTest sur le nombre de comptes avec une distribution de Poisson.

htd = PearsonChiSquareTest[counts1,
PoissonDistribution[intensity RegionMeasure[disk1]],
"HypothesisTestData"];

htd["TestDataTable"]


htd["TestConclusion"]

Le nombre de points dans toutes les sous-régions disjointes est indépendant. Ici, le nombre de points dans deux disques disjoints est compté et le SpearmanRankTest est effectué.

disk2 = Disk[{-100, 20}, 1.3];
Show[region, Graphics[{Red, disk1, Blue, disk2}]]


memberfun2 = RegionMember[disk2];
counts2 = Table[Total[Boole[memberfun2[pts]]], {pts, samples}];

htd = SpearmanRankTest[counts1, counts2, "HypothesisTestData"];

htd["TestDataTable"]


htd["TestConclusion"]
