Regresión con coeficientes limitados de igualdad y desigualdad en R

Estoy tratando de obtener coeficientes estimados estimados usando RSS. Los coeficientes beta están restringidos entre [0,1] y suman 1. Además, mi tercer parámetro está restringido entre (-1,1). Utilizando lo siguiente, puedo obtener una buena solución usando variables simuladas, pero al implementar la metodología en mi conjunto de datos reales sigo llegando a una solución no única. A su vez, me pregunto si hay una forma numéricamente más estable de obtener mis parámetros estimados.

set.seed(234)
k = 2
a = diff(c(0, sort(runif(k-1)), 1))
n = 1e4
x = matrix(rnorm(k*n), nc = k)
a2 = -0.5
y = a2 * (x %*% a) + rnorm(n)
f = function(u){sum((y - u[3] * (x %*% u[1:2]))^2)}
g = function(v){

v1 = v[1]
v2 = v[2]
u = vector(mode = "double", length = 3)

# ensure in (0,1)
v1 = 1 / (1 + exp(-v1))

# ensure add up to 1
u[1:2] = c(v1, 1 - sum(v1))

# ensure between [-1,1]
u[3] = (v2^2 - 1) / (v2^2 + 1)
u
}

res = optim(rnorm(2), function(v) f(g(v)), hessian = TRUE, method = "BFGS")
eigen(res$hessian)$values
res$convergence
rbind(Est = res$par, SE = sqrt(diag(solve(res$hessian))))
rbind(g(res$par),c(a,a2))

Me quito el sombrero ahttp://zoonek.free.fr/blosxom/R/2012-06-01_Optimization.html

Respuestas a la pregunta(2)

Su respuesta a la pregunta