The pointpats.random module is currently oriented towards random sampling of two-dimensional point patterns. Thinking more similarly to scipy.stats or rvlib, it would be useful to consider the case where we actually implement a .fit() method on these patterns.
For a poisson point pattern, this would entail calculating the intensity for an input, and then allowing simulation from within this process. Likewise, one could estimate a Strauss process, and then simulate from the parameterized values. This would also provide a natural home for an eventual Hawkes process estimator in #161, as well as inhomogenous Poisson processes (xref geopandas/geopandas#3781).
I think the way this might be done would be to add a pointpats.random.distributions namespace that contains estimators that expose a .fit() method.
The
pointpats.randommodule is currently oriented towards random sampling of two-dimensional point patterns. Thinking more similarly toscipy.statsorrvlib, it would be useful to consider the case where we actually implement a.fit()method on these patterns.For a poisson point pattern, this would entail calculating the intensity for an input, and then allowing simulation from within this process. Likewise, one could estimate a Strauss process, and then simulate from the parameterized values. This would also provide a natural home for an eventual Hawkes process estimator in #161, as well as inhomogenous Poisson processes (xref geopandas/geopandas#3781).
I think the way this might be done would be to add a
pointpats.random.distributionsnamespace that contains estimators that expose a.fit()method.