Можно ли использовать метод наименьших квадратов для уравнения y = a0 + a1*x1 + a2*x2 + a3*x3, где x3=x2^2, а x1 = ∫x2dt (интеграл от х2)
Стоит задача определения параметров некоторой системы y = a0 + a1x1 + a2x2 + a3*x3. Пытаюсь определить параметры a0..a3 методом наименьших квадратов. Нюанс заключается в том, что x3=x2^2, а x1 = ∫x2dt (интеграл от х2).
Для оценки работы алгоритма использую некоторые тестовые наборы значений с известными a0..a3, и считаю их методом МНК, но не получаю искомые значения.
Пример в матлаб:
A = [0.5; 1; 1.5; -2]; # вектор параметров a0..a3
x2 = 0:0.01:1; #
X = [ones(size(x2)); cumtrapz(x2)*0.01; x2; x2.^2]'; # матрица регрессоров
Y = X*A; # вектор зависимой переменной y
Beta = pinv(X)*Y; # оценки МНК
Y_est = X*Beta; # вычисление зависимой переменной на основе оценок МНК
plot(Y)
hold on
plot(Y_est)
При вычислении Beta получаю вектор [0.5000; -0.6000; 1.5000; -1.2000].
Подскажите, что делаю не так, и корректен ли вообще такой подход? Возможно есть какие-то альтернативы