Mik*_*ike 10 python statistics social-networking
由于我一直在做一些社交网络分析,我偶然发现了在网络程度上拟合概率分布的问题.
因此,我有一个概率分布P(X >= x),从视觉检查,遵循幂指数截止的幂律而不是纯幂律(直线).
因此,给定指数截止的幂律分布方程是:
f(x)= x**alpha*exp(beta*x)
我如何估计参数alpha并beta使用Python?
我知道scipy.stats.powerlaw包存在并且它们有一个.fit()功能,但它似乎没有完成工作,因为它只返回绘图的位置和比例,这似乎只对正态分布有用?这个包上也没有足够的教程.
PS我很清楚CLauset等人的实现,但他们似乎没有提供估计备用分布参数的方法.
小智 2
函数 scipy.stats.powerlaw.fit 可能仍然适用于您的目的。scipy.stats 中的分布如何工作有点令人困惑(每个分布的文档都引用了可选参数 loc 和 scale,尽管并非所有分布都使用这些参数,并且每个分布的使用方式都不同)。如果您查看文档:
http://docs.scipy.org/doc/scipy/reference/ generated/scipy.stats.powerlaw.html
还有第二个非可选参数“a”,即“形状参数”。在幂律的情况下,它包含单个参数。不用担心“loc”和“scale”。
编辑:抱歉,忘记了您也想要 beta 参数。最好的方法可能是自己定义所需的幂律函数,然后使用 scipy 的通用拟合算法来学习参数。例如: http: //www.scipy.org/Cookbook/FittingData#head-5eba0779a34c07f5a596bbcf99dbc7886eac18e5