首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将幂律与Python中的经验数据相匹配

将幂律与Python中的经验数据相匹配
EN

Stack Overflow用户
提问于 2013-08-11 00:39:35
回答 1查看 7.8K关注 0票数 8

我正在试验用powerlaw模块来拟合经验数据的幂律。我创建了以下数据,这些数据遵循指数2的幂律分布:

代码语言:javascript
运行
复制
x = range(1,1000)
y = []

for i in x:
    y.append(i**(-2))

我期望拟合幂律有一个指数为2。然而,得到的指数与理论值有很大的偏差:

代码语言:javascript
运行
复制
    fitted_pl = powerlaw.Fit(y)

    fitted_pl.alpha
    Out[115]: 1.4017584065981563

你能告诉我为什么会发生这种事吗,或者指出我在这里做错了什么?

谢谢您的好意回答!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-12 06:43:41

正如@DSM所指出的,powerlaw模块处理的是拟合幂律分布所得出/生成的值的指数,而不是拟合回归。为了帮助那些可能有类似困惑的人,下面是如何验证指数拟合的方法:

代码语言:javascript
运行
复制
## use a proper power law random number generator (or code your own) 
from networkx.utils import powerlaw_sequence
pl_sequence = powerlaw_sequence(1000,exponent=2.5)

fitted_pl = powerlaw.Fit(pl_sequence)

fitted_pl.alpha
Out[73]: 2.4709012785346314  ##close enough
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18167669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档