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', return_alpha_only=False):

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

参数
数据要拟合的数据,一个包含整数值的列表
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: 精确的最大似然估计,如果输入向量包含至少一个小数值,则使用连续方法,如果输入向量仅包含整数,则使用离散方法。
return_alpha_only未归档
返回值
一个 FittedPowerLaw 对象。 拟合xmin值和幂律指数可以从xminalpha返回对象的属性中查询。
未知字段:newfield
ref参考
未知字段:ref
MEJ Newman:Power laws, Pareto distributions and Zipf's law. Contemporary Physics 46, 323-351 (2005)
A Clauset, CR Shalizi, MEJ Newman: Power-law distributions in empirical data. E-print (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() 如果您还需要平均值