# Modelo Log Normal
# Varianble Continua
#Autor: Ariana Viteri
#Fecha:11/06/2026

0.- Carga de Librerias

library(gt)
## Warning: package 'gt' was built under R version 4.5.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(e1071)
## Warning: package 'e1071' was built under R version 4.5.3
library(htmltools)

1.- Carga de Datos

#Cargar los datos 
datos <- read.csv("~/semestre 3 y 4/Estadistica/Datos Cambiados.csv",
                  header = TRUE, dec = ".", sep = ",", na.strings = "-")

datos <- na.omit(datos)

datos <- datos[order(datos$AQI, datos$NO2), ]
#----------------------------------------

2.- Selección de variables

datos_prom <- aggregate(NO2 ~ AQI, data = datos, mean)

Y <- datos_prom$AQI   # efecto
X <- datos_prom$NO2    # causa

#La concentración de diosido de nitrogeno (NO2) es la CAUSA porque corresponde a un contaminante gaseoso primario de alta toxicidad que se acumula en la atmósfera, 
#especialmente en zonas urbanas con alta actividad vehicular e industrial, y el Índice de Calidad del Aire (AQI) es el EFECTO, ya que varía en respuesta a 
#los incrementos en la concentración de CO para sintetizar el nivel de riesgo para la salud humana, mostrando un comportamiento de tipo exponencial.

3.- Tabla pares de valores

TVP_NO2_AQI <- data.frame(X, Y)
# 2. Tabla pares de valores 
tabla <- TVP_NO2_AQI %>%
  gt() %>%
  cols_align(
    align = "center",
    columns = everything()
  ) %>%
  fmt_number(
    columns = everything(),
    decimals = 2
  ) %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("*Pares de valores de NO2 y AQI, Calidad del aire en India 2015-2020*")
  )

