PLS1
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/18 04:27 UTC 版)
PLS1は、Yがベクトルの場合について適切で広く用いられているアルゴリズムである。PLS1はTを正規直交行列として推定する。以下に疑似コードを示す(大文字は行列、小文字は上に添字がある場合ベクトル、下に添字がある場合スカラーである)。 function PLS1( X , y , l {\displaystyle X,y,l} ) X ( 0 ) ← X {\displaystyle X^{(0)}\gets X} w ( 0 ) ← X T y / | | X T y | | {\displaystyle w^{(0)}\gets X^{T}y/||X^{T}y||} , wの初期推定 t ( 0 ) ← X w ( 0 ) {\displaystyle t^{(0)}\gets Xw^{(0)}} for k = 0 {\displaystyle k=0} to l t k ← t ( k ) T t ( k ) {\displaystyle t_{k}\gets {t^{(k)}}^{T}t^{(k)}} (これはスカラー) t ( k ) ← t ( k ) / t k {\displaystyle t^{(k)}\gets t^{(k)}/t_{k}} p ( k ) ← X ( k ) T t ( k ) {\displaystyle p^{(k)}\gets {X^{(k)}}^{T}t^{(k)}} q k ← y T t ( k ) {\displaystyle q_{k}\gets {y}^{T}t^{(k)}} (これはスカラー) if q k = 0 {\displaystyle q_{k}=0} l ← k {\displaystyle l\gets k} , ループから脱出 if k < l {\displaystyle k<l} X ( k + 1 ) ← X ( k ) − t k t ( k ) p ( k ) T {\displaystyle X^{(k+1)}\gets X^{(k)}-t_{k}t^{(k)}{p^{(k)}}^{T}} w ( k + 1 ) ← X ( k + 1 ) T y {\displaystyle w^{(k+1)}\gets {X^{(k+1)}}^{T}y} t ( k + 1 ) ← X ( k + 1 ) w ( k + 1 ) {\displaystyle t^{(k+1)}\gets X^{(k+1)}w^{(k+1)}} end for define W to be the matrix with columns w ( 0 ) , w ( 1 ) , . . . , w ( l − 1 ) {\displaystyle w^{(0)},w^{(1)},...,w^{(l-1)}} .Do the same to form the P matrix and q vector. B ← W ( P T W ) − 1 q {\displaystyle B\gets W{(P^{T}W)}^{-1}q} B 0 ← q 0 − P ( 0 ) T B {\displaystyle B_{0}\gets q_{0}-{P^{(0)}}^{T}B} return B , B 0 {\displaystyle B,B_{0}} このアルゴリズム形式は、入力する XおよびYのセンタリングを必要としない。これはセンタリングがアルゴリズムによって暗黙的に実行されるためである。このアルゴリズムは行列Xの減次( t k t ( k ) p ( k ) T {\displaystyle t_{k}t^{(k)}{p^{(k)}}^{T}} の減算)を行うが、ベクトルyの減次は必要でないため行われない。ユーザ指定の変数lは回帰における潜在因子の数の上限である。この数が行列Xの階数に等しければ、アルゴリズムはBおよび B 0 {\displaystyle B_{0}} に対する最小二乗回帰推定法に等しい。
※この「PLS1」の解説は、「部分的最小二乗回帰」の解説の一部です。
「PLS1」を含む「部分的最小二乗回帰」の記事については、「部分的最小二乗回帰」の概要を参照ください。
- PLS1のページへのリンク