수리통계학
[R]모수와 관측치가 경계에 있을 때 최대우도추정량 시각화
JSMATH
2024. 10. 22. 23:57
정의대로 푸는데 의심의 여지가 없다.
우도함수의 그래프는 theta1에 대해서 증가하는 형태임에는 반대의견은 없을 것이다.
하지만 정말로 표본최소에서 theta1의 최우추정량이 될까?
x축을 theta1으로 두고 y축을 theta2를 고정한 로그우도함수로 두었을 때 theta1의 경계를 x보다 크다고
두면 될것인데 이 x가 최소이어야한다는 점.
위에서 설명한 말대로 확실히 표본최소 > theta1, 두번째 작은 표본값 >theta1, ..,표본최대 >theta1 모두 만족하려면 표본최소가 MLE라는 것은 논리적으로는 당연하기도 하나
시각화로 나타내면 이것이 당연한 결과인가? 시각화는 어떻게 하는가? x는? 어떻게 잡는가? 등 뜬구름 잡는느낌이 느껴 질 수 있다. 아래는 그에 대한 코드이다.
set.seed(123)
x <- runif(n = 100,min = 2,max = 10) # x>theta1(theta1_vals)
#x가 2보다는 항상 크도록함.
log_likelihood <- function(theta1, theta2, x) {
n <- length(x)
if(any(x<=theta1)){
return(0)
}
return(-n * log(theta2) - sum((x - theta1) / theta2))
}
theta1_vals <- seq(min(x) - 10, min(x)+40 , length.out = 100)
# theta1은 x보다 작아야함. -10으로 잡은 이유는 어차피 더 감소시켜도(-100,-1000)..
#이는 theta1에 대해 증가함수임을 알기에 의미가 없기에 그래프 시각화를 위해 임의로 구간을 잡음
# 또 +40인 이유는 사실 위의 x>theta1에 내용에 위배되나 표본의 순서값에 따라 어떻게
#위치하는지에 대해서 알려주기 위해 잡아둠.
log_likelihood_vals <- sapply(theta1_vals, function(theta1) log_likelihood(theta1, theta2 = 5, x))
# Plot
plot(theta1_vals, log_likelihood_vals, type = 'l', col = 'blue', lwd = 2,
xlab = expression(theta[1]), ylab = 'Log-Likelihood',
main = 'Log-Likelihood of theta1')
abline(v = min(x), col = 'red', lwd = 2, lty = 2) #sample min
abline(v = max(x), col = 'green', lwd = 2, lty = 2) #sample max
legend('topright', legend = c('Log-Likelihood', 'Sample Min (MLE)','Sample Max (MLE)'),
col = c('blue', 'red','green'), lty = c(1, 2,2), lwd = c(2, 2,2))