################################################################################################################### How the log-likelihood varies with more data?n <-1000# Data generation:set.seed(369)y <-rnorm(n, mu_true, sqrt(sigma2_true))mu_mle <-mean(y)sigma2_mle <- (n-1)/n*var(y)# Let's plot the log-likelihood function:mu_grid <-seq(min(y)-0.5, max(y)+0.5, 0.1)sigma2_grid <-seq(0.01, 40, 0.1)theta <-expand.grid(mu=mu_grid, sigma2=sigma2_grid)# Calcola la funzione obiettivo in corrispondenza di ogni riga della griglia:llik <-apply(theta,1,function(x) sum(log(dnorm(y,as.numeric(x[1]), sqrt(as.numeric(x[2]))))))# Cambio le dimensioni dell'oggetto contenente i valori della funzione target:dim(llik) <-c(length(mu_grid),length(sigma2_grid))contour(x=unique(sigma2_grid), y=unique(mu_grid),z=t(llik),levels =quantile(unique(llik[which(llik !=-Inf,arr.ind = T)]), p=c(seq(.15,.95,.1),.99)),col=4,main="Normal log-likelihood",ylab="mu", xlab="sigma2")points(sigma2_mle, mu_mle, pch=19, col=1)points(sigma2_true, mu_true, pch=19, col=4)