exponenta event banner

lscov

Решение методом наименьших квадратов в присутствии известной ковариации

Синтаксис

x = lscov(A,B)
x = lscov(A,B,w)
x = lscov(A,B,V)
x = lscov(A,B,V,alg)
[x,stdx] = lscov(...)
[x,stdx,mse] = lscov(...)
[x,stdx,mse,S] = lscov(...)

Описание

x = lscov(A,B) возвращает решение для обычных наименьших квадратов в линейную систему уравнений A*x = B, т.е. x вектор n-by-1, минимизирующий сумму квадратичных ошибок (B - A*x)'*(B - A*x), где A m-by-n, и B m-by-1. B также может быть матрицей m-на-k, и lscov возвращает одно решение для каждого столбца B. Когда rank(A) < n, lscov устанавливает максимально возможное количество элементов x до нуля, чтобы получить «основное решение».

x = lscov(A,B,w), где w является векторной длиной m действительных положительных весов, возвращает взвешенное решение наименьших квадратов в линейную систему A*x = B, то есть x минимизирует (B - A*x)'*diag(w)*(B - A*x). w обычно содержит либо счетчики, либо обратные отклонения.

x = lscov(A,B,V), где V является m-на-m вещественной симметричной положительной определенной матрицы, возвращает обобщенное решение наименьших квадратов в линейную систему A*x = B с ковариационной матрицей, пропорциональной V, то есть x минимизирует (B - A*x)'*inv(V)*(B - A*x).

В более общем плане V может быть положительным полудефинитом, и lscov прибыль x что сводит к минимуму e'*e, при условии A*x + T*e = B, где минимизация завершена x и e, и T*T' = V. Когда V является полуопределенным, эта проблема имеет решение только в том случае, если B согласуется с A и V (то есть B находится в пространстве столбца [A T]), в противном случае lscov возвращает ошибку.

По умолчанию lscov вычисляет разложение Холеского V и, фактически, инвертирует этот фактор для преобразования задачи в обычные наименьшие квадраты. Однако, если lscov определяет, что V полудефинит, он использует алгоритм ортогонального разложения, который позволяет избежать инвертирования V.

x = lscov(A,B,V,alg) определяет алгоритм, используемый для вычисления x когда V является матрицей. alg могут иметь следующие значения:

  • 'chol' использует разложение Холеского V.

  • 'orth' использует ортогональные разложения и более подходит, когда V является плохо обусловленным или единичным, но является более дорогостоящим с точки зрения вычислений.

[x,stdx] = lscov(...) возвращает оцененные стандартные ошибки x. Когда A является дефицитом ранга, stdx содержит нули в элементах, соответствующих обязательно нулевым элементам x.

[x,stdx,mse] = lscov(...) возвращает среднее значение ошибки в квадрате. Если B предполагается, что она имеет ковариационную матрицуV (или (start2) ×diag(1./W)), то mse - оценка, равная

[x,stdx,mse,S] = lscov(...) возвращает оцененную ковариационную матрицу x. Когда A является дефицитом ранга, S содержит нули в строках и столбцах, соответствующих обязательно нулевым элементам x. lscov не может вернуться S если он вызывается с несколькими правыми сторонами, то есть если size(B,2) > 1.

Стандартные формулы для этих величин, когда A и V являются полным званием, являются

  • x = inv(A'*inv(V)*A)*A'*inv(V)*B

  • mse = B'*(inv(V) - inv(V)*A*inv(A'*inv(V)*A)*A'*inv(V))*B./(m-n)

  • S = inv(A'*inv(V)*A)*mse

  • stdx = sqrt(diag(S))

Однако lscov использует методы, которые быстрее и стабильнее и применимы к случаям с дефицитом ранга.

lscov предполагает, что ковариационная матрица B известен только до масштабного коэффициента. mse является оценкой этого неизвестного масштабного коэффициента, и lscov масштабирование выходных данных S и stdx соответствующим образом. Однако, если V известно, что это именно ковариационная матрица Bтогда это масштабирование не нужно. Для получения соответствующих оценок в этом случае следует выполнить масштабирование S и stdx около 1/mse и sqrt(1/mse)соответственно.

Примеры

Пример 1 - Вычисление обычных наименьших квадратов

Оператор обратной косой черты MATLAB ® (\) позволяет выполнять линейную регрессию путем вычисления оценок коэффициентов регрессии с использованием обычных наименьших квадратов (OLS). Также можно использоватьlscov для вычисления одних и тех же оценок OLS. С помощью lscov, можно также вычислить оценки стандартных ошибок для этих коэффициентов и оценку стандартного отклонения члена ошибки регрессии:

x1 = [.2 .5 .6 .8 1.0 1.1]'; 
x2 = [.1 .3 .4 .9 1.1 1.4]'; 
X = [ones(size(x1)) x1 x2]; 
y = [.17 .26 .28 .23 .27 .34]';

a = X\y
a =
    0.1203
    0.3284
   -0.1312

[b,se_b,mse] = lscov(X,y) 
b =
    0.1203
    0.3284
   -0.1312
se_b =
    0.0643
    0.2267
    0.1488
mse =
    0.0015

Пример 2 - Вычисление взвешенных наименьших квадратов

Использовать lscov для вычисления взвешенного соответствия наименьшим квадратам (WLS) путем предоставления вектора относительных весов наблюдения. Например, можно уменьшить влияние ненадежного наблюдения на посадку:

w = [1 1 1 1 1 .1]'; 

[bw,sew_b,msew] = lscov(X,y,w)
bw =
    0.1046
    0.4614
   -0.2621
sew_b =
    0.0309
    0.1152
    0.0814
msew =
  3.4741e-004

Пример 3 - Расчет общих наименьших квадратов

Использовать lscov для вычисления общего соответствия наименьшим квадратам (GLS) путем обеспечения ковариационной матрицы наблюдения. Например, данные не могут быть независимыми:

V = .2*ones(length(x1)) + .8*diag(ones(size(x1))); 

[bg,sew_b,mseg] = lscov(X,y,V)
bg =
    0.1203
    0.3284
   -0.1312
sew_b =
    0.0672
    0.2267
    0.1488
mseg =
    0.0019

Пример 4 - Оценка ковариационной матрицы коэффициентов

Вычислите оценку ковариационной матрицы коэффициентов для совпадений OLS, WLS или GLS. Стандартные ошибки коэффициента равны квадратным корням значений на диагонали этой ковариационной матрицы:

[b,se_b,mse,S] = lscov(X,y); 

S
S =
    0.0041   -0.0130    0.0075
   -0.0130    0.0514   -0.0328
    0.0075   -0.0328    0.0221

[se_b sqrt(diag(S))] 
ans =
    0.0643    0.0643
    0.2267    0.2267
    0.1488    0.1488

Алгоритмы

Вектор x минимизирует количество (A*x-B)'*inv(V)*(A*x-B). Классическое решение линейной алгебры для этой задачи

 x = inv(A'*inv(V)*A)*A'*inv(V)*B

но lscov вместо этого функция вычисляет QR-разложение A а затем изменяет Q около V.

Ссылки

[1] Странг, Г., Введение в прикладную математику, Уэлсли-Кембридж, 1986, с. 398.

Расширенные возможности

.

См. также

| | |

Представлен до R2006a