Решение линейных уравнений и обращение матриц.
В факторном анализе требуется находить решения
линейных уравнений с
неизвестными, например при определении коэффициентов регрессии переменных по факторам. Мы ограничимся здесь симметрическими матрицами, так как корреляционная матрица, с которой мы будем иметь дело, является симметрической. Процедура вычисления упрощается. В общем случае указывается алгоритм, связанный с методом Гаусса, как это, например, описывается Цурмюлем [329].
Задача состоит в том, что нужно найти значения
которые явились бы решением системы уравнений
Речь идет о системе, состоящей из
линейных уравнений с
неизвестными
. Коэффициенты системы
и свободные члены
известны. Система уравнений (1.27) в матричной записи имеет вид:
Итак, допустим, что
является корреляционной матрицей, а вектор-столбец s содержит коэффициенты корреляции
переменных с целевой функцией. Требуется найти уравнение множественной регрессии, выражающей зависимость целевой функции от
переменных. Вектор-столбец
содержит эти искомые коэффициенты регрессии, если все переменные пронормированы (см. с. 246). Задача сводится к вычислению
, если R и s известны. Подобная задача встречается довольно часто. Если обе части равенства (1.28) умножить слева на
то получим
Следовательно, если известна обратная матрица
то, пользуясь соотношением (1.29), легко найти искомое решение в виде вектора
. Остановимся на этом. Обращение матрицы тесно связано с решением системы линейных уравнений. Далее подробно описывается процедура получения решения для (1.28), причем заранее отказываемся от доказательств.
Описываемый способ эффективен для решения систем с симметрической матрицей коэффициентов и впервые был применен Холецким (цитируется по [329]). В литературе на английском языке этот способ известен под названием «метод квадратного корня» (square root method), (см., например, [117]). В верхней части табл. 1.4 дается схема вычислительных операций в общем виде, а в нижней части содержится числовой пример, причем приведенные в нем числа точно соответствуют обозначениям в верхней половине таблицы. Процедура вычислений показана для четырех переменных, но она может быть распространена на любое число переменных. Вначале вписываем в таблицу элементы матрицы R, лежащие на главной диагонали и выше ее, и элементы вектора s, т. е. свободные члены уравнений. Затем суммируем члены по строкам и фиксируем итоги в столбце сумм от
до
При этом суммирование производится по всем элементам строки, включая
и элементы ниже главной диагонали, которые не вписывались вследствие симметрии матрицы R. Значения
можно получить, производя суммирование записанных в таблице коэффициентов матрицы
столбца, начиная сверху до диагонального элемента
включительно, а затем двигаясь направо и включая
Таблица 1.4. Схема вычислений для нахождения решения системы линейных уравнений, записанных в форме
Решение в общем виде
Приступаем к построению вспомогательной матрицы
. С является наддиагональной треугольной матрицей. Переходим к вычислению элементов этой матрицы по двум формулам:
Диагональные элементы всегда вычисляются по первой формуле. Первый элемент
определяется:
Остальные элементы первой строки получаются исходя из второй формулы:
Аналогично вычисляются значения и по и
:
Так как в корреляционной матрице
, то первую строку матрицы С можно полностью позаимствовать из матрицы
Диагональный элемент второй строки матрицы С получается по первой формуле:
Затем по второй формуле вычисляются другие элементы второй строки этой матрицы, а именно:
Величина
используется для контроля. Она должна быть равна сумме элементов второй строки матрицы С, причем в противоположность образованию сумм
в данном случае при суммировании принимаются во внимание только элементы, приведенные в этой строке. Так, сумма элементов второй строки равна:
Переходить к последующим вычислениям можно только тогда когда результат
совпадает с суммой
с точностью до ошибок округ ления, иначе одна допущенная ошибка повлечет за собой последующие.
Аналогично получается третья строка:
Контроль осуществляется путем проверки выполнения тождества
. Наконец, получаем последнюю строку:
причем должно выполняться тождество
с точностью до ошибок округления. Итак, построение треугольной матрицы С производится по строкам, причем для каждой строки проводится проверка вычислений. Диагональные элементы
получаются в результате
извлечения квадратного корня из разности
и
сумм квадратов элементов
, полученных ранее.
Элементы
вычитаемые из
расположены в столбцах матрицы над диагональными элементами, которые требуется получить. Остальные элементы строки определяют, вычитая из
скалярное произведение двух вектор-столбцов матрицы С, которые соответствуют индексам i и k, и результат делят на
При образовании скалярного произведения не учитывают элемент, находящийся на этой новой строке. Для наддиагональной матрицы С имеет место равенство
Таким образом, матрицу R можно представить в виде произведения двух треугольных матриц, транспонированных по отношению друг к другу. Разложение на такие составляющие можно производить со всеми корреляционными матрицами, или, точнее, со всеми положительно-определенными матрицами (на этом понятии мы не будем подробно останавливаться). Не исключено, что некоторые диагональные элементы
будут получаться мнимыми числами. Процедура вычислений от этого не изменяется, так как мнимые элементы в окончательных результатах исчезают. Определение неизвестных
производится по матрице С в обратной последовательности:
Окончательный контроль проводится путем подстановки крэффициентов регрессии в четыре уравнения системы (1.27). Результаты, обозначенные через
записываются в графу контроля вычислительной схемы. Они должны с точностью до ошибок округления совпадать с исходными значениями
. В числовом; примере кроме коэффициентов регрессии вычисляется определитель; матрицы R по формуле
Обращение корреляционной матрицы можно выполнить тем же; путем. Так как должно иметь место равенство
, то вектор-решение, который является соответствующим вектор-столбцом матрицы
находится из системы уравнений, полученных в результате последовательного умножения в левой части приведенного равенства.
Правые части уравнений, т. е. свободные члены, равны соответствующим элементам вектор-столбцов единичной матрицы I. После определения
не составляет большого труда найти результирующий вектор
. Так как в сущности при этой процедуре
раз применяется вспомогательная матрица С, то, используя симметрию матриц и единичную матрицу, можно добиться упрощения расчетов, если их выполнять по рекомендуемой схеме. I В табл. 1.5 приведена схема вычислений в общем виде, а затем дан числовой пример.
При этом, как и в табл. 1.4, числа, приведенные в примере, точно соответствуют обозначениям в верхней половине таблицы. Используется та же самая корреляционная матрица, что и в предыдущем примере. Вначале выписываем в таблицу элементы матрицы и подсчитываем суммы элементов по строкам так же, как в табл. 1.4, однако без свободных членов. Затем вычисляем вспомогательную матрицу С, как было показано выше, и таким же образом производим проверку вычислений. Графа с контрольными суммами не включена в таблицу, в случае совпадения сумм можно делать соответствующие пометки в столбце сумм.
Таблица 1.5. Схема вычисления обратной корреляционной матрицы Решение в общем виде
До этого момента порядок выполнения действий был такой же, как в схеме табл. 1.4; отсутствует только столбец со свободными членами. Четыре вектора, которые представляют собой правую часть равенства
, записаны в верхней правой части таблицы. Вследствие симметрии матрицы I можно использовать только нижний треугольник матрицы.
Теперь приступаем к построению другой вспомогательной матрицы
, которая является поддиагональной треугольной матрицей. Для этого применяем метод квадратного корня к единичной матрице.
Первый столбец матрицы С получаем с помощью описанной ранее процедуры вычисления по элементам первого вектора единичной матрицы:
Второй столбец матрицы
получаем по той же самой методике, однако начиная со второго диагонального элемента единичной матрицы. Диагональные элементы матрицы С получаем по формуле си
Внедиагональные элементы вычисляются аналогично значениям
в столбцах сумм, причем начинать нужно с определения диагонального элемента. Например, для последнего элемента второго столбца матрицы С имеем
Для матрицы С имеет место равенство
Применяя обращение к обеим частям равенства
получим
После этого можно вычислять
. Используя вспомогательную матрицу С, получим все элементы
путем перемножения соответствующих столбцов. При этом опять ограничиваемся элементами ниже диагонали. Диагональные элементы
являются суммами квадратов соответствующих столбцов матрицы С. Например,
Внедиагональные элементы получаем путем перемножения соответствующих столбцов матрицы С (способом столбец на столбец). Например,
Для контроля вычисляем произведение
(только наддиагональная часть) и результаты записываем в левом нижнем углу таблицы. Как видно, результат соответствует единичной матрице с точностью до ошибок округления.