Главная > Математика > Линейный регрессионный анализ
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

11.6. Уточнение решения методом итераций

Если есть точный вектор остатков, то Поэтому

или (вводя соответствующие обозначения)

Поскольку матрицу можно представить в виде

где — соответственно нижняя и верхняя треугольные матрицы.

Пусть -численное решение нормальных уравнений, вычисленный остаток и

Из-за наличия ошибок округления при отыскании и при решении уравнения полученный вектор не будет в точности равен вектору из (11.39), так что возникает ненулевая разность

Поэтому, если, скажем, то удовлетворяет соотношению

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

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

(1) Вычисляется вектор с матрицей определенной в (11.39).

(2) Решается уравнение путем решения двух треугольных систем

(3) Вычисляется вектор

Этот процесс продолжается до тех пор, пока не реализуется соотношение где — заранее заданное число, не выполнится какое-нибудь другое условие.

Описанный метод уточнения численного решения системы линейных уравнений (в данном случае называется итерационным уточнением. В виде приспособления к задаче наименьших квадратов, представленного выше этот метод кратко рассматривает Golub (1969, с. 385). Его можно использовать для уточнения численного решения нормальных уравнений, получаемого методом Холецкого или методами ортогонального разложения, причем нужна бывает только матрица а матрица X хранится в памяти.

Итерационное уточнение подробно рассматривали многие авторы, например Golub, Wilkinson (1966), Moler (1967), Wilkinson (1967) и Fletcher (1975). По-видимому, когда имеет несколько правильных знаков (т. е. матрица X не слишком плохо обусловлена), будет сходиться к точному решению (в пределах "принятой точности"), если значения вычислять с двойной точностью. Поскольку элементы, вектора вычисляются с обычной точностью, такую двойную точность можно достичь путем накопления скалярных произведений (без промежуточного

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

Даже в тех случаях, когда более высокой точности решения не требуется, имеет смысл попробовать произвести хотя бы одну итерацию по методу итерационного уточнения решения, чтобы проверить характер обусловленности матрицы Если заметного уточнения оценки при этом не наблюдается, это означает, что матрица X плохо обусловлена, и программа должна иметь соответствующий выход "отказ", подобный имеющемуся в программе Bjorck, Golub (1967); такой выход использовал Wampler (1970).

<< Предыдущий параграф Следующий параграф >>
Оглавление