pysal.explore.pointpats.PoissonClusterPointProcess

class pysal.explore.pointpats.PoissonClusterPointProcess(window, n, parents, radius, samples, keep=False, asPP=False, conditioning=False)[源代码]

泊松聚类点过程(内曼·斯科特)。两个阶段:1.母公司CSR流程: \(N\) -有条件的或 \(\lambda\) -有条件的。如果父事件跟随 \(\lambda\) -条件CSR过程中,父事件的数量随实现的不同而变化。2.第二步。子进程:以每个父进程为中心的圆中的固定点数。

参数:
窗口 : Window : 窗口

边界几何对象以包含点过程实现。

n : 利息

每个实现的大小。

父母 : 利息

父母人数。

radius : 浮动

以每个父级为中心的圆的半径。

样品 : 列表

实现的次数。

asPP : 布尔

控制“实现”字典中值的数据类型。如果为true,则数据类型为point pattern.py中定义的点模式;如果为false,则数据类型为二维数组。

条件作用 : 布尔

如果为真,请使用 \(lambda\) -父事件的条件化CSR过程,导致跨实现的父事件数量不同;如果为false,则使用 \(N\) -有条件的企业社会责任流程。

实例

>>> import pysal.lib as ps
>>> import numpy as np
>>> from pointpats import Window
>>> from pysal.lib.cg import shapely_ext

打开弗吉尼亚多边形形状文件

>>> va = ps.io.open(ps.examples.get_path("virginia.shp"))

从县形状的并集为va创建外部多边形

>>> polys = [shp for shp in va]
>>> state = shapely_ext.cascaded_union(polys)

从弗吉尼亚州边界创建窗口

>>> window = Window(state.parts)

1.模拟一个大小为200的泊松聚类过程,每个父代0.5个单位内有10个父代和20个子代(父代事件: \(N\) -条件CSR)

>>> np.random.seed(10)
>>> samples1 = PoissonClusterPointProcess(window, 200, 10, 0.5, 1, asPP=True, conditioning=False)
>>> samples1.parameters # number of events for the realization
{0: {'n': 200}}
>>> samples1.num_parents #number of parent events for each realization
{0: 10}
>>> samples1.children # number of children events centered on each parent event
20

2.第二步。模拟一个大小为200的泊松聚类过程,每个父代0.5个单位内有10个父代和20个子代(父代事件: \(\lambda\) -条件CSR)

>>> np.random.seed(10)
>>> samples2 = PoissonClusterPointProcess(window, 200, 10, 0.5, 1, asPP=True, conditioning=True)
>>> samples2.parameters # number of events for the realization might not be equal to 200
{0: {'n': 260}}
>>> samples2.num_parents #number of parent events for each realization
{0: 13}
>>> samples2.children # number of children events centered on each parent event
20
属性:
儿童 : 利息

以父母为中心的儿童人数。可以认为是局部强度。

num_parents : 词典

关键是每个实现的索引。该值是每个实现的父事件数。

实现 : 词典

关键是每个实现的索引,值是每个实现的模拟事件点。值的数据类型由参数“aspp”控制。

parameters : 词典

字典的字典。键是每个实现的索引,值是一个字典,其中键“n”,在n-条件过程中,值始终等于参数n。例如,0:n':100,1:n':100,2:n':100 2。在lambda条件化过程中,从一个占有过程中随机生成。例如,0:n':97,1:n':100,2:n':98

方法

draw \(参数) 在给定窗口内生成一系列点坐标。
realize (n) 在“窗口”的最小边界框中生成n个点,以集群方式分布。
setup () 为每个实现生成事件数。
__init__(window, n, parents, radius, samples, keep=False, asPP=False, conditioning=False)[源代码]

初始化自身。请参阅帮助(键入(self))以获得准确的签名。

方法

__init__ \(window,n,parents,radius,samples) 初始化自身。
draw \(参数) 在给定窗口内生成一系列点坐标。
realize (n) 在“窗口”的最小边界框中生成n个点,以集群方式分布。
setup () 为每个实现生成事件数。