calcular los siguientes Estimadores
# Crear las variables
X <- c(1:20) # Años de experiencia, es un vector que va de 1 a 20
Y <- c(12:31) # Nivel educativo, es un vector que va de 12 a 31
Z <- seq(100,2000, by = 100) # Salario, un vector que va de 100 a 2000 en incremento de 100
# Crear un data frame con las tres variables
data <- data.frame(Z, X, Y)
# Ver el data frame
print(data)
## Z X Y
## 1 100 1 12
## 2 200 2 13
## 3 300 3 14
## 4 400 4 15
## 5 500 5 16
## 6 600 6 17
## 7 700 7 18
## 8 800 8 19
## 9 900 9 20
## 10 1000 10 21
## 11 1100 11 22
## 12 1200 12 23
## 13 1300 13 24
## 14 1400 14 25
## 15 1500 15 26
## 16 1600 16 27
## 17 1700 17 28
## 18 1800 18 29
## 19 1900 19 30
## 20 2000 20 31
# Calcular la media para cada variable
media_X <- mean(data$X)
media_Y <- mean(data$Y)
media_Z <- mean(data$Z)
# Calcular la desviación estándar para cada variable
sd_X <- sd(data$X)
sd_Y <- sd(data$Y)
sd_Z <- sd(data$Z)
poblacion_Años_de_experiencia <- rnorm(X, mean = media_X , sd = sd_X)
poblacion_Nivel_educativo <- rnorm(Y, mean = media_Y, sd = sd_Y)
poblacion_Salario <- rnorm(Z, mean = media_Z, sd = sd_Z)
# Crear una muestra aleatoria de la población
#El tamaño de muestra n es simplemente el número de observaciones que tienes en tu base de datos. En este caso, dado que cada vector tiene 20 elementos, el tamaño de muestra es 5.
tamaño_muestra <- 20
tamaño_muestra
## [1] 20
muestra_Años_de_experiencia <- sample(poblacion_Años_de_experiencia, tamaño_muestra)
muestra_Nivel_educativo <- sample(poblacion_Nivel_educativo, tamaño_muestra)
muestra_Salario <- sample(poblacion_Salario, tamaño_muestra)
# Estimación Puntual
# La estimación puntual es un único valor que se calcula a partir de los datos muestrales.
# Usamos la media muestral como una estimación puntual de la media poblacional.
media_muestral_X <- mean(muestra_Años_de_experiencia)
media_muestral_Y <- mean(muestra_Nivel_educativo)
media_muestral_Z <- mean(muestra_Salario)
# Sesgo de la estimación de la media
# El sesgo mide la diferencia entre el valor esperado del estimador y el valor verdadero del parámetro.
# Un sesgo cercano a cero indica que el estimador es insesgado.
sesgo_X <- media_muestral_X - mean(poblacion_Años_de_experiencia)
sesgo_Y <- media_muestral_Y - mean(poblacion_Nivel_educativo)
sesgo_Z <- media_muestral_Z - mean(poblacion_Salario)
#el sesgo da 0, es decir, todos los datos estan agrupados
# Imprimir los resultados
cat("Resultados:\n")
## Resultados:
cat("Media de X (Años de experiencia):", media_X, "\n")
## Media de X (Años de experiencia): 10.5
cat("Desviación estándar de X:", sd_X, "\n")
## Desviación estándar de X: 5.91608
cat("Sesgo de X:", sesgo_X, "\n\n")
## Sesgo de X: 0
cat("Media de Y (Nivel educativo):", media_Y, "\n")
## Media de Y (Nivel educativo): 21.5
cat("Desviación estándar de Y:", sd_Y, "\n")
## Desviación estándar de Y: 5.91608
cat("Sesgo de Y:", sesgo_Y, "\n\n")
## Sesgo de Y: 0
cat("Media de Z (Salario):", media_Z, "\n")
## Media de Z (Salario): 1050
cat("Desviación estándar de Z:", sd_Z, "\n")
## Desviación estándar de Z: 591.608
cat("Sesgo de Z:", sesgo_Z, "\n")
## Sesgo de Z: 0
# Eficiencia del Estimador
# La eficiencia de un estimador se mide mediante su varianza; un estimador es más eficiente si tiene menor varianza.
# Calculamos la varianza del estimador dividiendo la varianza muestral entre el tamaño de la muestra.
var_Años_de_experiencia <- var(muestra_Años_de_experiencia) / tamaño_muestra
var_Nivel_educativo <- var(muestra_Nivel_educativo) / tamaño_muestra
var_Salario <- var(muestra_Salario) / tamaño_muestra
cat("\nVarianza del estimador (Eficiencia):\n")
##
## Varianza del estimador (Eficiencia):
cat("Años de experiencia:", var_Años_de_experiencia, "\n")
## Años de experiencia: 1.981739
cat("Nivel_Educativo :", var_Nivel_educativo, "\n")
## Nivel_Educativo : 1.765283
cat("Salario:", var_Salario, "\n")
## Salario: 9201.606
# Consistencia
# Un estimador es consistente si, a medida que aumenta el tamaño de la muestra, se aproxima al valor verdadero del parámetro.
# Aumentamos el tamaño de muestra y observamos cómo cambia la media muestral del salario para evaluar su consistencia.
tamaños_muestra <- 20
medias_muestrales_Z <- sapply(tamaños_muestra, function(n) {
mean(sample(poblacion_Salario, n))
})
# Estimacion por intervalos de confianza
# Intervalo de Confianza del 95% para cada media muestral
nivel_confianza <- 0.95
valor_critico <- qnorm((1 + nivel_confianza) / 2) # Valor z para el intervalo de confianza del 95%
valor_critico
## [1] 1.959964
# Calcular el error estándar para cada muestra
error_estandar_X <- sd(muestra_Años_de_experiencia) / sqrt(tamaño_muestra)
error_estandar_Y <- sd(muestra_Nivel_educativo) / sqrt(tamaño_muestra)
error_estandar_Z <- sd(muestra_Salario) / sqrt(tamaño_muestra)
# Calcular los intervalos de confianza
ic_X <- c(media_muestral_X - valor_critico * error_estandar_X, media_muestral_X + valor_critico * error_estandar_X)
ic_Y <- c(media_muestral_Y - valor_critico * error_estandar_Y, media_muestral_Y + valor_critico * error_estandar_Y)
ic_Z <- c(media_muestral_Z - valor_critico * error_estandar_Z, media_muestral_Z + valor_critico * error_estandar_Z)
# Imprimir los resultados
cat("\nIntervalo de Confianza del 95% para la media muestral:\n")
##
## Intervalo de Confianza del 95% para la media muestral:
cat("Años de experiencia:", ic_X, "\n")
## Años de experiencia: 8.743585 14.26183
cat("Nivel educativo:", ic_Y, "\n")
## Nivel educativo: 18.74199 23.95016
cat("Salario:",ic_Z,"\n")
## Salario: 754.404 1130.423
#Estimador de maxima Verosimilitud para una distribucion normal
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100,2000, by = 100) # Salario
#seleccionamos un conjunto de datos para analizar
datos <- Z
# funcion de log-verosimilitud para una distribucion normal
log_likelihood <- function(par, data) {
mu <- par [1]
sigma <- par [2]
-sum(dnorm(data, mean = mu, sd =sigma, log = TRUE))}
# Encontrar estimadores de máxima verosimilitud
inicializacion <- c(mean(datos), sd(datos))
estimadores_mle <- optim(par = inicializacion, fn = log_likelihood, data = datos)
# Imprimir Resultados
cat("Estimador MLE para la media:", estimadores_mle$par[1], "\n")
## Estimador MLE para la media: 1050.063
cat("Estimador MLE para la desviación estándar:", estimadores_mle$par[2], "\n")
## Estimador MLE para la desviación estándar: 576.5467
#en esta muestra es 1050 unidades. Esto significa que el salario típico para esta población está centrado alrededor de este valor.
#se presenta la siguiente grafica
library(ggplot2)
# Datos proporcionados
Z <- seq(100, 2000, by = 100) # Salarios
# Función de log-verosimilitud para la normal
log_likelihood <- function(mu, sigma2, data) {
n <- length(data) # Tamaño de la muestra
-(n / 2) * log(2 * pi * sigma2) - (1 / (2 * sigma2)) * sum((data - mu)^2)
}
# Parámetros para el gráfico
mu_values <- seq(500, 1500, by = 10) # Rango de valores para la media
sigma2 <- var(Z) # Usamos la varianza muestral como referencia
log_lik_values <- sapply(mu_values, function(mu) log_likelihood(mu, sigma2, Z))
# Datos para ggplot
data_plot <- data.frame(mu = mu_values, log_likelihood = log_lik_values)
# Gráfico de log-verosimilitud
log_verosimilitud_plot <- ggplot(data_plot, aes(x = mu, y = log_likelihood)) +
geom_line(color = "blue", size = 1) +
xlab(expression(mu)) +
ylab(expression(l(mu))) +
ggtitle("Log-Verosimilitud para distribución normal") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Mostrar gráfico
print(log_verosimilitud_plot)
1. Al incrementar el tamaño de la muestra, los estimadores deberían aproximarse al valor verdadero de los parámetros poblacionales. Esto es indicativo de que los estimadores son consistentes; El salario aumenta significativamente tanto con los años de experiencia como con el nivel educativo. Por cada año adicional de experiencia, el salario aumenta en 100 unidades
2. Este análisis indica que, con la configuración y los valores iniciales, los estimadores de medios parecen ser insesgados, eficientes y consistentes. Por lo tanto, este método de muestreo y estimación es adecuado para representar y extrapolar los datos de X,Y y Z a la población.
3. Los intervalos de confianza calculados proporcionan un rango dentro del cual esperamos que se encuentre la media verdadera de cada variable en la población. Si repetimos este proceso en múltiples muestras, aproximadamente el 95% de los intervalos calculados contendrían la media poblacional real.
4. Existe una correlación lineal perfecta entre las tres variables. Cada aumento en los años de experiencia y en el nivel educativo se traduce en un aumento lineal y constante en el salario.
5. Si estos datos reflejan una política de pago basada en la experiencia y la educación, sería prudente verificar si esta estructura salarial es competitiva en comparación con el mercado. Podría ser necesario ajustar los salarios para retener el talento, especialmente si las mejoras salariales son lineales y no reflejan aumentos en habilidades avanzadas después de ciertos niveles de experiencia o educación.