主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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は二乗誤差(B-A*x)“*(B-A*x)の和を最小にした N行 1.列のベクトルです。ここで、A.は M行 N列であり、Bは M行 1.列です。Bは M行 K列の行列とすることも可能であり、lscovBの各列に対して 1.つの解を返します。秩(A)の場合、lscovは基底解を得るためにxの要素の最大可能数を0に設定します。

Wが正の実数重みのベクトルの長さ Mであるx=lscov(A、B、w)は、線形方程式A*x=Bに対する重み付き最小二乗解を返します。つまり、x(B-A*x)“*diag(w)*(B-A*x)を最小にします。Wは一般的に回数または逆行列分散を含みます。

vが M行 M列の実数の対称正定値行列であるx=lscov(A、B、V)は、vに比例した共分散行列を使用して,線形方程式A*x=Bに対して、一般化した最小二乗解を返します。つまり、x(B-A*x)“*inv(V)*(B-A*x)を最小化します。

より一般的に、vは、半正定値になり、lscovA*x+T*e=Bに従って、e'*eを最小化するxを返します。ここで、最小化はxE以上で,T*T'=Vです。vが半定値の場合、この問題はBA.vを含む場合のみ解をもちます (つまり、B[答:]列の範囲内にあります)。そうでない場合は、lscovはエラーを返します。

既定の設定では、lscovvのコレスキー分解を計算します。実際は、問題を一般的な最小二乗に変換するため、因子を反転します。しかし、lscovvは半定値であると定義する場合、vの反転を避けるために、直交分解アルゴリズムを使用します。

x = lscov (A、B、V, alg)は、vが行列の場合、xの計算に使用するアルゴリズムを指定します。algは以下の値をもちます。

  • “乔”は、vのコレスキー分解を使用します。

  • “奥思”は,直交分解を使用し,vが悪条件な場合や特異な場合は、より正確になります。しかし、直交分解は計算量が大きくなります。

[x,stdx]=lscov(…)は、xの推定標準誤差を返します。A.がランク落ちの場合、stdxxのゼロ要素に対応する要素内にゼロをもちます。

[x,stdx,mse]=lscov(…)は、二乗平均誤差を返します。Bが 共分散行列 σ2.v(または (σ2.诊断(1./W)) をもつと仮定すると、微卫星が σ2.の推定値となります。

[x,stdx,mse,S]=lscov(…)は、xの推定共分散行列を返します。A.がランク落ちの場合、sxのゼロの要素に対応する行と列にゼロをもちます。lscovは、複数の右辺から呼ばれる場合、つまり大小(B, 2) > 1の場合、sを返すことができません。

これらの計算値の標準式は、A.vがフル ランクの場合、以下のようになります。

  • x=库存(A'*库存(V)*A)*A'*库存(V)*B

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

  • S=库存(A'*库存(V)*A)*mse

  • stdx=sqrt(诊断)

しかし、lscovは、より速くより安定なメソッドを使用し、ランク落ちの場合でも適用できます。

lscovBの共分散行列がスケール係数からわかると仮定します。微卫星は、未知のスケール係数の推定であり、lscovは、適切に出力sstdxをスケールします。しかし、vが共分散行列Bであると正確にわかる場合、スケーリングは失敗します。この場合正確な推定を得るには、sstdxをそれぞれ1/msesqrt(1/mse)で再スケールします。

例 1 — 最小二乗の計算

MATLAB®バックスラッシュ演算子 (\) を使用することで、回帰係数の最小二乗法 (苏丹生命线行动)推定によって、線形回帰を実行することができます。同様の OLS推定を計算するために、lscovも使用できます。lscovを使用することによって、これらの係数の標準誤差の推定を計算し、回帰誤差項の標準偏差を推定することもできます。

x1=[.2.5.6.8 1.0 1.1];x2=[.1.3.4.9 1.1.4];X=[1个(尺寸(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.8=0.0015毫秒

例 2 — 重み付き最小二乗の計算

相対観測値の重みベクトルを与えて、重み付き最小二乗 (WLS)近似を計算するためにlscovを使用します。たとえば,信頼性の低い観測値が近似に与える影響を減らしたいとします。

w=[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 — 一般化最小二乗の計算

観測値の共分散行列を与えて、一般化最小二乗 (GLS)近似を計算するために、lscovを使用します。たとえば、ユーザーのデータが独立していないとします。

V=0.2*one(长度(x1))+0.8*diag(尺寸(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=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.1488 0.1488

アルゴリズム

ベクトルxは、(A*x-B)“*inv(V)*(A*x-B)を最小化します。この問題の古典的な線形代数解法は、次のようになります。

x=库存(A'*库存(V)*A)*A'*库存(V)*B

しかし、lscovは、A.の QR分解を代わりに計算し、vを使用してQを修正します。

参照

[1] Strang,G.,应用数学导论,韦尔斯利剑桥,1986年,第398页。

拡張機能

R2006aより前に導入