2015-03-18 2 views
-1

Предположим, у меня есть три набора данных x, y, z.Как сделать простую «установку модели» в python?

Я хочу, чтобы соответствовать простой модели: A*x + B*y + C = z (. А, В, С постоянны)

Как я могу сделать это в Python?

Я нашел scipy.optimize.curve_fit. Однако, похоже, он может принимать только одну переменную: curve_fit(f, xdata, ydata[, p0, sigma]), которая соответствует f(x) = y. Мне нужно f(x, y)=z.

В Mathematica NonLinearModelFit может выполнить эту работу. Мне интересно, есть ли в Python аналогичный модуль, который я пропустил.

ответ

1

docs предположить, что scipy.optimize.curve_fit действительно может сделать то, что вам нужно. В частности:

XData: последовательность М-длине или (K, M) -образный массив

для функций с к предсказателям. Независимая переменная, в которой измеряются данные.

ydata: последовательность M-длина

Зависимые данные - номинально е (XData ...)

Если независимые переменные в настоящее время отдельных массивы, вы могли бы объединить их с np.vstack:

scipy.optimize.curve_fit(f, np.vstack(x, y), z) 
+0

Я неправильно понял t описание 'xdata' в документах. В следующий раз я буду более осторожен. Иногда, я хочу, чтобы мой родной язык был английским ... Спасибо вам большое! – Leftriver

Смежные вопросы