Существует ли особый тип многомерной регрессии для многопараметрических прогнозов?

Я пытаюсь использовать многомерную регрессию для игры в баскетбол. В частности, мне нужно, основываясь на X, Y и расстоянии от цели, предсказать тангаж, рыскание и мощность пушки. Я думал об использовании многомерной регрессии с несколькими переменными для каждого выходного параметра. Есть лучший способ сделать это?

Кроме того, следует ли использовать решение напрямую для наилучшего соответствия или использовать градиентный спуск?


person technillogue    schedule 14.03.2012    source источник
comment
К вашему сведению, то, что вы пытаетесь сделать, называется многомерной регрессией. ХТН.   -  person Fred Foo    schedule 15.03.2012


Ответы (2)


Многомерная регрессия эквивалентна выполнению обратной ковариации набора входных переменных. Поскольку существует много решений для инвертирования матрицы (если размерность не очень высока. Тысяча должна быть в порядке), вы должны сразу выбрать наилучшее соответствие, а не градиентный спуск.

n будет количеством выборок, m будет количеством входных переменных и k будет количеством выходных переменных.

X be the input data (n,m)
Y be the target data (n,k)
A be the coefficients you want to estimate (m,k)

XA = Y
X'XA=X'Y
A = inverse(X'X)X'Y

X' является транспонированием X.

Как видите, как только вы найдете обратную X'X, вы сможете вычислить коэффициенты для любого количества выходных переменных всего за пару матричных умножений.

Используйте любые простые математические инструменты для решения этой задачи (MATLAB/R/Python..).

person ElKamina    schedule 14.03.2012
comment
Можете ли вы немного лучше объяснить обратную ковариацию набора входных переменных? - person technillogue; 15.03.2012
comment
@GLycan Добавьте дополнительный столбец из 1 к X. Таким образом вы можете получить константу (b в y=ax+b). - person ElKamina; 15.03.2012
comment
В настоящее время у меня есть решение pastie.org/3598312 , которое перебирает градусы, включая 0, поэтому я не нужно сделать это. С другой стороны, я получаю немного избыточности. - person technillogue; 15.03.2012

Ответ ЭльКамины правильный, но следует отметить, что он идентичен выполнению k независимых обычных регрессий наименьших квадратов. То есть то же самое, что делать отдельную линейную регрессию от X к тангажу, от X к рысканию и от X к силе. Это означает, что вы не используете корреляции между выходными переменными. Это может подойти для вашего приложения, но есть альтернатива, которая использует преимущества корреляций в выходных данных, — регрессия с уменьшенным рангом (реализация Matlab здесь), или что-то связанное, вы можете явно не коррелировать y, спроецировав его на его основные компоненты (см. PCA, также называемое отбеливание PCA в этом случае, поскольку вы не уменьшаете размерность).

Я настоятельно рекомендую главу 6 учебника Изенмана «Современные многомерные статистические методы: регрессия, классификация и многообразное обучение» для довольно высокого уровня обзора этих методов. Если вы учитесь в университете, она может быть доступна онлайн в вашей библиотеке.

Если эти альтернативы не работают, существует множество сложных методов нелинейной регрессии, которые имеют несколько выходных версий (хотя большинство программных пакетов не имеют многомерных модификаций), таких как регрессия опорных векторов, регрессия гауссовского процесса, регрессия дерева решений, или даже нейронные сети.

person Jeshua    schedule 30.03.2012
comment
Хотя это довольно интересный и подробный ответ, он мне понадобился (FRC Montreal) около двух недель назад, и у нас все равно не было времени реализовать код робота. Спасибо за ответ! - person technillogue; 01.04.2012