div(
  style = "height:400px; overflow-y:auto;",
  tabla
)
Tabla Nro. 1
Pares de valores de NO2 y AQI, Calidad del aire en India 2015-2020
X Y
12.21 23.00
14.05 26.00
15.57 29.00
12.63 30.00
17.28 31.00
11.61 32.00
16.29 33.00
15.56 34.00
12.77 35.00
14.16 36.00
14.77 37.00
13.91 38.00
13.01 39.00
14.82 40.00
18.55 41.00
15.99 42.00
16.34 43.00
15.60 44.00
13.18 45.00
15.69 46.00
16.81 47.00
17.66 48.00
18.94 49.00
16.28 50.00
17.56 51.00
20.71 52.00
21.25 53.00
20.30 54.00
21.08 55.00
18.05 56.00
14.11 57.00
17.29 58.00
18.08 59.00
16.84 60.00
18.44 61.00
20.48 62.00
19.71 63.00
20.87 64.00
21.98 65.00
24.36 66.00
21.62 67.00
22.90 68.00
22.80 69.00
23.96 70.00
22.93 71.00
22.42 72.00
22.88 73.00
23.81 74.00
24.58 75.00
25.74 76.00
22.33 77.00
29.57 78.00
26.62 79.00
27.04 80.00
32.59 81.00
26.76 82.00
28.76 83.00
28.84 84.00
26.66 85.00
25.98 86.00
28.91 87.00
27.30 88.00
29.43 89.00
33.25 90.00
30.69 91.00
30.10 92.00
30.69 93.00
24.98 94.00
27.15 95.00
31.89 96.00
34.26 97.00
29.97 98.00
28.26 99.00
31.74 100.00
30.38 101.00
28.46 102.00
35.02 103.00
36.42 104.00
33.60 105.00
33.50 106.00
32.57 107.00
36.29 108.00
31.30 109.00
33.74 110.00
31.69 111.00
33.50 112.00
29.75 113.00
39.15 114.00
37.00 115.00
37.45 116.00
34.70 117.00
34.27 118.00
34.44 119.00
34.84 120.00
27.57 121.00
34.65 122.00
33.76 123.00
37.28 124.00
40.20 125.00
38.42 126.00
34.88 127.00
32.78 128.00
35.66 129.00
34.39 130.00
35.58 131.00
37.77 132.00
43.83 133.00
30.80 134.00
33.41 135.00
40.24 136.00
32.83 137.00
32.14 138.00
34.25 139.00
33.30 140.00
34.32 141.00
36.76 142.00
36.04 143.00
37.61 144.00
32.40 145.00
44.40 146.00
29.67 147.00
31.97 148.00
29.64 149.00
41.31 150.00
40.71 151.00
29.33 152.00
37.87 153.00
35.43 154.00
37.16 155.00
42.96 156.00
31.87 157.00
40.25 158.00
40.46 159.00
39.69 160.00
34.79 161.00
42.16 162.00
46.05 163.00
43.81 164.00
37.25 165.00
32.63 166.00
41.96 167.00
44.24 168.00
39.12 169.00
32.61 170.00
33.44 171.00
37.00 172.00
39.16 173.00
34.08 174.00
39.37 175.00
33.36 176.00
39.89 177.00
45.18 178.00
38.55 179.00
42.42 180.00
39.33 181.00
45.71 182.00
34.73 183.00
50.48 184.00
43.02 185.00
37.00 186.00
34.85 187.00
27.97 188.00
38.87 189.00
38.00 190.00
35.86 191.00
50.45 192.00
38.54 193.00
47.53 194.00
46.70 195.00
44.59 196.00
50.95 197.00
42.98 198.00
41.16 199.00
41.08 200.00
46.33 201.00
37.48 202.00
47.06 203.00
25.82 204.00
43.28 205.00
34.38 206.00
49.01 207.00
44.25 208.00
49.29 209.00
22.50 210.00
34.34 211.00
19.65 212.00
23.55 213.00
41.62 214.00
44.66 215.00
31.22 216.00
41.25 217.00
40.56 218.00
47.72 219.00
43.23 220.00
44.93 221.00
47.54 222.00
40.96 223.00
46.93 224.00
58.95 225.00
45.87 226.00
38.89 227.00
48.34 228.00
48.65 229.00
49.43 230.00
43.08 231.00
50.44 232.00
43.17 233.00
44.67 234.00
41.21 235.00
48.51 236.00
55.18 237.00
34.69 238.00
47.27 239.00
53.38 240.00
55.91 241.00
56.01 242.00
44.49 243.00
43.64 244.00
36.99 245.00
44.84 246.00
48.53 247.00
47.39 248.00
40.19 249.00
50.26 251.00
40.70 252.00
41.94 253.00
53.43 254.00
49.45 255.00
28.89 256.00
47.07 257.00
46.74 258.00
43.23 259.00
57.92 260.00
39.22 261.00
42.01 262.00
46.40 263.00
45.50 264.00
44.30 265.00
41.88 266.00
55.63 267.00
36.91 268.00
47.42 269.00
34.14 270.00
44.17 271.00
40.94 272.00
43.46 273.00
50.00 274.00
38.79 275.00
56.83 276.00
55.62 277.00
66.51 278.00
46.24 279.00
42.91 280.00
47.55 281.00
42.08 282.00
37.85 283.00
48.00 284.00
47.13 285.00
51.97 286.00
52.55 287.00
42.52 288.00
50.64 289.00
43.60 290.00
65.89 291.00
44.26 292.00
53.22 293.00
26.97 294.00
49.29 295.00
61.96 296.00
42.51 297.00
50.64 298.00
48.69 299.00
49.44 300.00
50.99 301.00
49.73 302.00
58.88 303.00
57.01 304.00
60.99 305.00
59.33 306.00
56.61 307.00
34.72 308.00
53.40 309.00
50.49 310.00
36.23 311.00
48.73 312.00
56.86 313.00
46.18 314.00
52.04 315.00
40.40 316.00
47.65 317.00
46.52 318.00
53.00 319.00
56.00 320.00
51.27 321.00
24.71 322.00
39.29 323.00
31.23 324.00
45.34 325.00
79.29 326.00
42.66 327.00
63.72 328.00
61.18 329.00
58.40 330.00
51.38 331.00
46.92 332.00
40.71 333.00
49.40 334.00
51.37 335.00
49.88 336.00
53.35 338.00
50.35 339.00
44.19 340.00
49.68 341.00
53.22 342.00
54.36 343.00
51.41 344.00
50.38 345.00
44.69 346.00
70.78 347.00
59.40 348.00
47.33 349.00
54.47 350.00
48.21 351.00
48.40 352.00
42.90 353.00
55.68 354.00
57.81 356.00
66.95 357.00
45.14 358.00
61.78 359.00
49.81 360.00
59.36 361.00
51.04 362.00
69.60 363.00
36.72 364.00
62.99 365.00
59.54 366.00
68.82 367.00
54.86 368.00
68.62 369.00
58.58 370.00
60.11 371.00
54.38 372.00
66.19 373.00
61.17 374.00
64.06 375.00
54.13 376.00
63.12 377.00
66.32 378.00
65.78 379.00
50.55 380.00
55.04 381.00
67.67 382.00
71.50 383.00
47.66 384.00
58.03 385.00
29.49 387.00
50.03 388.00
75.41 389.00
51.13 390.00
58.28 391.00
72.90 392.00
69.93 394.00
73.34 396.00
63.96 397.00
64.97 398.00
59.70 399.00
83.03 400.00
76.71 401.00
58.39 403.00
61.11 404.00
58.72 405.00
67.99 406.00
82.74 407.00
60.46 411.00
61.81 413.00
62.83 415.00
47.98 417.00
60.03 419.00
66.69 420.00
57.55 421.00
67.03 422.00
69.35 423.00
48.25 424.00
67.23 425.00
55.65 426.00
74.62 428.00
82.53 430.00
75.86 431.00
57.53 432.00
72.28 433.00
70.23 437.00
42.35 438.00
69.31 439.00
74.55 440.00
50.24 441.00
19.14 442.00
55.10 443.00
43.73 444.00
42.92 449.00
78.91 450.00
64.13 451.00
63.01 452.00
25.75 453.00
65.45 454.00
79.60 455.00
70.46 456.00
78.43 458.00
71.37 460.00
63.92 462.00
94.04 463.00
67.49 464.00
61.63 467.00
78.71 468.00
71.48 471.00
36.39 472.00
54.10 473.00
65.59 475.00
92.32 478.00
106.04 480.00
85.14 482.00
86.59 483.00
76.89 484.00
64.80 485.00
34.44 487.00
64.18 492.00
54.76 497.00
75.06 501.00
0.65 502.00
55.61 506.00
70.54 509.00
16.83 510.00
84.74 515.00
25.37 522.00
25.00 531.00
61.10 532.00
74.41 537.00
77.63 557.00
65.77 561.00
75.26 577.00
73.61 591.00
24.61 593.00
59.35 595.00
80.73 597.00
70.10 613.00
49.67 659.00
77.51 675.00
81.67 677.00

