用Python求解幂律分布

用Python求解幂律分布,python,numpy,power-law,Python,Numpy,Power Law,我的数据与分布非常相似。使用Python,我想通过求解以下两个方程来近似数据: y是y轴数据。在Python中,它将是data[i]。x将是i+1。因此,我们得到两个方程,其中两个未知变量位于第一个数据索引处,另一个位于数据中其他地方的“随机”第二个: 问题归结为公正地解决 由于数学上的简化。我不知道如何使用像这样的库来解这样的方程。如何使用Python查找a的值?好的,我知道了 import math def get_power_law_variables(data): c

我的数据与分布非常相似。使用Python,我想通过求解以下两个方程来近似数据:

y
是y轴数据。在Python中,它将是
data[i]
。x将是
i+1
。因此,我们得到两个方程,其中两个未知变量位于第一个数据索引处,另一个位于数据中其他地方的“随机”第二个:


问题归结为公正地解决

由于数学上的简化。我不知道如何使用像这样的库来解这样的方程。如何使用Python查找
a
的值?

好的,我知道了

import math

def get_power_law_variables(data):
    c = data[0]
    middle_index = len(data) / 2
    division = float(data[middle_index]) / c
    logarithm_base = middle_index + 1
    a = math.log(division, logarithm_base)
    return c, a

# Example usage
data = range(50, 150)
c, a = get_power_law_variables(data)
print c, a

你不需要方程求解器
a=(1/2)*math.log10(数据[99]/data[0])
是的,它似乎与
a=math.log(数据[99]/data[0],100]一起工作。
你能解释一下为什么使用中间索引作为日志库吗?