Использование сингулярного разложения в методе наименьших квадратов

Использование сингулярного разложения в методе наименьших квадратов. При использовании метода сингулярного разложения SVD Singular Value Decomposition мы проводим разложение для матрицы плана. При этом основное уравнение yXb приобретает вид yUVTb. Отсюда следует, что коэффициенты b можно получить решая уравнение UTyVTb. Т.е. если все j, j1 n, являющиеся диагональными элементами отличны от нуля, то последнее уравнение разрешимо и, где. Однако такое решение не всегда желательно, если некоторые j малы. Для правильного использования метода SVD мы должны ввести границу отражающую точность входных данных и точность использованной плавающей арифметики.

Всякое j, большее, чем, приемлемо, и соответствующее вычисляется по 1.20. Любое j, меньшее, чем, рассматривается как пренебрежимо малое, и соответствующему может быть придано произвольное значение.

С этой произвольностью значений связана не единственность набора коэффициентов, получаемых методом наименьших квадратов. Изменения входных данных и ошибки округлений, меньшие, чем, могут привести к совершенно другому набору коэффициентов, определяемых этим методом. Поскольку обычно желательно, чтобы эти коэффициенты были по возможности малы, то полагаем 0, если j. Отбрасывание чисел j, меньших, чем, приводит к уменьшению числа обусловленности с до. Поскольку число обусловленности является множителем в увеличении ошибки, то следствием будет более надежное определение коэффициентов. Продемонстрируем использование метода на следующем примере tY Следует определить значение Y при X 1980. Если аппроксимировать эти данные квадратичным многочленом и использовать двойную точность, то в результате получим следующие коэффициенты. При одинарной точности вычислений коэффициенты будут иметь значения. У этих двух наборов коэффициентов не совпадают даже знаки.

Если такую модель использовать для предсказания, то для коэффициентов, вычисленных с двойной точностью, прогноз будет Y227780000 , а для обычной точности Y145210000. Ясно, что второй набор коэффициентов бесполезен.

Исследуем достоверность результатов. Матрица плана для данного примера имеет размеры 8 3 Рис. 2. Численный пример Ее сингулярные числа. Число обусловленности равно, что говорит о близости базисных функций 1, t и t2 к линейной зависимости.

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

Прогнозное значение Y1980 будет соответственно 212910000 и 214960000. Эффект обычной точности еще заметен, однако результаты уже не являются катастрофическими. Можно также определить набор нулевых коэффициентов, соответствующих пренебрежимо малому сингулярному числу. Вот эти коэффициенты. Для значений t от 1900 до 1970 величина функции не превосходит 0.0017, поэтому при любом коэффициенты можно изменить, и при этом значения, выдаваемые моделью изменятся не более чем на 0.0017. Любой из четырех перечисленных нами наборов коэффициентов можно получить из другого подобным изменением.

Во вторых, можно улучшить ситуацию заменой базиса. Модели гораздо более удовлетворительны. Важно при этом то, что независимая переменная преобразуется из интервала 1900, 1970 в какой нибудь более приемлемый интервал вроде 0, 70 или, еще лучше, 3.5, 3.5. Числа обусловленности при этом равны 5750 и 10.7 соответственно. последнее значение более чем приемлемо даже при счете с обычной точностью.

Удобнее всего воспользоваться стандартными способами статистического анализа, т.е. матрицу плана преобразуем к стандартизованному варианту Матрица стандартизованных данных есть матрица наблюдений с нулевым средним и дисперсией 1. Это означает, что данные берутся в виде отклонений от среднего, которое мы считаем равным 0, вводим нормировку деля каждый член столбца матрицы на корень квадратный из суммы квадратов отклонений.

Во втором случае, после преобразования матрицы плана ее обусловленность сильно уменьшается, и, соответственно, повышается точность расчетов. Данную программу можно использовать и при решении системы линейных уравнений вместо методов Гаусса, Жордана, Холесского и пр. В приложении 2 приведен пример расчета линейной системы, которая изначально не может быть решена этими методами вследствие вырожденности матрицы коэффициентов. Тем не менее, исследуемый метод дает нам правильное решение.