F #의 R
유형 공급자를 사용하여 회귀 관련 R 기능에 액세스하고 있습니다. 회귀 계수에 제약 조건이있을 때 회귀 계수를 제한하여 가중 평균이 0이되도록 계산하고 싶습니다. 가중치의 합이 1입니다. 아래 예는 다양한 가중치가있는 수십 개의 계수가 있으므로 단순화되었습니다. 예상대로이제한된 회귀 식 R
> lm(y~x1+x2)
Call:
lm(formula = y ~ x1 + x2)
Coefficients:
(Intercept) x1 x2
0.03468 -0.01460 NA
의 출력을 제공
y1 <- runif(n = 50,min = 0.02,max=0.05)
y2 <- runif(n=50,min=0.01,max=0.03)
y <- c(x1,x2)
x1 <- c(rep(0,50),rep(1,50))
x2 <- c(rep(1,50),rep(0,50))
lm(y~x1+x2)
: 만 아래 R 코드를 보여줍니다. 그러나 나는 x1과 x2에 제약 조건을 두어 가중 평균이 (0.5 * x1 + 0.5 * x2) = 0
이되도록하고 싶습니다. 이 경우 절편은 mean(y) = 0.02737966
이되고 x1 및 x2 계수는이 값 (-0.006
및 +0.007
각각)의 오프셋을 나타냅니다. quadprog
및 mgcv
패키지는 적용 가능하지만 제약 조건을 적용 할 수 없었습니다.
@ ZheyuanLi 이것 좀 봐 주셔서 감사합니다. 모든 공변량은 숫자이며 합계가 1이므로 제약 조건이 필요합니다. 다른 제약되지 않은 변수들도 있지만 여기서 건너 뛰었습니다. 그것을 보면 ([PCLC in mgcv] (https://stat.ethz.ch/R-manual/R-devel/library/mgcv/html/pcls.html) 다소 관련성이있는 것으로 보입니다. 이 방법이 [교차 유효성 검사] (http://stats.stackexchange.com/)에 더 적합하다고 생각하십니까? – s952163
@ s952163 MLE를 구성하고 제한된 최적화를 사용하는 것에 대해 생각해 보셨습니까? Nlopt는 F #에서 작동합니다. 나는 또한 일을 돌볼 수있다. –
@professorbigglesworth 사실 그것은 제한된 최적화의 한 형태입니다. 따라서 R. quadprog를 살펴 보았습니다. NLOPT를 조사 할 필요가 있습니다. 아이디어를 가져 주셔서 감사합니다! – s952163