#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

estimadores

#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 )

analisis:

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

consistencia

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

#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

Intervalo de confianza

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

clase 2

#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

Intervalo de confianza para la media

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

intervalo de confianza para la proporcion

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

intervalo de confianza para la media

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

intervalo de confianza para la proporcion

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

analisis

no se puede inferir en la diferencia de medias ya que por ser datos aleatorios me da una cantidad de rangos.

HIPOTESIS

HIPOTESIS NULA

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.

HIPOTESIS ALTERNATIVA

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.

error tipo 1

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.

error tipo 2

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.

prueba hipotesis: prueba parametrica regresion lineal

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.

formula

$ 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

EJEMPLO

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

inferencia

# analisis de resultados
cat("Coeficientes del modelo:")
## Coeficientes del modelo:

coeficiente del modelo

print(coef(modelo_regresion))
## (Intercept)        edad 
##       -5250         250

graficar la linea de regresion

plot(datos$edad, datos$salario_mensual, main = "Regresión Lineal", xlab = "edad", ylab = "salario_mensual")
abline(modelo_regresion, col = "red")

analisis

$ 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.