Câu trả lời:
Việc giải quyết chính thức vấn đề này trước tiên đòi hỏi một định nghĩa đúng đắn về một
Phân phối " subject ) theo ràng buộc là "
Cách tự nhiên là xác định phân phối điều kiện trên . Và để áp dụng điều kiện này cho trường hợp . Nếu chúng tôi sử dụng tọa độ cực , Jacobian của biến đổi là Do đó mật độ có điều kiện của phân phối| | X | | = ϱ ϱ = 1 x 1 = ϱ cos ( θ 1 ) ρd-1 d - 2 Π i=1sin(θi)d-1-iθ=(θ1,...,θd-1)
Kết luận: Mật độ này khác với việc đơn giản áp dụng mật độ Bình thường cho một điểm trên quả cầu đơn vị vì Jacobian.
Bước thứ hai là xem xét mật độ mục tiêu và thiết kế thuật toán Monte Carlo chuỗi Markov để khám phá không gian tham số . Nỗ lực đầu tiên của tôi sẽ là một bộ lấy mẫu Gibbs, được khởi tạo tại điểm trên quả cầu gần nhất với , nghĩa là,và tiến hành một góc tại một thời điểm theo cách của Đô thị - trong - Gibbs:[0,π]d-2×[0,2π]LL
Các thang đo , , , có thể được thu nhỏ theo tỷ lệ chấp nhận của các bước, hướng tới mục tiêu lý tưởng là .
Dưới đây là mã R để minh họa ở trên, với các giá trị mặc định cho và :
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}
}
}
x E [ ( x - μ ) 2 ] ~ = 1 không hoàn toàn có thể vì là biến ngẫu nhiên (liên tục). Nếu bạn muốn nó có phương sai bằng 1, tức là (trong đó dấu ngã có nghĩa là chúng ta ước tính phương sai), sau đó bạn sẽ cần yêu cầu phương sai của nó là . Tuy nhiên, nhu cầu này có thể xung đột với . Nghĩa là, để lấy các mẫu có phương sai này, bạn cần đường chéo của bằng với . 1 ΣΣ1
Để lấy mẫu phân phối này nói chung, bạn có thể tạo các quy tắc chuẩn iid và sau đó nhân với , căn bậc hai của , sau đó thêm phương tiện . Σ L