如何使用 Python 估计幂律分布的指数?
Posted
技术标签:
【中文标题】如何使用 Python 估计幂律分布的指数?【英文标题】:How to estimate the exponent of a power law distribution using Python? 【发布时间】:2012-01-28 18:24:25 【问题描述】:我目前正在做一些网络分析,我想估计平均聚类系数与节点度的幂律分布的指数。首选方法是最大似然估计 (MLE)
我知道这里已经实现了类似的代码:http://tuvalu.santafe.edu/~aaronc/powerlaws/
但是,他们实现的代码专门用于绘制曲线 Pr(X >= x) vs x,其中 x 是给定序列中的一个节点。换句话说,Pr(X >= x) 是X中存在一个节点等于或大于x的概率。
我已经用谷歌搜索了好几天,但我仍然没有找到任何可以做到这一点的工具,例如估计给定两个值序列的幂律分布的指数。
提前致谢。
【问题讨论】:
【参考方案1】:我知道这可能会晚,但您可以查看最近发布的 `powerlaw' 软件包。它有一个 iPython notebook 带有工作示例和图形。
【讨论】:
【参考方案2】:查看scipy.optimize。如果您必须使用最大似然,请定义一个似然函数并使用 fmin() 来找到 -似然的最小值(=似然的最大值)。如果可以接受其他方法,请考虑 curve_fit()(使用最小二乘拟合)。
【讨论】:
以上是关于如何使用 Python 估计幂律分布的指数?的主要内容,如果未能解决你的问题,请参考以下文章