0

使用 numpy 找到 loglog 数据线性回归的最佳方法是什么?当我绘制数据并尝试

A = np.vstack([np.log10(X), np.ones(len(X))]).T
m, c = np.linalg.lstsq(A, np.log10(Y))[0]
ax.plot(X, [m*x + c for x in X], 'r')

其中 X 和 Y 是数据列表,这是结果,显然不正确: 在此处输入图像描述

4

1 回答 1

1

如果你做一个线性回归

log10(y) = m*log10(x) + c

然后在 (x,y) 坐标中你有

y = (10**c) * x**m

也就是说,您的数据符合幂律。改变这个

ax.plot(X, [m*x + c for x in X], 'r')

ax.plot(X, np.power(10, c) * np.power(X, m), 'r')
于 2014-11-18T18:43:11.753 回答