Уравнения для 2 переменных линейной регрессии
Мы используем язык программирования, в котором нет функции линейной регрессии. Мы уже реализовали одно переменное линейное уравнение:
у = топор + б
и просто вычислили коэффициенты A и B из данных, используя решение, подобное этому ответу переполнения стека.
Я знаю, что эта проблема геометрически усложняется при добавлении переменных, но для наших целей нам нужно добавить только еще одну:
z = Ax + By + C
Есть ли у кого-нибудь уравнения в замкнутой форме или код на любом языке, который может решить для A, B и C данные массива x, y и z?
3 ответа
Так что у вас есть три линейных уравнения
k = aX1 + bY1 + cZ1
k = aX2 + bY2 + cZ2
k = aX3 + bY3 + cZ3
Что вы можете сделать, это переписать его как Matriz
| x1 y1 z1 | | a | | k |
| x2 y2 z2 | | b | = | k |
| x3 y3 y3 | | c | | k |
работать [a b c ]
выполните следующую матричную операцию
| a | | x1 y1 z1 | | k |
| b | = inverse( | x2 y2 z2 | ) | k |
| c | | x3 y3 y3 | | k |
Формулу для обратной матрицы 3х3 можно найти здесь
Да, это простая задача линейной алгебры, если вы думаете о ней так, как это делает Гил Странг. Вот письменное объяснение.
Можете ли вы использовать MatLab или вычисления должны выполняться внутри вашего программного обеспечения?
Инструкция MatLab по множественному регрессионному анализу.