2015-08-10 2 views
0

Я хочу, чтобы выполнить две переменных (линейный) регрессию в соответствии со следующим билинейным уравнением:Python Билинейного регрессионный

f(x,y) = a + b*x + c*y + d*x*y, 

, где (х, у) данные, е представляет собой, например, задается следующей матрицей :

x\y  6.0   7.0   8.0   9.0 
00000 005804.69 007999.53 009833.15 011476.38 
00150 005573.34 007821.44 009687.63 011353.49 
00500 005161.67 007488.53 009408.31 011112.30 
01000 004718.80 007097.39 009060.98 010801.41 
01500 004374.67 006773.64 008760.04 010523.11 
02000 004082.90 006493.12 008492.45 010269.24 
02500 003819.52 006240.45 008248.46 010035.37 
03000 003571.24 006005.50 008021.36 009815.34 

Я нашел несколько способов интерполировать (например passing arguments to a function for fitting), но мне кажется, х и у значения должны иметь одинаковый размер.

Спасибо!

ответ

0

Действительно, значения x и y должны иметь одинаковые размеры с точки зрения решателя. Вы должны организовать свои данные в формате [(x_0, y_0, f (x_0, y_0)), ..., (x_n, y_n, f (x_n, y_n))] для n точек данных. Поэтому, если ваши данные для функции f являются матрицей размерности P X Q, вы должны представить ее как новую матрицу размерности PQ X 3, где строки являются наблюдениями, а столбцы - x, y, f (x, y).

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