INTRODUCCION Este análisis estadístico examina la relación entre tres variables clave en el contexto laboral: años de experiencia laboral (X), nivel educativo (Y) y salario (Z). Utilizando técnicas avanzadas como la estimación puntual, los intervalos de confianza y el estimador de máxima verosimilitud (Maximum Likelihood Estimation, MLE), el estudio busca caracterizar las interacciones entre estas variables y proporcionar conclusiones representativas de la población analizada.
Se aborda la influencia de factores como la experiencia y el nivel educativo en el salario, explorando cómo estos determinantes afectan la competitividad laboral y las estructuras salariales. Además, se evalúan la consistencia y precisión de los estimadores, ofreciendo una base estadística robusta para interpretar estas dinámicas. Los hallazgos tienen implicaciones prácticas en el diseño de políticas salariales, la planificación educativa y la toma de decisiones estratégicas en el mercado laboralntes sugeridas
DESCRIPCION DE DATOS En el contexto de análisis del comportamiento salarial, se cuenta con una base de datos que integra tres variables independientes relacionadas entre sí. Cada una de estas variables contiene 20 datos que describen la influencia de diferentes factores en los salarios. Estas variables representan los aspectos siguientes: años de experiencia, nivel de estudio, y el salario correspondiente. El objetivo principal es comprender cómo estas variables se relacionan entre sí y cómo impactan de manera conjunta en la determinación del salario de una persona.
METODOLOGIA Se tomarán muestras aleatorias de tamaño 20 para calcular estimaciones puntuales, con sesgo (cercano a 0, indicando insesgo), varianzas como medida de eficiencia, y consistencia mediante medias muestrales. Se calcularán intervalos de confianza al 95% para las medias y al 90% para proporciones, encontrando que las proporciones de observaciones por encima de ciertos umbrales (e.g., salario > 1000) oscilando entre 0.5 y 0.55. Además, se adjuntará una distribución normal mediante máxima verosimilitud para los salarios, graficando su log-verosimilitud y superponiendo la curva de densidad normal sobre el histograma de datos.
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.2
Sys.setlocale("LC_CTYPE", "es_ES.UTF-8")
## [1] "es_ES.UTF-8"
# 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.105368
cat("Nivel_Educativo :", var_Nivel_educativo, "\n")
## Nivel_Educativo : 1.644997
cat("Salario:", var_Salario, "\n")
## Salario: 21250.45
# 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.616448 12.73772
cat("Nivel educativo:", ic_Y, "\n")
## Nivel educativo: 21.49822 26.52582
cat("Salario:",ic_Z,"\n")
## Salario: 697.2164 1268.645
#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 distribucion 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)
La curva muestra cómo varía la log-verosimilitud a medida que cambiamos el valor de la media μ. La log-verosimilitud es una función de la media, por lo que esta curva refleja cómo cambia la “bondad” del modelo de la distribución normal (con una media μ dada y la varianza muestral) al ajustar la media a diferentes valores.
#Intervalo de confianza
# Datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Nivel de confianza
nivel_confianza <- 0.95
# Función para calcular intervalo de confianza para la media
calcular_intervalo_confianza <- function(datos, nivel_confianza) {
muestra_media <- mean(datos)
desviacion_estandar <- sd(datos)
tamano_muestra <- length(datos)
error_estandar <- desviacion_estandar / sqrt(tamano_muestra)
valor_critico <- qt((1 + nivel_confianza) / 2, df = tamano_muestra - 1)
margen_error <- valor_critico * error_estandar
intervalo_confianza <- c(muestra_media - margen_error, muestra_media + margen_error)
return(intervalo_confianza)
}
# Calcular intervalos de confianza
intervalo_X <- calcular_intervalo_confianza(X, nivel_confianza)
intervalo_Y <- calcular_intervalo_confianza(Y, nivel_confianza)
intervalo_Z <- calcular_intervalo_confianza(Z, nivel_confianza)
# Mostrar resultados
cat("Intervalo de confianza del 95% para la media:\n")
## Intervalo de confianza del 95% para la media:
cat("X (Años de experiencia):", intervalo_X, "\n")
## X (Años de experiencia): 7.731189 13.26881
cat("Y (Nivel educativo):", intervalo_Y, "\n")
## Y (Nivel educativo): 18.73119 24.26881
cat("Z (Salario):", intervalo_Z, "\n")
## Z (Salario): 773.1189 1326.881
#Intervalo de Confianza para la Media
# Datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Función para calcular el intervalo de confianza
calcular_intervalo_confianza <- function(datos, nivel_confianza = 0.95) {
media <- mean(datos)
desviacion_estandar <- sd(datos)
tamano_muestra <- length(datos)
error_estandar <- desviacion_estandar / sqrt(tamano_muestra)
valor_critico <- qt((1 + nivel_confianza) / 2, df = tamano_muestra - 1)
margen_error <- valor_critico * error_estandar
intervalo <- c(media - margen_error, media + margen_error)
return(intervalo)
}
# Calcular los intervalos de confianza
intervalo_X <- calcular_intervalo_confianza(X)
intervalo_Y <- calcular_intervalo_confianza(Y)
intervalo_Z <- calcular_intervalo_confianza(Z)
# Mostrar resultados
cat("Intervalo de confianza del 95% para Años de experiencia (X):", intervalo_X, "\n")
## Intervalo de confianza del 95% para Años de experiencia (X): 7.731189 13.26881
cat("Intervalo de confianza del 95% para Nivel educativo (Y):", intervalo_Y, "\n")
## Intervalo de confianza del 95% para Nivel educativo (Y): 18.73119 24.26881
cat("Intervalo de confianza del 95% para Salario (Z):", intervalo_Z, "\n")
## Intervalo de confianza del 95% para Salario (Z): 773.1189 1326.881
#Intervalo de Confianza para la Proporción
# Datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Definir umbral (puede ser modificado según el análisis)
umbral_X <- 10
umbral_Y <- 20
umbral_Z <- 1000
# Calcular proporciones
proporcion_X <- sum(X > umbral_X) / length(X)
proporcion_Y <- sum(Y > umbral_Y) / length(Y)
proporcion_Z <- sum(Z > umbral_Z) / length(Z)
# Función para calcular intervalo de confianza para una proporción
calcular_intervalo_confianza_proporcion <- function(proporcion, tamano_muestra, nivel_confianza = 0.90) {
error_estandar <- sqrt((proporcion * (1 - proporcion)) / tamano_muestra)
valor_critico <- qnorm((1 + nivel_confianza) / 2)
margen_error <- valor_critico * error_estandar
intervalo <- c(proporcion - margen_error, proporcion + margen_error)
return(intervalo)
}
# Calcular intervalos de confianza
intervalo_X <- calcular_intervalo_confianza_proporcion(proporcion_X, length(X))
intervalo_Y <- calcular_intervalo_confianza_proporcion(proporcion_Y, length(Y))
intervalo_Z <- calcular_intervalo_confianza_proporcion(proporcion_Z, length(Z))
# Mostrar resultados
cat("Proporción y intervalo de confianza del 90% para X (Años de experiencia > 10):\n",
"Proporción:", proporcion_X, ", Intervalo:", intervalo_X, "\n")
## Proporción y intervalo de confianza del 90% para X (Años de experiencia > 10):
## Proporción: 0.5 , Intervalo: 0.3160998 0.6839002
cat("Proporción y intervalo de confianza del 90% para Y (Nivel educativo > 20):\n",
"Proporción:", proporcion_Y, ", Intervalo:", intervalo_Y, "\n")
## Proporción y intervalo de confianza del 90% para Y (Nivel educativo > 20):
## Proporción: 0.55 , Intervalo: 0.3670216 0.7329784
cat("Proporción y intervalo de confianza del 90% para Z (Salario > 1000):\n",
"Proporción:", proporcion_Z, ", Intervalo:", intervalo_Z, "\n")
## Proporción y intervalo de confianza del 90% para Z (Salario > 1000):
## Proporción: 0.5 , Intervalo: 0.3160998 0.6839002
#Crear un histograma y superponer la curva de la distribución normal
# Datos
Z <- seq(100, 2000, by = 100) # Salario
# Calcular la media y desviación estándar de Z
media_Z <- mean(Z)
desviacion_estandar_Z <- sd(Z)
# Crear el histograma con la curva de distribución normal superpuesta
hist(Z, prob = TRUE, col = "lightblue", main = "Distribución de Salarios (Z)",
xlab = "Salarios", ylab = "Densidad")
curve(dnorm(x, mean = media_Z, sd = desviacion_estandar_Z), add = TRUE, col = "darkred", lwd = 2)
# Mostrar la media y desviación estándar
cat("Media de Z (Salario):", media_Z, "\n")
## Media de Z (Salario): 1050
cat("Desviación estándar de Z (Salario):", desviacion_estandar_Z, "\n")
## Desviación estándar de Z (Salario): 591.608
Histograma (barras azules): Representa la distribución de los datos Z (salarios), mostrando cómo se distribuyen en intervalos. Dado que los datos fueron generados de forma regular (en secuencias de 100), es posible que el histograma se vea más como una distribución uniforme o sesgada, en lugar de una distribución normal típica.
Curva de distribución normal (línea roja): Superpuesta al histograma, esta curva representa cómo se vería la distribución normal si los datos Z siguieran una distribución normal. En este caso, se utiliza la media y la desviación estándar calculadas a partir de los propios datos para la curva.
HIPOTESIS PLANTEADA Y CONTRASTADA
Se plantea la hipótesis nula H0: no hay diferencia significativa en los salarios medios entre personas con nivel educativo “Universitario” y “No universitario” (μ1=μ2), y la hipótesis alternativa Ha : existe una diferencia significativa entre los salarios medios de ambos grupos (μ1 ≠ μ2). Para contrastarlas, se utiliza una prueba t de Student si las muestras cumplen normalidad y homogeneidad de varianzas, o la versión de Welch si no lo hacen. Si el valor p resultante de la prueba es menor al nivel de significancia (α=0.05), se rechaza H0, concluyendo que los salarios medios son significativamente diferentes; de lo contrario, no se rechaza H0 indicando que no hay evidencia suficiente para afirmar dicha diferencia
HIPOTESIS NULA H0: No hay diferencia significativa en los salarios medios entre personas con nivel educativo “Universitario” y “No universitario”. (μ1=μ2).
HIPOTESIS ALTERNATIVA Ha: Hay una diferencia significativa en los salarios medios entre personas con nivel educativo “Universitario” y “No universitario”. (μ1 (diferente) μ2).
Gráfico Q-Q plot
# Datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Q-Q Plot para Z
qqnorm(Z, main = "Q-Q Plot para el Salario")
qqline(Z, col = 2)
Prueba de Shapiro-Wilk
# Datos proporcionados
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Prueba de Shapiro-Wilk para cada conjunto de datos
shapiro_X <- shapiro.test(X)
shapiro_Y <- shapiro.test(Y)
shapiro_Z <- shapiro.test(Z)
# Imprimir resultados
cat("Shapiro-Wilk para X (Años de experiencia):\n")
## Shapiro-Wilk para X (Años de experiencia):
print(shapiro_X)
##
## Shapiro-Wilk normality test
##
## data: X
## W = 0.96038, p-value = 0.5514
cat("\nShapiro-Wilk para Y (Nivel educativo):\n")
##
## Shapiro-Wilk para Y (Nivel educativo):
print(shapiro_Y)
##
## Shapiro-Wilk normality test
##
## data: Y
## W = 0.96038, p-value = 0.5514
cat("\nShapiro-Wilk para Z (Salario):\n")
##
## Shapiro-Wilk para Z (Salario):
print(shapiro_Z)
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.96038, p-value = 0.5514
# Verificación de normalidad con gráficos QQ
par(mfrow = c(1, 3)) # Dividir la pantalla en 1 fila y 3 columnas
# Gráfico QQ para X
qqnorm(X, main = "QQ-Plot de X (Años de experiencia)")
qqline(X, col = "red")
# Gráfico QQ para Y
qqnorm(Y, main = "QQ-Plot de Y (Nivel educativo)")
qqline(Y, col = "red")
# Gráfico QQ para Z
qqnorm(Z, main = "QQ-Plot de Z (Salario)")
qqline(Z, col = "red")
# Restaurar configuración gráfica
par(mfrow = c(1, 1))
probabilidad normal (Q-Q plot)
# Datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Gráfico de probabilidad normal para Z (Salario)
qqnorm(Z, main = "Q-Q Plot para el Salario")
qqline(Z, col = 2) # Línea de referencia en rojo
# Definición de los datos
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Pruebas de Shapiro-Wilk para cada conjunto de datos
shapiro_X <- shapiro.test(X)
shapiro_Y <- shapiro.test(Y)
shapiro_Z <- shapiro.test(Z)
# Resultados
print("Resultados de la prueba de Shapiro-Wilk:")
## [1] "Resultados de la prueba de Shapiro-Wilk:"
cat("X (Años de experiencia):\n")
## X (Años de experiencia):
print(shapiro_X)
##
## Shapiro-Wilk normality test
##
## data: X
## W = 0.96038, p-value = 0.5514
cat("\nY (Nivel educativo):\n")
##
## Y (Nivel educativo):
print(shapiro_Y)
##
## Shapiro-Wilk normality test
##
## data: Y
## W = 0.96038, p-value = 0.5514
cat("\nZ (Salario):\n")
##
## Z (Salario):
print(shapiro_Z)
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.96038, p-value = 0.5514
# Datos proporcionados
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Prueba de Shapiro-Wilk para cada conjunto de datos
shapiro_X <- shapiro.test(X)
shapiro_Y <- shapiro.test(Y)
shapiro_Z <- shapiro.test(Z)
# Imprimir resultados
cat("Shapiro-Wilk para X (Años de experiencia):\n")
## Shapiro-Wilk para X (Años de experiencia):
print(shapiro_X)
##
## Shapiro-Wilk normality test
##
## data: X
## W = 0.96038, p-value = 0.5514
cat("\nShapiro-Wilk para Y (Nivel educativo):\n")
##
## Shapiro-Wilk para Y (Nivel educativo):
print(shapiro_Y)
##
## Shapiro-Wilk normality test
##
## data: Y
## W = 0.96038, p-value = 0.5514
cat("\nShapiro-Wilk para Z (Salario):\n")
##
## Shapiro-Wilk para Z (Salario):
print(shapiro_Z)
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.96038, p-value = 0.5514
#la prueba de Shapiro-Wilk evalúa la normalidad de los datos. Para secuencias lineales o perfectamente distribuidas, como se define, los resultados probablemente indiquen una desviación significativa de la normalidad. Esto se debe a que estas secuencias no tienen la variabilidad aleatoria esperada en datos reales.
Prueba Kolmogorov-Smirnov
# Datos proporcionados
X <- c(1:20) # Años de experiencia
Y <- c(12:31) # Nivel educativo
Z <- seq(100, 2000, by = 100) # Salario
# Prueba de Kolmogorov-Smirnov para verificar si los datos de Z siguen una distribución normal
ks.test(Z, "pnorm", mean = mean(Z), sd = sd(Z))
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: Z
## D = 0.076564, p-value = 0.9991
## alternative hypothesis: two-sided
#Se utiliza la prueba de Kolmogorov-Smirnov (K-S) para verificar si los datos de Z (salarios) siguen una distribución normal con la media y desviación estándar calculadas a partir de los datos. Esta prueba es válida incluso si los datos no son muestrales o si no se conoce la distribución real a priori.
Justificación del Uso de la Prueba t-Student
Distribución Desconocida: No tenemos información previa sobre la distribución poblacional del salario (variable Z).
Tamaño de Muestra Pequeño o Moderado: Si el tamaño de la muestra no es lo suficientemente grande como para aplicar el teorema del límite central, se prefiere la prueba t-Student.
Varianza Desconocida: La varianza poblacional (σ²) es desconocida, por lo que usamos la varianza muestral (s²) como estimador.
Comparación de Medias: La prueba t-Student es adecuada para evaluar diferencias entre medias de dos muestras (independientes o pareadas) cuando se cumple la asunción de normalidad o aproximadamente.
posibles decisiones:
si el p-valor < 0.05 rechazar H_0
si el p-valor >= 0.05 No rechazar H_0
ya que la hipótesis alternativa H_a establece que el salario promedio μ difiere de 1200, sin especificar si es mayor o menor. Esto implica que estamos interesados en detectar una diferencia en ambas direcciones (tanto si el salario promedio es mayor como si es menor que 1200).lo clasificamos como una hipotesis bilateral
Esta es una prueba bilateral, ya que buscamos determinar si existe cualquier diferencia en los salarios medios, sin especificar la dirección de la diferencia.
# Datos: Salarios
Z <- seq(100, 2000, by = 100) # Salarios
nivel_confianza <- 0.95 # Nivel de confianza (95%)
mu_hipotetico <- 1200 # Media bajo H0
# Calcular estadísticos
media_Z <- mean(Z) # Media muestral
sd_Z <- sd(Z) # Desviación estándar muestral
n <- length(Z) # Tamaño de la muestra
error_estandar <- sd_Z / sqrt(n)
# Valor crítico para prueba bilateral
valor_critico <- qt((1 + nivel_confianza) / 2, df = n - 1)
# Estadístico t observado
t_observado <- (media_Z - mu_hipotetico) / error_estandar
# Calcular el p-valor
p_valor <- 2 * (1 - pt(abs(t_observado), df = n - 1))
# Resultados
cat("Resultados de la prueba de hipótesis:\n")
## Resultados de la prueba de hipótesis:
cat("Media muestral:", media_Z, "\n")
## Media muestral: 1050
cat("Desviación estándar:", sd_Z, "\n")
## Desviación estándar: 591.608
cat("Tamaño de la muestra:", n, "\n")
## Tamaño de la muestra: 20
cat("Estadístico t:", t_observado, "\n")
## Estadístico t: -1.133893
cat("Valor crítico (t): ±", valor_critico, "\n")
## Valor crítico (t): ± 2.093024
cat("P-valor:", p_valor, "\n")
## P-valor: 0.2709439
# Decisión
if (p_valor < 0.05) {
cat("Rechazamos H0: Existe evidencia suficiente para concluir que el salario promedio difiere de 1200.\n")
} else {
cat("No rechazamos H0: No hay evidencia suficiente para concluir que el salario promedio difiere de 1200.\n")
}
## No rechazamos H0: No hay evidencia suficiente para concluir que el salario promedio difiere de 1200.
# Error Tipo II (Beta)
# Supongamos que la media verdadera es 1300
media_verdadera <- 1300
t_beta <- (valor_critico * error_estandar - (mu_hipotetico - media_verdadera)) / error_estandar
beta <- pt(t_beta, df = n - 1)
cat("Error Tipo II (Beta):", beta, "\n")
## Error Tipo II (Beta): 0.9948671
cat("Potencia de la prueba (1 - Beta):", 1 - beta, "\n")
## Potencia de la prueba (1 - Beta): 0.005132877
Tipo I(gamma) El error Tipo I ocurre si rechazamos (H_0) cuando es verdadera.Lo controlamos con el nivel de significancia (gamma(=0.05)).concluimos que la media es diferente
Tipo II (beta)El error Tipo II ocurre si no rechazamos (H_0). cuando (h_gamma) es verdadera.Se estima asumiendo un valor alternativo para la media, en este caso, 1300 unidades.
La estadística t se calcula comparando la media muestral con la media hipotética.El p-valor indica la probabilidad de observar una media tan extrema bajo (H_0)
Si el p-valor < 0.05, rechazamos (H_o):hay suficiente evidencia para concluir que el salario promedio no es 1200.
no hay dierencias significativas en las medias
CONCLUSIONES
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.
6. con respecto a la variable x l intervalo de confianza estimado para la media de los años de experiencia, con un 95% de confianza, indica que la verdadera media poblacional se encuentra dentro de los límites calculados. Si el intervalo es amplio, refleja una mayor dispersión en los datos. En este caso, los años de experiencia están distribuidos uniformemente, con baja variabilidad. Además, el intervalo de confianza para la proporción de personas con más de 10 años de experiencia muestra el rango probable de esta proporción, siendo un intervalo estrecho más confiable y un intervalo amplio indicativo de mayor incertidumbre.
7. con respecto a la variable y el intervalo de confianza para la media del nivel educativo estimado muestra el rango donde se espera que se encuentre la verdadera media poblacional. Si el intervalo es estrecho, las estimaciones son precisas; si es amplio, puede reflejar variabilidad o un tamaño de muestra insuficiente. Además, el intervalo de confianza para la proporción de personas con un nivel educativo superior a 20 estima el porcentaje poblacional dentro de este rango, con un 90% de confianza.
8. con respecto a la variable z el intervalo de confianza para el salario muestra una alta dispersión, debido a la amplia diferencia entre el mínimo y el máximo. Aunque la media es útil, la amplitud del intervalo limita la precisión de las inferencias. Además, el intervalo para la proporción de personas con salario mayor a 1000 unidades indica el rango probable de esta proporción, siendo un valor cercano a los límites del intervalo indicativo de alta variabilidad en los datos.
9. La discrepancia entre el histograma y la curva normal indica que los datos no se distribuyen de manera normal, destacando la importancia de conocer las propiedades reales de los datos antes de aplicar modelos estadísticos.
REFERENCIAS