La base de datos titulada “Base_Datos_Vulcanología” contiene información recopilada sobre diferentes volcanes a nivel mundial. Esta información incluye variables físicas y geoquímicas que permiten el análisis estadístico de la actividad volcánica y sus características estructurales. En particular, cada registro representa un volcán específico, identificado con un código único. Entre las variables incluidas en el conjunto de datos se encuentran:
Nombre del volcán (Nombre_Volcan) Tipo de volcán (Tipo_Volcan), como Estratovolcán, Escudo, Cono de Ceniza, etc. Altura (en metros) (Altura_m): Elevación sobre el nivel del mar. Frecuencia de erupciones (Frecuencia_Erupcion_Anios): Número promedio de años entre erupciones. Emisión de dióxido de azufre (SO₂) (Emision_SO2_Toneladas): Expresada en toneladas. Temperatura de la lava (Temperatura_Lava_C): Temperatura registrada en grados Celsius.
Este conjunto de datos resulta útil para estudios comparativos entre volcanes, modelado de riesgos geológicos, y análisis de tendencias de actividad volcánica. Asimismo, permite aplicar técnicas de estadística inferencial para validar hipótesis sobre la estructura y comportamiento de los volcanes.
Usamos el paquete readxl para leer archivos Excel en
R.
# Instalar el paquete si no lo tienes
if (!require(readxl)) install.packages("readxl")
## Loading required package: readxl
# Cargar el paquete
library(readxl)
# Leer el archivo Excel (hoja 1 por defecto)
datos <- read_excel("Base_Datos_Vulcanologia.xlsx")
# Mostrar los primeros datos
head(datos)
## # A tibble: 6 × 7
## ID_Volcan Nombre_Volcan Tipo_Volcan Altura_m Frecuencia_Erupcion_Anios
## <dbl> <chr> <chr> <dbl> <dbl>
## 1 1 Cotopaxi Cono de Ceniza 2545. 460.
## 2 2 Cotopaxi Escudo 5952. 447.
## 3 3 Galeras Escudo 1574. 349.
## 4 4 Etna Estratovolcán 5913. 117.
## 5 5 Etna Estratovolcán 1555. 411.
## 6 6 Galeras Escudo 5179. 203.
## # ℹ 2 more variables: Emision_SO2_Toneladas <dbl>, Temperatura_Lava_C <dbl>
Se desea determinar, a través de una prueba de hipótesis, si la altura media de los volcanes incluidos en un estudio es significativamente mayor a 3000 metros. Para ello, se analizan los datos de una muestra de tamaño n = 100, cuya media muestral es {x} = 3422.289 metros y cuya desviación estándar muestral es s = 1608.77 metros. El nivel de significancia establecido para la prueba es = 0.05. ¿Proporcionan estos datos suficiente evidencia estadística para concluir que, en promedio, los volcanes del estudio tienen una altura superior a 3000 metros?
Las hipótesis a contrastar son:
Hipótesis nula H_0: = 3000 Hipótesis alternativa H_1: > 3000.
# Extraer los valores de la columna Altura_m
valores <- datos$Altura_m
valores <- valores[!is.na(valores)] # Eliminar valores NA
# Calcular estadísticas
media <- mean(valores)
desviacion <- sd(valores)
n <- length(valores)
# Mostrar resultados
cat("Estadísticos de la columna 'Altura_m':\n")
## Estadísticos de la columna 'Altura_m':
cat("Media:", media, "\n")
## Media: 3422.289
cat("Desviación estándar:", desviacion, "\n")
## Desviación estándar: 1608.77
cat("Tamaño de muestra:", n, "\n")
## Tamaño de muestra: 100
##2. Resolucion de elementos
# Parámetros del planteamiento 2
mu0 <- 3000 # Hipótesis nula: altura media poblacional
x_bar <- 3422.289 # Media muestral
s <- 1608.77 # Desviación estándar muestral
n <- 100 # Tamaño de la muestra
alpha <- 0.05 # Nivel de significancia
# Cálculo del estadístico t
t_calculado <- (x_bar - mu0) / (s / sqrt(n))
# Cálculo de grados de libertad
gl <- n - 1
# Valor crítico para cola derecha
t_critico <- qt(1 - alpha, df = gl)
# Cálculo del valor p
p_valor <- 1 - pt(t_calculado, df = gl)
# Mostrar resultados
cat("----------- Resultados de la prueba de hipótesis -----------\n")
## ----------- Resultados de la prueba de hipótesis -----------
cat("Estadístico t calculado:", t_calculado, "\n")
## Estadístico t calculado: 2.624918
cat("Grados de libertad:", gl, "\n")
## Grados de libertad: 99
cat("Valor crítico t (cola derecha):", t_critico, "\n")
## Valor crítico t (cola derecha): 1.660391
cat("Valor p:", p_valor, "\n")
## Valor p: 0.005020432
cat("------------------------------------------------------------\n")
## ------------------------------------------------------------
Se instala el paquete “ggplot2”
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Parámetros de la muestra
x_bar <- 3422.289
s <- 1608.77
n <- 100
mu0 <- 3000
alpha <- 0.05
# Estadístico t
t_calculado <- (x_bar - mu0) / (s / sqrt(n))
gl <- n - 1
t_critico <- qt(1 - alpha, df = gl)
p_valor <- 1 - pt(t_calculado, df = gl)
# Mostrar resultados
cat("Estadístico de prueba t calculado:", t_calculado, "\n")
## Estadístico de prueba t calculado: 2.624918
cat("Grados de libertad:", gl, "\n")
## Grados de libertad: 99
cat("Valor crítico t:", t_critico, "\n")
## Valor crítico t: 1.660391
cat("Valor p:", p_valor, "\n")
## Valor p: 0.005020432
# a) Gráfica de la distribución t
library(ggplot2)
x <- seq(-4, 8, length = 200)
y <- dt(x, df = gl)
ggplot(data.frame(x, y), aes(x, y)) +
geom_line(color = "blue") +
geom_area(data = subset(data.frame(x, y), x > t_critico), aes(x=x, y=y), fill="red", alpha=0.5) +
geom_vline(xintercept = t_calculado, color="black", linetype="dashed") +
labs(title = "Distribución t Student con Región Crítica (cola derecha)",
x = "t", y = "Densidad") +
theme_minimal()
# b) Regla de decisión
if (t_calculado > t_critico) {
cat("Decisión: Se rechaza H₀.\n")
} else {
cat("Decisión: No se rechaza H₀.\n")
}
## Decisión: Se rechaza H₀.
# c) Evaluación con p-valor
if (p_valor < alpha) {
cat("Decisión basada en p-valor: Se rechaza H₀.\n")
} else {
cat("Decisión basada en p-valor: No se rechaza H₀.\n")
}
## Decisión basada en p-valor: Se rechaza H₀.
# 5. Conclusión Final
if (t_calculado > t_critico & p_valor < alpha) {
cat("Conclusión Final: Hay suficiente evidencia para afirmar que, en promedio, la altura de los volcanes es mayor a 3000 metros.\n")
} else {
cat("Conclusión Final: No hay suficiente evidencia para afirmar que, en promedio, la altura de los volcanes sea mayor a 3000 metros.\n")
}
## Conclusión Final: Hay suficiente evidencia para afirmar que, en promedio, la altura de los volcanes es mayor a 3000 metros.
Se concluye que con un valor p menor que 0.05 y un estadístico t mayor que el valor crítico, hay suficiente evidencia estadística para afirmar que, en promedio, la altura de los volcanes del estudio es significativamente mayor a 3000 metros. Esto sugiere que los volcanes analizados tienden a ser altos, lo cual puede ser relevante para estudios de riesgo volcánico y monitoreo geológico.
Se desea determinar si la proporción de volcanes tipo Estratovolcán en el estudio es diferente al 50%. Para ello, se plantea una prueba de hipótesis para una proporción, utilizando un nivel de significancia de α = 0.05. La hipótesis nula establece que la proporción real es del 50% (H₀: p = 0.50), mientras que la hipótesis alternativa plantea que es distinta de ese valor (H₁: p ≠ 0.50). En la muestra analizada, se observaron 72 volcanes tipo Estratovolcán de un total de 150, lo que corresponde a una proporción muestral de p̂ = 0.48. A partir de estos datos se procederá con la prueba estadística correspondiente para determinar si existe evidencia suficiente para rechazar la hipótesis nula.
n <- 120 # Tamaño de muestra
x <- 72 # Estratovolcanes
p_observado <- x / n # Proporción observada
p_hipotetico <- 0.50 # Proporción según H₀
alpha <- 0.05 # Nivel de significancia
cat("Proporción observada (p):", p_observado, "\n")
## Proporción observada (p): 0.6
cat("Proporción hipotética (p₀):", p_hipotetico, "\n")
## Proporción hipotética (p₀): 0.5
cat("Tamaño de muestra (n):", n, "\n")
## Tamaño de muestra (n): 120
# H₀: p = 0.50
# H₁: p ≠ 0.50
# Estadístico Z
z_calculado <- (p_observado - p_hipotetico) / sqrt(p_hipotetico * (1 - p_hipotetico) / n)
cat("Estadístico de prueba Z calculado:", z_calculado, "\n")
## Estadístico de prueba Z calculado: 2.19089
# Valor crítico para prueba bilateral
z_critico <- qnorm(1 - alpha / 2)
cat("Valor crítico Z:", z_critico, "\n")
## Valor crítico Z: 1.959964
# p-valor bilateral
p_valor <- 2 * (1 - pnorm(abs(z_calculado)))
cat("Valor p:", p_valor, "\n")
## Valor p: 0.02845974
library(ggplot2)
x_seq <- seq(-4, 4, length = 1000)
y_seq <- dnorm(x_seq)
df <- data.frame(x = x_seq, y = y_seq)
df$region <- "Centro"
df$region[df$x < -z_critico] <- "Cola Izquierda"
df$region[df$x > z_critico] <- "Cola Derecha"
ggplot(df, aes(x = x, y = y)) +
geom_line(color = "blue") +
geom_area(data = subset(df, region != "Centro"),
aes(fill = region), alpha = 0.5) +
geom_vline(xintercept = z_calculado, linetype = "dashed", color = "black") +
scale_fill_manual(values = c("Cola Izquierda" = "red", "Cola Derecha" = "red")) +
labs(title = "Distribución Normal con Regiones Críticas",
x = "Z", y = "Densidad") +
theme_minimal()
if (abs(z_calculado) > z_critico) {
cat("Decisión: Se rechaza H₀.\n")
} else {
cat("Decisión: No se rechaza H₀.\n")
}
## Decisión: Se rechaza H₀.
if (p_valor < alpha) {
cat("Decisión basada en p-valor: Se rechaza H₀.\n")
} else {
cat("Decisión basada en p-valor: No se rechaza H₀.\n")
}
## Decisión basada en p-valor: Se rechaza H₀.
if (abs(z_calculado) > z_critico & p_valor < alpha) {
cat("Conclusión Final: Hay evidencia suficiente para afirmar que la proporción de volcanes tipo Estratovolcán es diferente al 50%.\n")
} else {
cat("Conclusión Final: No hay evidencia suficiente para afirmar que la proporción de volcanes tipo Estratovolcán sea diferente al 50%.\n")
}
## Conclusión Final: Hay evidencia suficiente para afirmar que la proporción de volcanes tipo Estratovolcán es diferente al 50%.
El análisis indica que la proporción de volcanes tipo estratovolcán es significativamente diferente al 50%. En concreto, como el valor observado es 60%, se puede decir que hay una mayor proporción de estratovolcanes de la esperada bajo la hipótesis nula. Esto podría reflejar una tendencia en los volcanes del conjunto de datos o un sesgo geográfico en la muestra.
Se desea verificar si la varianza de la velocidad del flujo en los ríos tropicales ha cambiado con respecto al valor histórico, el cual es de σ²₀ = 1.5 (m/s)². Para ello, se formula una prueba de hipótesis bilateral con un nivel de significancia α = 0.05. La hipótesis nula establece que la varianza poblacional es igual al valor histórico (H₀: σ² = 1.5), mientras que la hipótesis alternativa propone que la varianza es diferente (H₁: σ² ≠ 1.5). Se cuenta con una muestra de 30 observaciones, cuya varianza muestral es s² = 0.95 (m/s)². A partir de estos datos, se aplicará una prueba de Chi-cuadrado para determinar si existe evidencia estadística suficiente para rechazar la hipótesis nula y concluir que la varianza del flujo ha cambiado.
n <- 25
s2_muestra <- 1.8
s2_hipotetica <- 2.4
alpha <- 0.05
cat("Varianza muestral (s²):", s2_muestra, "\n")
## Varianza muestral (s²): 1.8
cat("Varianza hipotética (σ²₀):", s2_hipotetica, "\n")
## Varianza hipotética (σ²₀): 2.4
cat("Tamaño de muestra (n):", n, "\n")
## Tamaño de muestra (n): 25
# H₀: σ² ≥ 2.4
# H₁: σ² < 2.4 (prueba unilateral hacia la izquierda)
# Estadístico de prueba Chi-cuadrado
chi2_calculado <- (n - 1) * s2_muestra / s2_hipotetica
cat("Estadístico de prueba Chi² calculado:", chi2_calculado, "\n")
## Estadístico de prueba Chi² calculado: 18
# Valor crítico (solo inferior porque es una prueba unilateral hacia la izquierda)
chi2_critico <- qchisq(alpha, df = n - 1)
cat("Valor crítico inferior:", chi2_critico, "\n")
## Valor crítico inferior: 13.84843
# p-valor (como es unilateral izquierda)
p_valor <- pchisq(chi2_calculado, df = n - 1)
cat("Valor p:", p_valor, "\n")
## Valor p: 0.1969916
library(ggplot2)
# Crear datos para la curva
x_vals <- seq(0, 50, length.out = 1000)
dens_vals <- dchisq(x_vals, df = n - 1)
df_plot <- data.frame(x = x_vals, y = dens_vals)
# Definir regiones
df_plot$region <- "Centro"
df_plot$region[df_plot$x < chi2_critico] <- "Cola Izquierda"
# Graficar
ggplot(df_plot, aes(x = x, y = y)) +
geom_line(color = "blue") +
geom_area(data = subset(df_plot, region == "Cola Izquierda"),
aes(fill = region), alpha = 0.5) +
geom_vline(xintercept = chi2_calculado, linetype = "dashed", color = "black") +
scale_fill_manual(values = c("Cola Izquierda" = "red")) +
labs(
title = "Distribución Chi-cuadrado con Región Crítica (Unilateral Izquierda)",
x = "Chi²", y = "Densidad"
)
if (chi2_calculado < chi2_critico) {
cat("Conclusión (por valor crítico): Se RECHAZA H₀. La varianza ha disminuido significativamente.\n")
} else {
cat("Conclusión (por valor crítico): NO se rechaza H₀. No hay evidencia suficiente de que la varianza haya disminuido.\n")
}
## Conclusión (por valor crítico): NO se rechaza H₀. No hay evidencia suficiente de que la varianza haya disminuido.
if (p_valor < alpha) {
cat("Conclusión (por p-valor): Se RECHAZA H₀. La varianza ha disminuido significativamente.\n")
} else {
cat("Conclusión (por p-valor): NO se rechaza H₀. No hay evidencia suficiente de que la varianza haya disminuido.\n")
}
## Conclusión (por p-valor): NO se rechaza H₀. No hay evidencia suficiente de que la varianza haya disminuido.
Aunque la varianza muestral (1.8) es menor que la hipotética (2.4), no hay evidencia estadísticamente suficiente para concluir que la varianza de la velocidad del flujo ha disminuido. El valor p es mayor que 0.05, lo que sugiere que cualquier diferencia observada puede deberse al azar o a variabilidad natural dentro de la muestra.