\[f(x;\beta,\delta)=\beta\delta x^{\delta - 1}e^{-\beta x^\delta} \] Delta se asume como conocido a partir del enunciado, por lo tanto, el parámetro a determinar es beta
\[ L(\beta) = \prod_{i = 1}^{n} f(x_i;\beta,\delta)\] \[\space\space\space\space\space\space\space\space\space\space\space\space\space = \prod_{i = 1}^{n} \beta\delta x_i^{\delta - 1}e^{-\beta x_i^\delta}\]
\[\space\space\space\space\space\space\space\space ln(L(\beta)) = ln(\space\prod_{i = 1}^{n} \beta\delta x_i^{\delta - 1}e^{-\beta x_i^\delta}\space)\] \[\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space = \sum^n_{i = 1}ln(\space\beta\delta x_i^{\delta - 1}e^{-\beta x_i^\delta}\space)\] \[\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space= \sum^n_{i = 1} ln(\beta)+ln(\delta)+(\delta - 1)ln(x_i)-\beta x_i^\delta\] \[\frac{d \space ln(L(\beta))}{d\beta} = \sum^n_{i = 1} \frac{1}{\beta}-x_i^{\delta}\space\space\space\space\space\space\space\space\space\space\space\space\]
\[ \space\space\space\space\space\space\space\space\space= \frac{n}{\beta} -\sum^n_{i = 1}x_i^{\delta} \] \[\frac{d^2 \space ln(L(\beta))}{d\beta^2} = -\frac{n}{\beta^2}\] Se iguala a cero para buscar extremos dentro de la función.
\[\frac{n}{\beta} -\sum^n_{i = 1}x_i^{\delta} = 0\space\space\space y \space\space\space -\frac{n}{\beta^2} < 0 \] \[ \space\space\space\space\space\beta = \frac{n}{\sum^n_{i = 1}x_i^{\delta}}\space\space\space y \space\space\space \frac{1}{\beta^2} > 0\] \[\space\space \beta = \frac{1}{E(x^\delta)} \space\space y \space\space \beta \neq 0 \] Se procede a utilizar deltas arbitrarios para conseguir los distintos valores de beta, esto usando datos de muestras aleatorios.
densityFunction = function(x,beta,delta){
return (beta*delta*(x^(delta-1))*exp(-beta*(x^delta)))
}
N = 250 # Tamaño de la muestra
nDeltas = 10 # Cantidad de Deltas
beta = 1 # beta arbitrario
delta = 2
datos = seq(1/N,0.5,by=1/N) # Se establecen los datos arbitrarios
log_like = function(beta, x, n){
return(n*log(beta)+n*log(delta)+(delta-1)*sum(log(x))-beta*sum(x^delta))
}
valores = runif(100, 0, 2)
plot(valores, log_like(valores, datos, N), main = "Función de log verosimilitud")
MLE_estimates <- optim(fn=log_like,
par=c(0),
lower = c(1,1),
upper = c(10, 10),
hessian = TRUE,
method = "L-BFGS-B",
n = N,
x = datos)
MLE_par <- MLE_estimates$par
MLE_SE <- diag(solve(MLE_estimates$hessian))
MLE <- data.table(param = c("beta"),
estimates = MLE_par,
sd = MLE_SE)
kable(MLE)%>%
kable_styling(full_width = F)
| param | estimates | sd |
|---|---|---|
| beta | 1 | -0.004 |
log_like_graph <- function(x = datos, n = N){
beta = MLE_par
return(n*log(beta)+n*log(delta)+(delta-1)*sum(log(x))-beta*sum(x^delta))
}
log_like_graph <- Vectorize(log_like_graph)
beta_graph <- ggplot(data = data.frame(beta = 0), mapping = aes(beta = beta)) +
stat_function(fun = log_like_graph) + xlim(0,1) + theme_bw() + xlab("beta") + ylab("Log like")
beta_graph