R로 고스 분포의 평균 매개 변수를 차례로 가장 크게 추정하다

10083 단어 RPRML
PRML2.3.5에서 말한 바와 같이 고스 분포의 평균 매개 변수 u에 대한 최대 유사 추정, 유사 수의 미분을 0으로 나누는 u를 구하는 문제는 확률 변수 u를 제시할 때의 확률 변수 z=-d/du[lnp(x|u,σ^2)의 조건 기대치 E[z|u]가 0인 u의 문제는 Robbins-Monro 알고리즘을 통해 x의 관측(즉 z의 관측)에 따라 차례차례 이런 u를 구한다.
샘플은 고스 분포로 생성되고 관측점은 검은 점으로 표시하며 순서대로 추정되는 매개 변수 u는 붉은 점으로 표시한다.
frame()
set.seed(0)
par(mfrow=c(1, 1))
par(mar=c(2.3, 2.5, 1, 0.1))
par(mgp=c(1.3, .5, 0))
N <- 40
U <- 150
x <- rnorm(N, U, 10)
uml <- 0
umls <- numeric()
d <- data.frame(observation=-1, x=NA, new=F)
for (n in 1:N) {
    uml <- uml + (1 / n) * (x[n] - uml)
    umls <- c(umls, uml)
    if (n > 1) {
        previous <- d[d$observation == n - 1, ]
        previous$observation = n
        previous$new = F
        d <- rbind(d, previous)
    }
    d <- rbind(d, c(n, x[n], T))
}
d <- d[-1, ]
plot(umls, type="o", col=2, xlim=c(1,N), ylim=c(min(x), max(x)), xlab="", ylab="")
par(new=T)
plot(d$observation, d$x, pch=19, cex=ifelse(d$new, 1, 0.1), xlim=c(1,N), ylim=c(min(x), max(x)))
abline(h=U)

좋은 웹페이지 즐겨찾기