A Python Toolbox for Mapping Evolving Relationship Data
Project description
evomap - A Toolbox for Dynamic Mapping in Python
evomap
is a comprehensive Python toolbox for creating, exploring, and analyzing spatial representations ('maps') from complex data, including high-dimensional feature vectors and pairwise relationship matrices. Such spatial representations find frequent applications in Marketing (e.g., market structure or positioning analysis), Network Analysis (e.g., social, economic, bibliographic, or biological networks), Political Science (e.g., ideological scaling), and High-Dimensional Data Analysis.
A key use case of evomap
is creating such maps from time-evolving data by processing longitudinal sequences of relationship matrices or high-dimensional feature vectors. The resultant maps allow users to track changes in complex systems, such as evolving markets or networks, and visualize their underlying evolution.
evomap
offers an all-in-one solution by integrating several essential steps into an easy-to-use API, including:
- preprocessing
- mapping (static/dynamic)
- evaluation
- plotting
For any bug reports or feature requests, please get in touch.
Installation
evomap
is available via PyPi.
To install evomap
run
pip install evomap
evomap
requires Python version>=3.9. We recommend using Python within a virtual environment, for instance via conda:
conda create -n evomap python
conda activate evomap
pip install evomap
Usage
The following tutorials provide a good starting point for using evomap
.
For a simple introduction to a typical market structure application, see this example.
If you want to explore more of what evomap has to offer, check out the following examples on:
Mapping Methods
As of now, evomap
provides implementations of the following mapping methods:
- MDS (Multidimensional Scaling)
- Sammon Mapping (non-linear MDS)
- t-SNE (t-distributed Stochastic Neighbor Embedding)
You can apply all methods statically and dynamically. Moreover, evomap
follows the syntax conventions of scikit-learn
, such that other
machine-learning techniques (such as LLE, Isomap, ... ) can easily be integrated. For more background, see here.
References
This package is based on the authors' work in
[1] Matthe, M., Ringel, D. M., Skiera, B. (2023), Mapping Market Structure Evolution. Marketing Science, Vol. 42, Issue 3, 589-613.
Read the full paper here (open access): https://doi.org/10.1287/mksc.2022.1385
Please cite our paper if you use this package or part of its code
evomap
also builds upon the work of others, including
[2] Torgerson, W. S. (1952). Multidimensional Scaling: I. Theory and method. Psychometrika, 17(4), 401-419.
[3] Kruskal, J. B. (1964). Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis. Psychometrika, 29(1), 1-27.
[4] Sammon, J. W. (1969). A nonlinear mapping for data structure analysis. IEEE Transactions on computers, 100(5), 401-409.
[5] Van der Maaten, L., & Hinton, G. (2008). Visualizing data using t-SNE. Journal of Machine Learning Research, 9(11).
[6] Ringel, D. M., & Skiera, B. (2016). Visualizing asymmetric competition among more than 1,000 products using big search data. Marketing Science, 35(3), 511-534.
If you use any of the methods implemented in 'evomap', please consider citing the original references alongside this package.
Contributing
Interested in contributing? Get in touch!
License
evomap
is licensed under the terms of the MIT license. It is free to use, however, please cite our work.
Credits
evomap
was created with cookiecutter
and the py-pkgs-cookiecutter
template.
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 evomap-0.4.1.tar.gz
.
File metadata
- Download URL: evomap-0.4.1.tar.gz
- Upload date:
- Size: 6.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c49aba7d496a13521fba2038728f9ebff97b65d1e28529e19a71beaed56d854 |
|
MD5 | 256101037b72a394dea2a080794e7c39 |
|
BLAKE2b-256 | cd464289918e29fa029a42b2b782c126b1f1a04b112873c2c30606bb30a0a79a |
File details
Details for the file evomap-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: evomap-0.4.1-py3-none-any.whl
- Upload date:
- Size: 6.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b78baa9a6e5fd7edbc383d5d70c83bfae7cd907ce008d1cf3e3c82b4e02c7ff |
|
MD5 | e89499b7bb9e8824aec484c7966a40b3 |
|
BLAKE2b-256 | 536d8af2a9465a64ecf4c4382a52c025674df0cb91a11a127a98b4ea2428adc1 |