Если это полезно, вот шаблон Numpy / Scipy (Python), чтобы делать то, что вы хотите:
from numpy import array
from scipy.optimize import leastsq
def __residual(params, y, a, b, c):
p0, e0, p1, e1, p2, e2 = params
return p0 * a ** e0 + p1 * b ** e1 + p2 * c ** e2 - y
# load a, b, c
# guess initial values for p0, e0, p1, e1, p2, e2
p_opt = leastsq(__residual, array([p0, e0, p1, e1, p2, e2]), args=(y, a, b, c))
print 'y = %f a^%f + %f b^%f %f c^%f' % map(float, p_opt)
Если вы действительно хотите понять, что происходит, вам придется потратить время на то, чтобы масштабировать кривую обучения для какого-либо инструмента или среды программирования - я действительно не думаю, что есть какой-то способ обойти это. Люди обычно не пишут специализированные инструменты для выполнения таких вещей, как трехсторонняя регрессия власти.