HierarchiaPy:从社交互动中得出层次结构的统计包
项目描述
介绍
HierarchiaPy是用于层次/优势分析方法的优化统计包。它纯粹是用 Python 编写的,主要建立在 Pandas 和 NumPy 之上。可以从 Pandas DataFrame 和 2D Numpy 数组中解析交互数据。这些方法是基于原始发表的论文和测试模块实施的,该模块旨在将结果与参考论文中的示例进行交叉检查。
支配和等级是动物社会行为研究领域的核心概念之一。层次结构(支配地位)可以从个体之间的相互作用(二元关系)中得出。有许多技术可以从此类数据集中获得优势。我们可以将它们分为两类;对某些标准进行数值矩阵优化,导致排名顺序 (1) 并为每个可以计算排名的个体计算某个优势度量 (2)。
HierarchiaPy 统计 python 包旨在实现这两个类别的可用方法,使动物社会科学家能够有效、轻松且以可重复的方式获得支配地位。
方法:稳定发布
- ELO评级
- 随机 ELO 评分
- 大卫的分数
- 标准化大卫分数
- 平均优势指数
- 慢板
- I&SI 98
- 方向一致性指数 (DCI)
- 陡峭
- 陡度测试
- 平面网络可视化
线性测试:稳定版
- 朗道氏
- 改进的朗道 h
- Kendall 的 K(n<10 的卡方近似和 ECDF)
- 无偏 Kendall 的 K(未知关系的排列)
方法:正在开发中
- 工业与安全 13
快速开始
安装
!pip install HierarchiaPy
基本用法
from HierarchiaPy import Hierarchia
import numpy as np
mat_hemelrijk_table_2_1 = np.array([[0, 6, 9, 8, 5],
[0, 0, 4, 6, 0],
[0, 2, 0, 4, 7],
[1, 0, 5, 0, 3],
[0, 0, 2, 3, 0]], dtype='int64')
hier_mat = Hierarchia(mat_hemelrijk_table_2_1, np.array(['a', 'b', 'c', 'd', 'e']))
davids_scores = hier_mat.davids_score()
print(davids_scores)
输出:
{'a': 8.4444, 'b': 1.6111, 'c': -2.3333, 'd': -3.6667, 'e': -4.0556}
文档
有关完整功能和参考,请参阅文档
更改日志
v 0.1.0 - 初始版本
v 0.2.0 - 包含线性统计和测试
v 0.2.1 - 线性测试的热修复
v 0.2.2 - I&SI 98,性能改进
v 0.2.3 - Landau 的 h 经典改进
v 0.2 .4 - 添加了陡峭度、DCI 和网络可视
化 v 0.2.5 - 几个模块的性能改进和矢量化