A package for conducting Comparative Judgement
Project description
Comparative Judgement
A package for comparative judgement (CJ).
Installation
Dependencies
comparative-judgement requires:
- Python (>= |PythonMinVersion|)
- NumPy (>= |NumPyMinVersion|)
- SciPy (>= |SciPyMinVersion|)
- Ray
User installation
If you already have a working installation of NumPy and SciPy,
the easiest way to install comparative_judgement is using pip::
pip install comparative-judgement
conda install -c conda-forge comparative-judgement
Bayesian CJ
Importing the BCJ model and initiating a instance of the model with 4 samples:
from cj.models import BayesianCJ
BCJ = BayesianCJ(4)
Creating the data:
import numpy as np
data = np.asarray([
[0, 1, 0],
[0, 1, 0],
[0, 3, 0],
[1, 0, 1],
[1, 0, 1],
[1, 0, 1],
[1, 2, 1],
[1, 2, 1],
[1, 2, 1],
[1, 2, 1],
[1, 2, 1],
[2, 1, 2],
[2, 1, 2],
[2, 1, 2],
[2, 3, 2],
[3, 0, 3],
[3, 0, 3],
[3, 0, 3],
[3, 0, 3],
[3, 2, 3],
[3, 2, 3],
[3, 2, 3],
])
running the model:
BCJ.run(data)
Finding the $\mathbb{E}[\mathbf{r}]$
BCJ.Er_scores
>>> [3.046875, 2.09765625, 3.05859375, 1.796875]
Finding the BCJ rank:
BCJ.rank
>>> array([3, 1, 0, 2])
Multi-Criteria BCJ
Importing the BCJ model and initiating a instance of the model with 4 samples:
from cj.models import MBayesianCJ
criteria_weights = [0.2, 0.2, 0.6]
MBCJ = MBayesianCJ(3, criteria_weights)
data = [
#A, B,C1, 2, 3
[0, 1, 1, 1, 1],
[1, 2, 1, 1, 1],
[0, 2, 0, 0, 2]
]
running the model:
MBCJ.run(data)
Finding the overall MBCJ rank:
MBCJ.combined_rank
>>> array([1, 2, 0])
Finding the individual criteria BCJ ranks:
MBCJ.lo_rank_scores
>>> {0: [np.float64(2.0), np.float64(1.5), np.float64(2.5)],
1: [np.float64(2.0), np.float64(1.5), np.float64(2.5)],
2: [np.float64(2.5), np.float64(1.5), np.float64(2.0)]}
Traditional BTM CJ
Importing the BTM Model a instance of the model with 4 samples:
from cj.models import BTMCJ
BTM = BTMCJ(4)
running the model:
BTM.run(data)
Finding the optimised p scores:
BTM.optimal_params
>>> array([-0.44654627, 0.04240265, -0.41580243, 0.81994508])
find BTM rank:
BTM.rank
>>> array([3, 1, 2, 0])
Pair Selection Methods
Entropy
from cj.pair_selector import EntropyPairSelector
entropy_pairs = EntropyPairSelector(5)
scores = [55, 65, 72, 45, 80]
standard_dev = 5
entropy_pairs.run_entropy_pairs_simulation(scores, standard_dev)
entropy_pairs.results
>>> [[1, 4, 4],
[1, 3, 1],
[2, 3, 2],
[1, 2, 2],
[0, 2, 2],
[0, 4, 4],
[0, 1, 1],
[3, 4, 4],
[0, 3, 0],
[2, 4, 4],
[1, 2, 2],
[2, 3, 2],
[1, 4, 4],
[3, 4, 4],
[2, 4, 4],
[0, 4, 4],
[0, 2, 2],
[0, 1, 1],
[0, 3, 0],
[1, 3, 1],
[1, 4, 4],
[0, 1, 1],
[0, 4, 4],
[3, 4, 4],
[2, 3, 2],
...
[2, 4, 4],
[0, 1, 1],
[0, 4, 4],
[2, 3, 2],
[1, 2, 2]]
Citing this Library:
@misc{comparative_judgement,
author = {Andy Gray},
title = {Comparative Judgement},
year = {2024},
publisher = {Python Package Index (PyPI)},
howpublished = {\url{https://pypi.org/project/comparative-judgement/}}
}
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file comparative_judgement-0.0.6.tar.gz.
File metadata
- Download URL: comparative_judgement-0.0.6.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14a4928bd1cc06936b423cf3e819eed5505ee85c9b6d8f73ebea477680b4baeb
|
|
| MD5 |
b95f0b0aaee9cfe79c8ad04b193acdc4
|
|
| BLAKE2b-256 |
7492fbeee224034bc34c35fffb03a1bdce819c63b81db5da3aef25b8cdf282fe
|
File details
Details for the file comparative_judgement-0.0.6-py3-none-any.whl.
File metadata
- Download URL: comparative_judgement-0.0.6-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
687e6a28dec56bd2c77210399db34ceb40505943c67908e169a776eebad60385
|
|
| MD5 |
068998917e26231bbe1932f2f0ad2f41
|
|
| BLAKE2b-256 |
5bf1c54e7f1387275dc3e75ceb2dc8acb5ab00177dc7af1716553239c66c280d
|