A python implementation of spatial entropy
Project description
SpatialEntropy
This is a python implementation of spatial entropy, inspired by the R package spatentropy. For now, two spatial entropy methods have been implemented:
- Leibovici’s entropy
- Altieri's entropy
Compare with shannon entropy
Installation
It's available on PyPI
pip install spatialentropy
Usage
Let's generate some fake data first:
import numpy as np
points = 100 * np.random.randn(10000, 2) + 1000
types = np.random.choice(range(30), 10000)
Here we have 10,000 points and then we assigned each point with a category from 30 categories.
Quick start
from spatialentropy import leibovici_entropy
e = leibovici_entropy(points, types)
e.entropy
Leibovici entropy
To calculate the leibovici entropy, we need to set up a distance or an interval to define the co-occurrences.
from spatialentropy import leibovici_entropy
# set the distance cut-off to 5
e = leibovici_entropy(points, types, d=5)
# if you want to change the base of log
e = leibovici_entropy(points, types, base=2)
e.entropy # to get the entropy value
e.adj_matrix # to get the adjacency matrix
e.pairs_counts # to get the counts for each pair of co-occurrences
Altieri entropy
To calculate the altieri entropy, we need to set up intervals to define the co-occurrences.
from spatialentropy import altieri_entropy
# set cut=2, it means we will create 3 intervals evenly from [0,max]
e = altieri_entropy(points, types, cut=2)
# or you want to define your own intervals
e = altieri_entropy(points, types, cut=[0,4,10])
e.entropy # to get the entropy value, e.entropy = e.mutual_info + e.residue
e.mutual_info # the spatial mutual information
e.residue # the spatial residue entropy
e.adj_matrix # to get the adjacency matrix
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file spatialentropy-0.1.0.tar.gz
.
File metadata
- Download URL: spatialentropy-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4019c3487e66f94a6095441adb50781ddb977614db6dffd6113dd57faffab24 |
|
MD5 | 9af9f8dec513123d28653911c398a186 |
|
BLAKE2b-256 | 2a889201d1a0050b8d650f1562944d5c88bfafb49c42728c3620ce105d785128 |
File details
Details for the file spatialentropy-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: spatialentropy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50cd0a1256d9c3f9730e891e42384e5f3ca05e52f21f746f6823feb3d4a88760 |
|
MD5 | 2e1f8ba1c17f44c4c033b7a88e4437e9 |
|
BLAKE2b-256 | f8270dc174e638873627a106f8de1a37fe803231fb9365205d09d0837eb08502 |