Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2018, PySAL - mgwr developers
Copyright (c) 2018-, PySAL - mgwr developers
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
1 change: 0 additions & 1 deletion MANIFEST.in

This file was deleted.

25 changes: 9 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,23 @@
**M**ultiscale **G**eographically **W**eighted **R**egression (MGWR)
=======================================
# **M**ultiscale **G**eographically **W**eighted **R**egression (MGWR)

[![Build Status](https://travis-ci.org/pysal/mgwr.svg?branch=master)](https://travis-ci.org/pysal/mgwr)
[![Documentation Status](https://readthedocs.org/projects/mgwr/badge/?version=latest)](https://mgwr.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/mgwr.svg)](https://badge.fury.io/py/mgwr)

This module provides functionality to calibrate multiscale (M)GWR as well as traditional GWR. It is
built upon the sparse generalized linear modeling (spglm) module.
This module provides functionality to calibrate multiscale (M)GWR as well as traditional GWR. It is built upon the sparse generalized linear modeling (spglm) module.

Features
--------
## Features

- GWR model calibration via iteratively weighted least squares for Gaussian,
Poisson, and binomial probability models.
- GWR model calibration via iteratively weighted least squares for Gaussian, Poisson, and binomial probability models.
- GWR bandwidth selection via golden section search or equal interval search
- GWR-specific model diagnostics, including a multiple hypothesis test
correction and local collinearity
- GWR-specific model diagnostics, including a multiple hypothesis test correction and local collinearity
- Monte Carlo test for spatial variability of parameter estimate surfaces
- GWR-based spatial prediction
- MGWR model calibration via GAM iterative backfitting for Gaussian model
- Parallel computing for GWR and MGWR
- MGWR covariate-specific inference, including a multiple hypothesis test
correction and local collinearity
- MGWR covariate-specific inference, including a multiple hypothesis test correction and local collinearity
- Bandwidth confidence intervals for GWR and MGWR

Citation
--------
Oshan, T. M., Li, Z., Kang, W., Wolf, L. J., & Fotheringham, A. S. (2019). mgwr: A Python implementation of multiscale geographically weighted regression for investigating process spatial heterogeneity and scale. ISPRS International Journal of Geo-Information, 8(6), 269.

## Citation

* **Oshan, T. M., Li, Z., Kang, W., Wolf, L. J., & Fotheringham, A. S.** (2019). *mgwr: A Python implementation of multiscale geographically weighted regression for investigating process spatial heterogeneity and scale*. ISPRS International Journal of Geo-Information, 8(6), 269. DOI: [`10.3390/ijgi8060269`](https://doi.org/10.3390/ijgi8060269)
6 changes: 5 additions & 1 deletion mgwr/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
__version__ = "2.2.1"
import contextlib
from importlib.metadata import PackageNotFoundError, version

from . import gwr
from . import sel_bw
from . import diagnostics
from . import kernels

with contextlib.suppress(PackageNotFoundError):
__version__ = version("mgwr")
74 changes: 74 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[build-system]
requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]

[project]
name = "mgwr"
dynamic = ["version"]
authors = [
{ name = "Taylor M. Oshan", email = "tayoshan@gmail.com" },
]
maintainers = [{ name = "PySAL Developers" }]
license = { text = "BSD 3-Clause" }
description = "Multiscale Geographically Weighted Regression"
keywords = ["spatial statistics"]
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.11"
dependencies = [
"libpysal>=4.12",
"numpy>=2.0",
"scipy>=1.13",
"spglm>=1.1",
"spreg>=1.8",
]

[project.urls]
Home = "https://github.com/pysal/mgwr/"
Repository = "https://github.com/mgwr/spint"

[project.optional-dependencies]
dev_tests = [
"pre-commit",
"ruff",
"watermark",
"codecov",
"coverage",
"pandas>=2.3",
"pytest",
"pytest-cov",
"pytest-timeout",
]
docs = [
"myst-parser",
"nbsphinx",
"numpydoc",
"pandoc",
"sphinx",
"sphinxcontrib-bibtex",
"sphinxcontrib-napoleon",
"sphinx-bootstrap-theme",
"sphinx-gallery"
]

[tool.setuptools.packages.find]
include = ["mgwr", "mgwr.*"]


########################################################################
#
# Add [coverage, linting, formatting, testing] stuff in subsequent pass
#
########################################################################
5 changes: 0 additions & 5 deletions requirements.txt

This file was deleted.

6 changes: 0 additions & 6 deletions requirements_docs.txt

This file was deleted.

6 changes: 0 additions & 6 deletions requirements_tests.txt

This file was deleted.

2 changes: 0 additions & 2 deletions setup.cfg

This file was deleted.

66 changes: 0 additions & 66 deletions setup.py

This file was deleted.

Loading