1

我有非常类似于power law分布的数据。使用 Python,我想通过求解以下形式的两个方程来近似数据:

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


问题归结为解决

由于数学简化。我不知道如何使用numpy.linalg.solve. 如何找到a使用 Python 的价值?

4

1 回答 1

1

好吧,我明白了。

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
于 2016-04-27T14:49:39.607 回答