4. - Gráfica de Dispersión

# Crear gráfico
# Límites
x_max <- max(X) * 1.05
y_max <- max(Y) * 1.05

# Crear gráfico vacío
plot(X, Y,
     type = "n",
     main = "Gráfica Nro. 1\nDiagrama de dispersión entre NO2 y AQI\nen el estudio de la calidad del aire en India 2015-2020",
     xlab = expression(NO[2]*" ("*mu*"g/m³)"),
     ylab = "AQI (Índice)",
     xlim = c(0, x_max),
     ylim = c(0, y_max),
     cex.main = 1.1,
     cex.lab = 1.1,
     cex.axis = 0.9)

# Cuadrícula
grid(nx = NULL, ny = NULL, col = "gray85", lty = 1)

# Puntos
points(X, Y,
       col = "deepskyblue3",
       pch = 16,
       cex = 1.2)
box(lwd = 1.5)

5.- Conjetura y parámetros

Conjetura.-
La distribución de los puntos en el gráfico muestra una curva ascendente, lo que sugiere un modelo exponencial. El AQI aumenta de forma acelerada a medida que se incrementa la concentración de NO2, indicando una relación no lineal y un impacto creciente del contaminante sobre la calidad del aire.

#------------------------------------------------------------
#Parámetros

Y1 <- log(Y)
regresionexponencial <- lm(Y1 ~ X)

