このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
既知の共分散を使用した最小二乗解法
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列のベクトルです。ここで,一个
はm行n列であり,B
はm行1列です。B
はm行k列の行列とすることも可能であり,lscov
はB
の各列に対して1の解を返します。rank(A) < n
の場合,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
は,半正定値になり,lscov
はA*x + T*e = B
に従って,e”* e
を最小化するx
を返します。ここで,最小化はx
とe
以上で,T*T' = v
です。V
が半定値の場合,この問題はB
が一个
とV
を含む場合のみ解をもます(;B
は[T]
列の範囲内にあります)。そうでない場合は,lscov
はエラ,を返します。
既定の設定では,lscov
はV
のコレスキ,分解を計算します。実際は,問題を一般的な最小二乗に変換するため,因子を反転します。しかし,lscov
がV
は半定値であると定義する場合,V
の反転を避けるために,直交分解アルゴリズムを使用します。
x = lscov(A,B,V,alg)
は,V
が行列の場合,x
の計算に使用するアルゴリズムを指定します。alg
は以下の値をもます。
“胆固醇”
は,V
のコレスキ,分解を使用します。
“奥尔特”
は,直交分解を使用し,V
が悪条件な場合や特異な場合は,より正確になります。しかし,直交分解は計算量が大きくなります。
[x,stdx] = lscov(…)
は,x
の推定標準誤差を返します。一个
がランク落の場合,stdx
はx
のゼロ要素に対応する要素内にゼロをもます。
[x,stdx,mse] = lscov(…)
は,二乗平均誤差を返します。B
が共分散行列σ2V
(または(σ2)×诊断接头
(1. /W
))をもと仮定すると,均方误差
がσ2の推定値となります。
[x,stdx,mse,S] = lscov(…)
は,x
の推定共分散行列を返します。一个
がランク落の場合,年代
はx
のゼロの要素に対応する行と列にゼロをもます。lscov
は,複数の右辺から呼ばれる場合,まり1 .选择“B,2, 1”
の場合,年代
を返すことができません。
これらの計算値の標準式は,一个
とV
がフルランクの場合,以下のようになります。
x = inv(A'*inv(V)*A)*A'*inv(V)*B
mse = B *(发票(V) -发票(V) * *发票(‘*发票(V) *) *的*发票(V)) * B / (mn)
S = inv(A'*inv(V)*A)*mse
stdx =√(diag(S))
しかし,lscov
は,より速くより安定なメソッドを使用し,ランク落の場合でも適用できます。
lscov
はB
の共分散行列がスケ,ル係数からわかると仮定します。均方误差
は,未知のスケ,ル係数の推定であり,lscov
は,適切に出力年代
とstdx
をスケ,ルします。しかし,V
が共分散行列B
であると正確にわかる場合,スケ,リングは失敗します。この場合正確な推定を得るには,年代
とstdx
をそれぞれ1 / mse
と√1 / mse)
で再スケ,ルします。
MATLAB®バックスラッシュ演算子(\)を使用することで,回帰係数の最小二乗法(OLS)推定によって,線形回帰を実行することができます。同様のols推定を計算するために,lscov
も使用できます。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
相対観測値の重みベクトルを与えて,重み付き最小二乗(wls)近似を計算するためにlscov
を使用します。たとえば,信頼性の低い観測値が近似に与える影響を減らしたいとします。
W = [1 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
観測値の共分散行列を与えて,一般化最小二乗(gls)近似を計算するために,lscov
を使用します。たとえば,ユ,ザ,のデ,タが独立していないとします。
V = 2 *(长度(x1)) + 8 *诊断接头((大小(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
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√(diag(S))] ans = 0.0643 0.0643 0.2267 0.2267 0.1488 0.1488
ベクトルx
は,(* *取向)发票(V) *(*取向)
を最小化します。この問題の古典的な線形代数解法は,次のようになります。
x = inv(A'*inv(V)*A)*A'*inv(V)*B
しかし,lscov
は,一个
のqr分解を代わりに計算し,V
を使用して问
を修正します。
[1]斯特朗,G.,应用数学导论,韦尔斯利-剑桥,1986,第398页。