XLPack 6.1
Excel ワークシート関数 数値計算ライブラリ・リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ WDggglm()

Function WDggglm ( N As  Long,
M As  Long,
P As  Long,
A As  Variant,
B As  Variant,
D As  Variant 
)

一般ガウス・マルコフ線形モデル(GLM)問題

目的
WDggglmは一般ガウス・マルコフ線形モデル(GLM)問題を解く.
d = A*x + B*y の制約条件のもとで || y ||_2 を最小化するxを求める.
ここで, AはN×M行列, BはN×P行列, dは与えられたNベクトルである. ただし, M <= N <= M + P とする. また, 次式が成り立つものとする.
rank(A) = M かつ rank(A B) = N
これらの条件により, 制約付き方程式は常に正しく, 一意の解xおよび最小2ノルム解yを持つ. 解は, 次式で与えられる行列対(A, B)の一般化QR分解を用いて得られる.
A = Q*(R), B = Q*T*Z
(0)
特に行列Bが正方で非特異ならば, GLM問題は次の重み付き線形最小二乗問題に等しい.
|| inv(B)*(d - A*x) ||_2 を最小化するxを求める.
戻り値
max(M,P)+1 x 2
列1列2
行1〜max(M,P)最小二乗解ベクトル x (行1〜M)残差ベクトル y (行1〜P)
行max(M,P)+1残差二乗和の平方根(||y||2)リターンコード

リターンコード
= 0: 正常終了
= 1: 最小二乗解を求めることができなかった. (A, B)対の一般化QR分解のAに関連する上三角行列Rが特異で rank(A) < M である.
= 2: 最小二乗解を求めることができなかった. (A, B)対の一般化QR分解のBに関する上台形行列TのN-M×N-M部分が特異で rank(A B) < Nである.
引数
[in]N行列 A および B の行数. (N >= 1)
[in]M行列 A の列数. (1 <= M <= N)
[in]P行列 B の列数. (P >= N - M)
[in]A(N×M) GLM方程式の係数行列 A.
[in]B(N×P) GLM方程式の係数行列 B.
[in]D(N) GLM方程式の左辺ベクトル d.
出典
LAPACK
使用例
一般ガウス・マルコフ線形モデル(GLM)問題を解く. すなわち, d = A*x + B*y の制約条件のもとで || y ||_2 を最小化するxを求める. ただし,
( -1.06 0.48 -0.04 )
A = ( -1.19 0.73 -0.24 )
( 1.97 -0.89 0.56 )
( 0.68 -0.53 0.08 )
( 1 0 0 0 )
B = ( 0 1 0 0 )
( 0 0 1 0 )
( 0 0 0 1 )
( 0.3884 )
d = ( 0.1120 )
( -0.3644 )
( -0.0002 )
とする.

WDggglm