GithubHelp home page GithubHelp logo

spint's Introduction

Spatial Interaction Modeling Package

The Spatial Interaction Modeling (SpInt) module seeks to provide a collection of tools to study spatial interaction processes and analyze spatial interaction data.

The initial development of the module was carried out as a Google Summer of Code project (summer 2016). Documentation of the project progress can be found on the project blog.

The module currently supports the calibration of the 'family' of spatial interaction models (Wilson, 1971) which are derived using an entropy maximizing (EM) framework or the equivalent information minimizing (IM) framework. As such, it is able to derive parameters for the following Poisson count models:

Models

  • unconstrained gravity model
  • production-constrained model (origin-constrained)
  • attraction-constrained model (destination-constrained)
  • doubly-constrained model

Calibration is carried out using iteratively weighted least squares in a generalized linear modleing framework (Cameron & Trivedi, 2013). These model results have been verified against comparable routines laid out in (Fotheringham and O’Kelly, 1989; Willimans and Fotheringham, 1984) and functions avaialble in R such as GL or Pythons statsmodels. The estimation of the constrained routines are carried out using sparse data strucutres for lower memory overhead and faster computations.

Additional Features

  • QuasiPoisson model estimation
  • Regression-based tests for overdispersion
  • Model fit statistics including typical GLM metrics, standardized root mean square error, and Sorensen similarit index
  • Vector-based Moran's I statistic for testing for spatial autcorrelation in spatial interaction data
  • Local subset model calibration for mappable sets of parameter estimates and model diagnostics
  • Three types of spatial interaction spatial weights: origin-destination contiguity weights, network-based weights, and vector-based distance weights

In Progress

  • Spatial Autoregressive (Lag) model spatial interaction specification

Future Work

  • Parameter estimation via maximum likelihood and gradient-based optimization
  • Zero-inflated Poisson model
  • Negative Binomial model/zero-inflated negative binomial model
  • Functions to compute competing destinations
  • Functions to compute eigenvector spatial filters
  • Parameter estimation via neural networks
  • Universal (determinsitic) models such as the Radiation model and Inverse Population Weighted model

Cameron, C. A. and Trivedi, P. K. (2013). Regression analyis of count data. Cambridge University Press, 1998.

Fotheringham, A. S. and O'Kelly, M. E. (1989). Spatial Interaction Models: Formulations and Applications. London: Kluwer Academic Publishers.

Williams, P. A. and A. S. Fotheringham (1984), The Calibration of Spatial Interaction Models by Maximum Likelihood Estimation with Program SIMODEL, Geographic Monograph Series, 7, Department of Geography, Indiana University.

Wilson, A. G. (1971). A family of spatial interaction models, and associated developments. Environment and Planning A, 3, 1–32.

spint's People

Contributors

tayloroshan avatar ljwolf avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.