0

R のquadprogライブラリを使用して、2 つの制限がある加重最小二乗法を実装するのに問題があります。最初の制限は、すべての係数が 0 以上である必要があることです。2 つ目の制限は、係数の合計が 1 になる必要があることです。

より正式には、次の式を W に関して最小化しようとしています: (Y - XW)^T * V * (Y - XW)、V は対角行列です。

Y は (px 1)、X は (pxs)、W は (sx 1)、V は対角線 (pxp) です。以下は再現可能な例です。使用する適切なパラメーターを見つけようとしていますquadprog::solve.QP

library(quadprog)
set.seed(1)
y = rnorm(100)
X = matrix(nrow = 100, ncol = 3)
for (i in 1:ncol(X)) {
X[,i]<- rnorm(100, mean = i)
}
v_vec = rnorm(ncol(X))
V = diag(v_vec)
4

0 に答える 0