Muestra de un proceso de puntos de Poisson
Un proceso de puntos de Poisson es una generalización de un proceso unidimensional de Poisson de un caso multi-dimensional. Un proceso de puntos de Poisson homogéneo en regiones geométricas puede ser muestreado usando RandomPoint.
Cree un polígono de país.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_56.png)
region = DiscretizeGraphics[CountryData["Mexico", "Polygon"],
ImageSize -> Medium]
![](assets.es/sample-from-a-poisson-point-process/O_46.png)
Defina una función que muestree un proceso de puntos de Poisson con tres argumentos: región, intensidad y número de realizaciones.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_57.png)
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}]
]
Genere una realización de un proceso de puntos de Poisson en el polígono de país con intensidad 0.5 y visualícelo con Graphics.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_58.png)
intensity = 0.5;
sample = ppp[region, intensity, 1];
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_59.png)
Show[region, Graphics[{Black, Point @@ sample}]]
![](assets.es/sample-from-a-poisson-point-process/O_47.png)
Genere 104 muestras del mismo proceso. El total número de muestras satisface PoissonDistribution, con la media igual a la intensidad las veces del área de la región.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_60.png)
samples = ppp[region, intensity, 10^4];
counts = Length /@ samples;
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_61.png)
htd = PearsonChiSquareTest[counts,
PoissonDistribution[intensity RegionMeasure[region]],
"HypothesisTestData"];
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_62.png)
htd["TestDataTable"]
![](assets.es/sample-from-a-poisson-point-process/O_48.png)
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_63.png)
htd["TestConclusion"]
![](assets.es/sample-from-a-poisson-point-process/O_49.png)
El número de puntos en cualquier subregión es también distribuido por Poisson. Aquí, esto se examina con un disco que yace dentro del polígono, y se cuenta el número de puntos en él.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_64.png)
disk1 = Disk[{-107, 28}, 1.5];
Show[region, Graphics[{Red, disk1}]]
![](assets.es/sample-from-a-poisson-point-process/O_50.png)
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_65.png)
memberfun1 = RegionMember[disk1];
counts1 = Table[Total[Boole[memberfun1[pts]]], {pts, samples}];
Realice una prueba PearsonChiSquareTest en el número de cuentas dentro de una distribución de Poisson.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_66.png)
htd = PearsonChiSquareTest[counts1,
PoissonDistribution[intensity RegionMeasure[disk1]],
"HypothesisTestData"];
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_67.png)
htd["TestDataTable"]
![](assets.es/sample-from-a-poisson-point-process/O_51.png)
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_68.png)
htd["TestConclusion"]
![](assets.es/sample-from-a-poisson-point-process/O_52.png)
El número de puntos en cualquier subregión disjunta es independiente. Aquí, se cuenta el número de puntos en los dos discos disjuntos, y se realiza una prueba de SpearmanRankTest.
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_69.png)
disk2 = Disk[{-100, 20}, 1.3];
Show[region, Graphics[{Red, disk1, Blue, disk2}]]
![](assets.es/sample-from-a-poisson-point-process/O_53.png)
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_70.png)
memberfun2 = RegionMember[disk2];
counts2 = Table[Total[Boole[memberfun2[pts]]], {pts, samples}];
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_71.png)
htd = SpearmanRankTest[counts1, counts2, "HypothesisTestData"];
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_72.png)
htd["TestDataTable"]
![](assets.es/sample-from-a-poisson-point-process/O_54.png)
![Click for copyable input](assets.es/sample-from-a-poisson-point-process/In_73.png)
htd["TestConclusion"]
![](assets.es/sample-from-a-poisson-point-process/O_55.png)