我想将幂函数拟合到数据集。我正在使用这种方法:http://mathworld.wolfram.com/LeastSquaresFittingPowerLaw.html
但结果是不可接受的:b = -0,001901,a = 7,26
我的数据集:
8553600 458.2
17193600 373.6
25833600 694.16
34646400 738.33
44064000 817.89
54259200 1040.67
67910400 1032.69
76291200 1222.1
84844800 1245.65
94089600 1217.44
102211200 1579.38
110592000 1859.24
118886400 1711.67
127612800 2303.62
136684800 2658.26
219196800 3669.23
225676800 3525.02
225763200 3749.27
这种方法不合适,还是我制作了一个miastake?有没有更好的解决方案呢?
答案 0 :(得分:2)
拟合方法是“垃圾输入,垃圾输出”方法:首先应该让自己确信是这样的关系,就像你想要适合的关系一样。在这种情况下,制作一个散点图,看看它是否看起来像一个幂函数。它可能只是你必须添加一个常量,或选择错误的指数。一般来说,没有办法轻易估计关系。最好的方法是找到理论上的争论,为什么某个关系应该成立,并尝试估计这种关系的参数。
答案 1 :(得分:1)
您的数据看起来更像是线性函数而不是幂律。通过将其与f(x) = a*x+b
拟合,您将获得更好的契合度。
答案 2 :(得分:0)
我认为你错误地实施了它。
B的分母是
n*sum( x_i ^2 ) - (sum( x_i ))^2
虽然看起来像你做了
n*sum( x_i )^2 - (sum( x_i))^2