#DEFINICION DE MUESTREO POR CUOTAS
#Es un metodo de muestreo no probabilistico que consiste en seleccionar una muestra representativa de una poblacion objetivo, asegurando que la muestra tenga una distribucion similar en terminos de ciertas caracteristica relevantes, como edad, sexo, nivel de eduaccion, ingresos entre otros. los cuales se mide en un rango de tiempo determinado
#formula para estimar el tamaño de la muestra
n=1000
z=1.96
p=0.05
E=0.05
n=(z^2*p*(1-p))/E^2
#n=Tamaño de muestra
#Z=Nivel de confianza
#p=proporcion esperada de la caracteristica de interes en la poblacion
#E=Error estandar deseado
# Supongamos que queremos realizar un estudio sobre la opinión pública sobre el tema específico favorabilidad del alcalde en la ciudad Neiva para el periodo de marzo a junio del 2024. Queremos asegurarnos de que la muestra sea representativa de la población en términos de edad y sexo.
# cuotas establecidas
#poblacion=400.000 habitantes
#caracteristca: edad(18-24,25-34,35-44,45-54,55+)
#cuotas establecidas: edad:18-24(20%),25-34(15%),35-44(30%),45-54(20%),54-55(15%)
#sexo: Masculino(50%), femenino(50%) tamaño de la muestra total =1000
#Generamos datos para la población
# estrato 1, 2 y 3
n_poblacion <- 10000 # tamaño de la poblacion
set.seed(123)
poblacion_edad <- rnorm(n_poblacion, mean = 27, sd = 5) # Edad en años
poblacion_estrato <- rnorm(n_poblacion, mean =2 , sd = 3) # estrato
media <- mean(poblacion_edad)
media
## [1] 26.98814
tamaño_muestra <- 1000
muestra_edad <- sample(poblacion_edad, tamaño_muestra)
muestra_estrato <- sample(poblacion_estrato, tamaño_muestra)
# estimacion puntual
#Usamos la media muestral como una estimación puntual de la media poblacional.
media_muestral_edad <- mean(muestra_edad)
media_muestral_edad
## [1] 26.77537
# estimacion puntual
#Usamos la media muestral como una estimación puntual de la media poblacional.
media_muestral_estrato <- mean(muestra_estrato)
media_muestral_estrato
## [1] 2.160343
#Sesgo de la estimación de la media
sesgo_edad <- media_muestral_edad - mean(poblacion_edad)
cat("Estimación de la media:\n")
## Estimación de la media:
## Estimación de la media:
cat("Edad:", media_muestral_edad, " (Sesgo:", sesgo_edad, ")\n")
## Edad: 26.77537 (Sesgo: -0.212773 )
La media muestral de 26.77537 indica que el promedio de edad de los encuestados en la muestra es aproximadamente 27 años. Esto nos da a entender que la opinión sobre la favorabilidad del alcalde en la muestra puede estar dominada por personas en un rango de edad joven.
el sesgo lo que nos indica En este caso, con un valor negativo que la muestra seleccionada tiene una media de edad ligeramente menor en comparación con la población general.
#Sesgo de la estimación de la media
sesgo_estrato <- media_muestral_estrato - mean(poblacion_estrato)
cat("Estimación de la media:\n")
## Estimación de la media:
## Estimación de la media:
cat("Estrato:", media_muestral_estrato, " (Sesgo:", sesgo_estrato, ")\n")
## Estrato: 2.160343 (Sesgo: 0.1876619 )
#Eficiencia del Estimador
var_edad <- var(muestra_edad) / tamaño_muestra
var_edad
## [1] 0.02422696
cat("\nVarianza del estimador (Eficiencia):\n")
##
## Varianza del estimador (Eficiencia):
## Varianza del estimador (Eficiencia):
cat("Edad:", var_edad, "\n")
## Edad: 0.02422696
var_estrato <- var(muestra_estrato) / tamaño_muestra
var_estrato
## [1] 0.009543155
cat("\nVarianza del estimador (Eficiencia):\n")
##
## Varianza del estimador (Eficiencia):
## Varianza del estimador (Eficiencia):
cat("Estrato:", var_estrato, "\n")
## Estrato: 0.009543155
desviacion_edad <- sqrt(var_edad)
desviacion_edad
## [1] 0.1556501
desviacion_estrato <- sqrt(var_estrato)
desviacion_estrato
## [1] 0.09768907
tamaños_muestra <- seq(100, 800, by = 10)
medias_muestrales_edad <- sapply(tamaños_muestra, function(n) {
mean(sample(poblacion_edad, n))
})
tamaños_muestra <- seq(100, 800, by = 10)
medias_muestrales_estrato <- sapply(tamaños_muestra, function(n) {
mean(sample(poblacion_estrato, n))
})
#analisis las estimaciones de la media muestral son cercanas a los valores esperados (media de 25 para edad y media cercana a 1 para el sexo), lo cual indica que la media muestral es un buen estimador de la media poblacional. para los valores del sesgo obtenidos podemos decir que las estimaciones de la media son insesgadas para ambas variables ya que se acercan al valor cero, lo que es importante enla inferencia. En la varianza de la edad podemos observar un valor muy bajo, lo cual es positivo para la inferencia, ya que implica que si se tomaran diferentes muestras del mismo tamaño, la variación en las medias muestrales entre muestras sería pequeña, proporcionando estimaciones consistentes.
nivel_confianza <-0.95
valor_critico <-qnorm((1 + nivel_confianza) / 2)
valor_critico
## [1] 1.959964
nivel_confianza <- 0.95
muestra_media <- 24.9
desviacion_estandar <- 0.15
tamano_muestra <- 1000
error_estandar <- 0.15 / sqrt(1000)
valor_critico <- qt((1 + 0.95) / 2, df = 1000 - 1)
margen_error <- valor_critico * error_estandar
intervalo_confianza <- c(muestra_media - margen_error, muestra_media + margen_error)
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la media:", intervalo_confianza)
## Intervalo de confianza del 95 % para la media: 24.89069 24.90931
#estimador de maxima verosimilitud para la variable edad
# Generar una muestra de datos
set.seed(123)
datos <- rnorm(1000, mean = 3, sd = 2)
# Función de verosimilitud para una distribución normal
log_likelihood <- function(par, data) {
mu <- par[1]
sigma <- par[2]
-sum(dnorm(poblacion_edad, mean = mu, sd = sigma, log = TRUE))
}
# Encontrar estimadores de máxima verosimilitud
inicializacion <- c(mean(poblacion_edad), sd(poblacion_edad))
estimadores_mle <- optim(par = inicializacion, fn = log_likelihood, data = poblacion_edad)
# Resultados
cat("Estimador MLE para la media:", estimadores_mle$par[1], "\n")
## Estimador MLE para la media: 26.98814
#estimador de maxima verosimilitud para la variable estrato
# Generar una muestra de datos
set.seed(123)
datos <- rnorm(1000, mean = 3, sd = 2)
# Función de verosimilitud para una distribución normal
log_likelihood <- function(par, data) {
mu <- par[1]
sigma <- par[2]
-sum(dnorm(poblacion_estrato, mean = mu, sd = sigma, log = TRUE))
}
# Encontrar estimadores de máxima verosimilitud
inicializacion <- c(mean(poblacion_estrato), sd(poblacion_estrato))
estimadores_mle <- optim(par = inicializacion, fn = log_likelihood, data = poblacion_estrato)
# Resultados
cat("Estimador MLE para la media:", estimadores_mle$par[1], "\n")
## Estimador MLE para la media: 1.972681
nivel_confianza <- 0.95
muestra_media <- mean(muestra_edad)
desviacion_estandar <- sd(muestra_edad)
tamano_muestra <- length(muestra_edad)
# Calcular el error estándar de la media
error_estandar <- desviacion_estandar / sqrt(tamano_muestra)
# Calcular el valor crítico de la distribución t
valor_critico <- qt((1 + nivel_confianza) / 2, df = tamano_muestra - 1)
# Calcular el margen de error
margen_error <- valor_critico * error_estandar
# Calcular el intervalo de confianza
intervalo_confianza <- c(muestra_media - margen_error, muestra_media + margen_error)
# Mostrar resultados
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la media:", intervalo_confianza)
## Intervalo de confianza del 95 % para la media: 26.46993 27.08081
nivel_confianza <- 0.95
muestra_media <- mean(muestra_estrato)
desviacion_estandar <- sd(muestra_estrato)
tamano_muestra <- length(muestra_estrato)
# Calcular el error estándar de la media
error_estandar <- desviacion_estandar / sqrt(tamano_muestra)
# Calcular el valor crítico de la distribución t
valor_critico <- qt((1 + nivel_confianza) / 2, df = tamano_muestra - 1)
# Calcular el margen de error
margen_error <- valor_critico * error_estandar
# Calcular el intervalo de confianza
intervalo_confianza <- c(muestra_media - margen_error, muestra_media + margen_error)
# Mostrar resultados
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la media:", intervalo_confianza)
## Intervalo de confianza del 95 % para la media: 1.968643 2.352042
personas_satisfechas <- 500
tamano_muestra <- 1000
proporcion_satisfechas <- personas_satisfechas / tamano_muestra
nivel_confianza <- 0.95
# Calcular el error estándar de la proporción
error_estandar_proporcion <- sqrt((proporcion_satisfechas * (1 - proporcion_satisfechas)) / tamano_muestra)
# Calcular el valor crítico de la distribución normal estándar
valor_critico <- qnorm((1 + nivel_confianza) / 2)
# Calcular el margen de error
margen_error_proporcion <- valor_critico * error_estandar_proporcion
# Calcular el intervalo de confianza
intervalo_confianza_proporcion <- c(proporcion_satisfechas - margen_error_proporcion, proporcion_satisfechas + margen_error_proporcion)
# Mostrar resultados
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la proporción de clientes satisfechos:", intervalo_confianza_proporcion)
## Intervalo de confianza del 95 % para la proporción de clientes satisfechos: 0.4690102 0.5309898
nivel_confianza <- 0.95
muestra_media <- mean(muestra_edad)
desviacion_estandar <- sd(muestra_edad)
tamano_muestra <- length(muestra_edad)
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)
# Mostrar resultado
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la media:", intervalo_confianza)
## Intervalo de confianza del 95 % para la media: 26.46993 27.08081
nivel_confianza <- 0.95
muestra_media <- mean(muestra_estrato)
desviacion_estandar <- sd(muestra_estrato)
tamano_muestra <- length(muestra_estrato)
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)
# Mostrar resultado
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la media:", intervalo_confianza)
## Intervalo de confianza del 95 % para la media: 1.968643 2.352042
personas_acuerdo <- 700
tamano_muestra <- 1000
proporcion_acuerdo <- personas_acuerdo / tamano_muestra
# Cálculos
nivel_confianza <- 0.90
error_estandar_proporcion <- sqrt((proporcion_acuerdo * (1 - proporcion_acuerdo)) / tamano_muestra)
valor_critico <- qnorm((1 + nivel_confianza) / 2)
margen_error_proporcion <- valor_critico * error_estandar_proporcion
intervalo_confianza_proporcion <- c(proporcion_acuerdo - margen_error_proporcion, proporcion_acuerdo + margen_error_proporcion)
# Mostrar resultado
cat("Intervalo de confianza del", nivel_confianza * 100, "% para la proporción:", intervalo_confianza_proporcion)
## Intervalo de confianza del 90 % para la proporción: 0.6761638 0.7238362
no se puede inferir en la diferencia de medias ya que por ser datos aleatorios me da una cantidad de rangos.
Según la edad de la poblacion la distribución de la opinión pública sobre la favorabilidad del alcalde en la ciudad de Neiva no varía significativamente.
Segun la edad de la poblacion la distribución de la opinión pública sobre la favorabilidad del alcalde en la ciudad de Neiva varía significativamente.
Se concluye que la favorabilidad del alcalde varía significativamente con la edad o el estrato de la población, pero en realidad, no hay una relación significativa entre estas variables y la opinión pública.
Se concluye que la favorabilidad del alcalde no depende de la edad o el estrato de la población, pero en realidad, sí existe una relación significativa entre estas variables y la opinión pública.
La regresión lineal es una técnica estadística que modela la relación lineal entre una variable dependiente (respuesta) y una o más variables independientes (predictoras). La ecuación de regresión lineal es de la forma Y=β0+β1X+ϵ , donde β0 es la ordenada al origen, β1 es la pendiente de la línea de regresión, X es la variable independiente, y ϵ es el error.
$ Y= β_0 + β_1X +e$
Y= variable dependiante (salario_mensual) X= variable independiante (edad) β_0= ordenada al origen β_1= pendiente de la linea de regresion e= termino de error
queremos analizar la relación entre la edad y el salario mensual de un grupo de empleados de la empresa de textiles. Tenemos un conjunto de datos que incluye la edad y el salario de cada empleado.
hipotesis nula: no existe una relacion lineal significativa entre la edad y el salario.
hipotesis alternativa: existe una relacion lineal significativa entre la edad y el salario.
edad <- c(25,27,29,31,33,35,37,39)
salario_mensual <- c(1000,1500,2000,2500,3000,3500,4000,4500)
datos <-data.frame(edad,salario_mensual)
datos <- data.frame(edad = edad, salario_mensual = salario_mensual)
print(head(datos))
## edad salario_mensual
## 1 25 1000
## 2 27 1500
## 3 29 2000
## 4 31 2500
## 5 33 3000
## 6 35 3500
modelo_regresion <- lm(salario_mensual ~ edad, data = datos)
summary(modelo_regresion)
## Warning in summary.lm(modelo_regresion): essentially perfect fit: summary may
## be unreliable
##
## Call:
## lm(formula = salario_mensual ~ edad, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.769e-13 -8.584e-14 -5.235e-14 3.292e-14 2.839e-13
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.250e+03 4.331e-13 -1.212e+16 <2e-16 ***
## edad 2.500e+02 1.340e-14 1.866e+16 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.737e-13 on 6 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 3.482e+32 on 1 and 6 DF, p-value: < 2.2e-16
# analisis de resultados
cat("Coeficientes del modelo:")
## Coeficientes del modelo:
print(coef(modelo_regresion))
## (Intercept) edad
## -5250 250
plot(datos$edad, datos$salario_mensual, main = "Regresión Lineal", xlab = "edad", ylab = "salario_mensual")
abline(modelo_regresion, col = "red")
$ Y= β_0 + β_1X +e$
De los datos proporcionados:
intercepto β_0 es -5250 la pendiente β_1 es 250
sustituyendo la formula general
$ salario_mensual=−5250+250⋅edad + e $
el valor estimado de 𝑦 cuando𝑥=0. En este caso, si una persona tuviera 0 años, su salario estimado sería de −5250.
Este valor indica cómo cambia en promedio por cada unidad adicional de 𝑥 Es decir:
Por cada año adicional de edad, el salario mensual aumenta, en promedio, en 250 unidades.