# Ver los coeficientes (a,b)
beta0 <- regresionexponencial$coefficients[1]
beta1 <- regresionexponencial$coefficients[2]

b <- beta1
b
##          X 
## 0.03310434
a <- exp(beta0)
a
## (Intercept) 
##    47.92617

6. Gráfica de dispersión modelo-realidad

# Límites
x_max <- max(X) * 1.05
y_max <- max(Y) * 1.05

# Gráfico vacío
plot(X, Y,
     type = "n",
     main = "Gráfica Nro. 2\nModelo exponencial entre NO2 y AQI\nen el estudio de la calidad del aire en India 2015-2020",
     xlab = expression(NO[2]*" ("*mu*"g/m³)"),
     ylab = "AQI (Índice)",
     xlim = c(0, x_max),
     ylim = c(0, y_max),
     cex.main = 1.1,
     cex.lab = 1.1,
     cex.axis = 0.9)

# Cuadrícula
grid(nx = NULL, ny = NULL,
     col = "gray85",
     lty = 1)

# Puntos reales
points(X, Y,
       col = "deepskyblue3",
       pch = 16,
       cex = 1.2)

# Curva del modelo exponencial
curve(a * exp(b * x),
      from = 0,
      to = x_max,
      col = "red",
      lwd = 3,
      add = TRUE)
box(lwd = 1.5)

legend("topleft",
       legend = c("Datos reales", "Modelo exponencial"),
       col = c("deepskyblue3", "red"),
       pch = c(16, NA),
       lwd = c(NA, 3),
       bty = "o",
       bg = "white",
       cex = 0.8,
       x.intersp = 0.6,
       y.intersp = 0.8)

7.- Test de bondad

# Coeficiente de correlación de Pearson
r <- cor(X, Y1) * 100
r
## [1] 79.74544
# 8. Coeficiente de determinación muestral
r2 <- r^2 / 100
r2
## [1] 63.59335

8.- Restricciones

# Dominio [x]: D = {R+^0}
# Dominio [y]: D = {Z+^0}

¿Existe algún valor en el dominio de x que sustituido en el modelo matemático genere un valor en y fuera de su dominio?

No existen restricciones para el uso del modelo exponencial, ya que la concentración de dióxido de nitrógeno (NO2) toma valores no negativos y el modelo genera valores positivos para el Índice de Calidad del Aire (AQI). Aunque el modelo puede producir resultados decimales, estos pueden interpretarse como aproximaciones y redondearse al entero más cercano, manteniéndose dentro del dominio práctico del AQI. Además, al ser un modelo exponencial creciente, el AQI aumenta conforme se incrementa la concentración de NO2.

9.- Estimación

# AQI esperado cuando la concentración de NO2 es de 60 µg/m³

AQI_esperado <- round(47.92617 * exp(0.03310434 * 60))
AQI_esperado
## [1] 349

10. Conclusión

En conclusión:

Entre la concentración de dióxido de nitrógeno (NO2) y el Índice de Calidad del Aire (AQI) existe una relación de tipo exponencial, cuyo modelo es y = 47.92617 * e^(0.03310434x),donde “X” representa la concentración de NO2 y “Y” el AQI. El modelo indica que el AQI aumenta de forma acelerada a medida que se incrementa la concentración de Dioxido de Nitrogeno, evidenciando que este contaminante influye de manera significativa en la calidad del aire.