Respuestas:
La resolución formal de este problema primero requiere una definición adecuada de un
" distribución sujeta a la restricción de que "
La forma natural es definir la distribución de condicional en . Y para aplicar este condicional al caso . Si usamos coordenadas polares , el jacobiano de la transformación es Por lo tanto, la densidad condicional de la distribución de
Conclusión: Esta densidad difiere de simplemente aplicar la densidad Normal a un punto en la esfera de la unidad debido a la Jacobia.
El segundo paso es considerar la densidad objetivo y diseñe un algoritmo de Monte Carlo en cadena de Markov para explorar el espacio de parámetros . Mi primer intento sería en una muestra de Gibbs, inicializada en el punto de la esfera más cercana a , es decir,, y siguiendo un ángulo a la vez de una manera Metrópolis dentro de Gibbs:
Las escalas , , , se pueden escalar contra las tasas de aceptación de los pasos, hacia un objetivo ideal del .
Aquí hay un código R para ilustrar lo anterior, con valores predeterminados para y :
library(mvtnorm)
d=4
target=function(the,mu=1:d,sigma=diag(1/(1:d))){
carte=cos(the[1])
for (i in 2:(d-1))
carte=c(carte,prod(sin(the[1:(i-1)]))*cos(the[i]))
carte=c(carte,prod(sin(the[1:(d-1)])))
prod(sin(the)^((d-2):0))*dmvnorm(carte,mean=mu,sigma=sigma)}
#Gibbs
T=1e4
#starting point
mu=(1:d)
mup=mu/sqrt(sum(mu^2))
mut=acos(mup[1])
for (i in 2:(d-1))
mut=c(mut,acos(mup[i]/prod(sin(mut))))
thes=matrix(mut,nrow=T,ncol=d-1,byrow=TRUE)
delta=rep(pi/2,d-1) #scale
past=target(thes[1,]) #current target
for (t in 2:T){
thes[t,]=thes[t-1,]
for (j in 1:(d-1)){
prop=thes[t,]
prop[j]=prop[j]+runif(1,-delta[j],delta[j])
prop[j]=prop[j]%%(2*pi-(j<d-1)*pi)
prof=target(prop)
if (runif(1)<prof/past){
past=prof;thes[t,]=prop}
}
}
no es estrictamente posible ya que es una variable aleatoria (continua). Si desea que tenga una varianza de 1, es decir, (donde la tilde significa que estimamos la varianza), entonces necesitaría requerir que su varianza sea . Sin embargo, esta demanda puede entrar en conflicto con . Es decir, para obtener muestras con esta varianza, necesita que la diagonal de sea igual a .
Para muestrear esta distribución en general, puede generar iid normales normales y luego multiplicar por , la raíz cuadrada de , y luego agregar los medios .