python-igraph API 参考

python-igraph 中所有类、函数和方法的列表

模块文档

igraph 中与统计相关的内容

FittedPowerLaw 拟合幂律到样本向量的结果
Histogram 实数的通用直方图类
RunningMean 运行平均值计算器。
函数 mean 返回一个可迭代对象的平均值。
函数 median 返回未排序或已排序的数字向量的中位数。
函数 percentile 返回未排序或已排序的数字向量的第 p 个百分位数。
函数 power_law_fit 将幂律分布拟合到经验数据
函数 quantile 返回未排序或已排序的数字向量的第 q 个分位数。
函数 sd 返回一个可迭代对象的标准差。
函数 var 返回一个可迭代对象的方差。
def mean(xs):

返回一个可迭代对象的平均值。

示例

>>> mean([1, 4, 7, 11])
5.75
参数
xs一个产生数字的可迭代对象。
返回值
可迭代对象提供的数字的平均值。
参见
如果还需要方差或标准差,请使用 RunningMean()
def median(xs, sort=True):

返回未排序或已排序的数字向量的中位数。

参数
xs向量本身。
sort是否对向量进行排序。 如果您知道向量已经排序,请传递False此处。
返回值
中位数,它始终是一个浮点数,即使向量最初包含整数。
def percentile(xs, p=(25, 50, 75), sort=True):

返回未排序或已排序的数字向量的第 p 个百分位数。

这等效于调用 quantile(xs, p/100.0);有关计算的更多详细信息,请参阅 quantile

示例

>>> round(percentile([15, 20, 40, 35, 50], 40), 2)
26.0
>>> for perc in percentile([15, 20, 40, 35, 50], (0, 25, 50, 75, 100)):
...     print("%.2f" % perc)
...
15.00
17.50
35.00
45.00
50.00
参数
xs向量本身。
p我们要查找的百分位数。 如果要通过一次调用计算多个分位数,它也可以是一个列表。 默认值计算第 25、50 和 75 个百分位数。
sort是否对向量进行排序。 如果您知道向量已经排序,请传递False此处。
返回值
第 p 个百分位数,它始终是一个浮点数,即使向量最初包含整数。 如果 p 是一个列表,则结果也将是一个列表,其中包含列表中每个项目的百分位数。
def power_law_fit(data, xmin=None, method='auto'):

将幂律分布拟合到经验数据

参数
数据要拟合的数据,一个包含整数值的列表
xmin拟合幂律的下限。 如果None,也将估计最佳 xmin 值。 零表示将使用尽可能小的 xmin 值。
method

要使用的拟合方法。 到目前为止,已实现以下方法

  • continuous, hill:当输入数据来自连续尺度时,进行精确的最大似然估计。 这被称为 Hill 估计器。 该估计器的统计误差为 (alpha − 1) ⁄ sqrt(n),其中 alpha 是估计的指数,n 是高于 xmin 的数据点的数量。 已知该估计器表现出较小的有限样本大小偏差,其阶数为 O(n − 1),当 n > 100 时,该偏差很小。 如果 n 很小,igraph 将尝试补偿有限的样本大小。
  • discrete:当输入来自离散尺度时,进行精确的最大似然估计(请参阅参考文献中的 Clauset 等人)。
  • auto:精确的最大似然估计,如果输入向量包含至少一个小数值,则使用连续方法;如果输入向量仅包含整数,则使用离散方法。
返回值
一个 FittedPowerLaw 对象。 拟合xmin值和幂律指数可以从xminalpha返回对象的属性中查询。
未知字段:newfield
ref参考
未知字段:ref
MEJ Newman:幂律、帕累托分布和齐夫定律。 当代物理学 46, 323-351 (2005)
A Clauset, CR Shalizi, MEJ Newman:经验数据中的幂律分布。 电子版 (2007)。 arXiv:0706.1062
def quantile(xs, q=(0.25, 0.5, 0.75), sort=True):

返回未排序或已排序的数字向量的第 q 个分位数。

有许多不同的方法可以计算样本分位数。 igraph 实现的方法是 NIST 推荐的方法。 首先,我们将秩 n 计算为 q(N+1),其中 N 是 xs 中的项目数,然后我们将 n 分成其整数分量 k 和十进制分量 d。 如果 k <= 1,我们返回第一个元素; 如果 k >= N,我们返回最后一个元素,否则我们使用因子 d 返回 xs[k-1] 和 xs[k] 之间的线性插值。

示例

>>> round(quantile([15, 20, 40, 35, 50], 0.4), 2)
26.0
参数
xs向量本身。
q我们要查找的分位数。 如果要通过一次调用计算多个分位数,它也可以是一个列表。 默认值计算第 25、50 和 75 个百分位数。
sort是否对向量进行排序。 如果您知道向量已经排序,请传递False此处。
返回值
第 q 个分位数,它始终是一个浮点数,即使向量最初包含整数。 如果 q 是一个列表,则结果也将是一个列表,其中包含列表中每个项目的分位数。
def sd(xs):

返回一个可迭代对象的标准差。

示例

>>> sd([1, 4, 7, 11])       #doctest:+ELLIPSIS
4.2720...
参数
xs一个产生数字的可迭代对象。
返回值
可迭代对象提供的数字的标准差。
参见
如果还需要平均值,请使用 RunningMean()
def var(xs):

返回一个可迭代对象的方差。

示例

>>> var([1, 4, 8, 11])            #doctest:+ELLIPSIS
19.333333...
参数
xs一个产生数字的可迭代对象。
返回值
可迭代对象提供的数字的方差。
参见
如果还需要平均值,请使用 RunningMean()