Variation Version

✏️ LAR(Least Angle Regression)

  1. r0=yβ^0=yyˉr_0=y-\hat{\beta}_0=y-\bar{y}을 첫번째 모형으로 시작(β=0)\forall \beta=0)하고, X변수는 zero mean, unit norm을 가지도록 정규화를 시킨다.

  2. r0r_0와 가장 관련성이 높은 xjx_j를 찾는다. 다시 말해, argmaxxjxj,r0argmax_{x_j}\langle x_j,r_0\rangle를 찾는다.

  3. 같은 인덱스 j를 가지는 계수βj\beta_j를 0에서 xj,r0\langle x_j,r_0\rangle으로 값을 키운다. 이 때 모형은 r1=yyˉβ^jxjr_1=y-\bar{y}-\hat{\beta}_jx_j. 값을 다음의 부등식을 유지하는 범위에서 키운다.xj,r1xk,r1\langle x_j,r_1 \rangle \leq \langle x_k,r_1\rangle

  4. 위의 인덱스 j,k를 가지는 계수 βj,βk\beta_j,\beta_kxj,xk\langle x_j,x_k \rangle으로 값을 키운다. 이 때 모형은 r2=yyˉβ^jxjβ^kxkr_2=y-\bar{y}-\hat{\beta}_jx_j-\hat{\beta}_kx_k. 값을 다음의 부등식을 유지하는 범위에서 키운다. xj,xkxl,r2\langle x_j,x_k \rangle \leq \langle x_l,r_2\rangle

  5. 이러한 방식을 p개의 x들이 모두 모형에 들어갈 때 까지 반복한다. min(N1,p)min(N-1,p)스텝 이후 이는 full-least-squares solution과 같아진다.

Full least squares을 구하기 위해서 계산을 그저 p번만 행하면 되므로 매우 계산 효과적인 알고리즘이다. 변수를 표준화하는 이유는 corr을 바로 내적으로 계산하기 위해서이다.

✏️ PCR(Principle Component Regression)

보통의 경우 상관관계가 높은 다량의 독립변수가 존재한다. 이 경우 해당 변수들을 PC로 줄여서 독립변수로 사용하는 것이 PCR이다.

y^=β^0+m=1Mθ^mzmXvm=zm,θ^mzm=Projzmy,β^pcr(M)=m=1Mθ^mvm\hat{y}= \hat{\beta}_0 + \sum^{M}_{m=1}\hat{\theta}_m z_m \\ Xv_m=z_m, \quad \hat{\theta}_m z_m=Proj _{z_m}{y}, \quad \hat{\beta}^{pcr}(M)=\sum^M_{m=1}\hat{\theta}_mv_m

이 때 zmz_m은 principal components이다. 참고로 PC는 다음과 같이 정의된다. Ridge regression과 마찬가지로 해당 방식은 입력변수의 scale에 영향을 많이 받기 때문에 먼저 표준화를 시킨다.(Shrinkage의 경우 변수들간에 scaling이 다르면 불균형한 shrinkage가 일어난다.)

X=UΣVT,PCi=Xvi=UσiX=U\Sigma V^T, \quad PC_i=Xv_i= U\sigma_i

PC 변수 결국 표본분 S=XTXnS=\dfrac{X^TX}{n} 의 scaled 고유벡이다. 이 때 col(U)=Eigenvectors  of  XTX col(U)=Eigenvectors \; of \; X^TX 이다. 고유벡터 표기에서 상수 n은 무시하자. UσiU\sigma_i는 고유값으로 스케일링된 고유벡터를 의미한다. 이는 PC변수들로 결국 y를 적합하는 것이다. 이는 ridge regression과 비슷한데, 왜냐하면 ridge에서도 결국 PC축 스케일링으로 데이터를 적합시켰기 때문이다.

Xβ^ridge=j=1pdj2dj2+λujujTy=j=1p(djuj)(djuj)Tdj2+λyX\hat{\beta}^{ridge}=\sum^p_{j=1}\frac{d_j^2}{d_j^2+\lambda} u_j u_j^Ty=\sum^p_{j=1}\frac{(d_ju_j)(d_ju_j)^T}{d_j^2+\lambda} y

해당 식은 XXTXX^T의 고유공간에 y를 정사영 내린 후 스케일링 하는 것을 의미한다.

X=UDVT,  XV=UDXvi=diui=PCi(ith  PC  variable)X=UDV^T, \; XV=UD \\ Xv_i=d_iu_i=PC_i(i_{th} \; PC \; variable)

✏️ PLS

Partial Least Squares는 Y와의 공분산이 높은 k개의 선형조합을 추출한다.

ψ^1j=xj,y,z1=Σjψ^1jxj\hat{\psi}_{1j}=\langle x_j,y\rangle, \quad z_1=\Sigma_j\hat{\psi}_{1j}x_j
  1. xjx_j를 표준화시킨다. y^(0)=yˉ1\hat{y}^{(0)}=\bar{y}1

  2. zm=Σj=1pψ^mjxj(m1),where  ψ^mj=xj(m1),yz_m=\Sigma^p_{j=1}\hat{\psi}_{mj}x_j^{(m-1)}, \quad where \; \hat{\psi}_{mj}=\langle x_j^{(m-1)},y\rangle

  3. θ^m=zm,y/zm,zm\hat{\theta}_m=\langle z_m,y \rangle/\langle z_m,z_m \rangle

  4. y^(m)=y^(m1)+θ^mzm \hat{y}^{(m)}=\hat{y}^{(m-1)}+\hat{\theta}_mz_m

  5. Orthogonalizae each xj(m1)x_j^{(m-1)}with respect to zmz_m: xj(m)x_j^{(m)}

Y와 high variance&high correlation을 가지도록 집중한다.

Last updated

Was this helpful?