INTRODUCCION

nuestro contexto climático está basado en el de periodo de tiempo entre 16-04-2018 y 2-11-2018 dentro de la estacion el compartir que son 200 días donde miraremos los comportamientos climáticos basándonos en las variables de estudio que son:

  • O3(Ozono)

  • Radiación Solar

  • Temperatura

  • Humedad Relativa

  • Velocidad y Dirección del Viento

  • Precipitación.

Ahora tendremos una breve explicación de lo que es cada una de estas variables:

ozono La capa de ozono es un término que se usa para describir la presencia de moléculas de ozono en la estratósfera. La mayor parte del ozono se encuentra en la estratósfera, una zona que comienza a unos 10 a 16 kilómetros (6-10 millas) por encima de la superficie terrestre y se extiende hasta unos 50 kilómetros de altitud. La estratósfera comienza a mayores altitudes (16 kilómetros) en las zonas de los trópicos que en las regiones polares (10 kilómetros). La mayor concentración de ozono se encuentra en la estratósfera, y es llamada comúnmente “la capa de ozono”. Esta cubre la Tierra y actúa como filtro de la radiación ultravioleta nociva (UV-B), lo que la hace vital para la vida en la superficie del planeta.

radiación solar La radiación solar es la energía emitida por el Sol, que se propaga en todas las direcciones a través del espacio mediante ondas electromagnéticas y se genera en las reacciones del hidrógeno en el núcleo del Sol por fusión nuclear y es emitida por la superficie solar.

Temperatura La temperatura es una magnitud referida a la noción de calor medible mediante un termómetro. En física, se define como una magnitud escalar relacionada con la energía interna de un sistema termodinámico, definida por el principio cero de la termodinámica. Más específicamente, está relacionada directamente con la parte de la energía interna conocida como energía cinética, que es la energía asociada a los movimientos de las partículas del sistema, sea en un sentido traslacional, rotacional, o en forma de vibraciones.

Humedad Relativa La humedad relativa (RH) es la relación entre la presión parcial del vapor de agua y la presión de vapor de equilibrio del agua a una temperatura dada. La humedad relativa depende de la temperatura y la presión del sistema de interés. La misma cantidad de vapor de agua produce una mayor humedad relativa en el aire frío que en el aire caliente. Un parámetro relacionado es el del punto de rocío.

Velocidad y Dirección del Viento El viento es el flujo del aire a gran escala en la atmósfera terrestre. En la atmósfera, movimiento en masa del aire de acuerdo con las diferencias de presión atmosférica. Günter D. Roth lo define como «la compensación de las diferencias de presión atmosférica entre dos puntos En meteorología, se suelen denominar los vientos según su fuerza y la dirección desde la que soplan.

Precipitación En meteorología, la precipitación es cualquier forma de hidrometeoro que cae de la atmósfera y llega a la superficie terrestre. Este fenómeno incluye lluvia, llovizna, nieve, aguanieve, granizo, pero no virga, neblina ni rocío, que son formas de condensación y no de precipitación.

Relación de las variables entre sí Al tener al ozono como la variable independiente y el resto de variables dependientes tenemos que el ozono al ser la barrera de la atmósfera que limita la radiación solar que entra a la atmósfera donde depende de la concentración de ozono en una zona para generar un aumento o disminución de la temperatura en una zona determinada, este fenómeno produce humedad, más los cambios de temperatura el movimiento del viento se crean precipitaciones y esto depende del choque de nubes producidas por la humedad y sus temperaturas.

METODOLOGIA

¿Que es una serie de tiempo?

Una serie de tiempo es una secuencia de datos u observaciones, medidos en determinados momentos y ordenados cronológicamente. Visualmente, es una curva que evoluciona en el tiempo. Una serie de tiempo es un conjunto de observaciones sobre los valores que toma una variable (cuantitativa) a través del tiempo. Por tanto, una serie de tiempo es una forma estructurada de representar datos. Los datos se pueden comportar de diferentes maneras a través del tiempo: puede que se presente una tendencia, estacionalidad o simplemente no presenten una forma definida.

Supuestos

En cuanto a los supuestos necesarios para la modelación lineal en datos temporales son:

  • Homocedasticidad: es una característica de un modelo de regresión lineal que implica que la varianza de los errores es constante a lo largo del tiempo. La palabra homocedasticidad se puede desglosar en dos partes, homo (igual) y cedasticidad (dispersión).

  • Independencia: Debemos asumir que las variables de la serie de tiempo son independientes entre sí. Esto nos da a entender que el valor de una variable no está correlacionado con el de otras variables ya sean pasadas o futuras.

  • Normalidad: nos referimos a una distribución de probabilidad determinada, la llamada distribución normal, la famosa campana de Gauss. Esta distribución se caracteriza por su simetría alrededor de una media, que coincide con la mediana.

  • Linealidad: evalúa la diferencia en el sesgo promedio en todo el rango esperado de operación del sistema de medición. La linealidad indica si el sistema de medición tiene la misma exactitud para todos los tamaños de los objetos que se miden.

DATOS DE INTERES

library(fpp2)
library(dplyr) 
library(ggplot2)
library(forecast)
library(tidyverse)
library(readxl)

base <- read_excel("C:\\Users\\HP\\Desktop\\datos filtrados.xlsx")

base2 <- as.data.frame(base)
base2 <- na.omit(base)
Nombres <- c("fecha","ozono", "vel viento", "dir viento",
             "temperatura", "humedad", "radiacion", "precipitacion")
colnames(base2)<- Nombres

basepro <- base2 %>%
  mutate(Fecha = as.Date(fecha)) %>%
  group_by(Fecha) %>%
  summarize(O3 = mean(ozono),
            Vel_V = mean(`vel viento`),
            Dir_V = mean(`dir viento`),
            Temperatura = mean(temperatura),
            Humedad = mean(humedad),
            Radiacion_S = mean(radiacion),
            precipitacion = mean(precipitacion))
basepro

ESTADISTICAS DESCRIPTIVAS

m1=max(basepro$O3)
m2=max(basepro$Vel_V)
m3=max(basepro$Dir_V)
m4=max(basepro$Temperatura)
m5=max(basepro$Humedad)
m6=max(basepro$Radiacion_S)
m7=max(basepro$precipitacion)

mi1=min(basepro$O3)
mi2=min(basepro$Vel_V)
mi3=min(basepro$Dir_V)
mi4=min(basepro$Temperatura)
mi5=min(basepro$Humedad)
mi6=min(basepro$Radiacion_S)
mi7=min(basepro$precipitacion)

p1=mean(basepro$O3)
p2=mean(basepro$Vel_V)
p3=mean(basepro$Dir_V)
p4=mean(basepro$Temperatura)
p5=mean(basepro$Humedad)
p6=mean(basepro$Radiacion_S)
p7=mean(basepro$precipitacion)

#TABLA DE MAXIMOS,MINIMOS Y PROMEDIOS DE LAS VARIABLES 
estadisticas <- tibble(Variables=c("OZONO","VELOCIDAD VIENTO","DIRECCION VIENTO","TEMPERATURA","HUMEDAD","RADIACION","PRECIPITACION"),
  Maximos = c(m1,m2,m3,m4,m5,m6,m7),
                    Minimos = c(mi1,mi2,mi3,mi4,mi5,mi6,mi7),
                    Promedios = c(p1,p2,p3,p4,p5,p6,p7))


data.frame(estadisticas)

RESULTADOS PRINCIPALES

MODELO DE REGRESION LINEAL MULTIPLE

base3 <- basepro %>%
  sample_n(199)

O3ts <- ts(base3, frequency=7, start=1)

modelo1 <- tslm(O3 ~  Vel_V + Dir_V + 
                  Temperatura + Humedad +
                  Radiacion_S + precipitacion, data = O3ts )
summary(modelo1)
## 
## Call:
## tslm(formula = O3 ~ Vel_V + Dir_V + Temperatura + Humedad + Radiacion_S + 
##     precipitacion, data = O3ts)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17.1735  -3.0423  -0.0598   2.9796  18.4423 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   132.34927   29.36710   4.507 1.14e-05 ***
## Vel_V           0.07718    1.43451   0.054   0.9571    
## Dir_V          -0.00165    0.01743  -0.095   0.9247    
## Temperatura    -1.40214    0.73352  -1.912   0.0574 .  
## Humedad        -1.21578    0.15931  -7.632 1.06e-12 ***
## Radiacion_S     0.07326    0.01806   4.058 7.20e-05 ***
## precipitacion   1.26046    0.68926   1.829   0.0690 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.255 on 192 degrees of freedom
## Multiple R-squared:  0.5973, Adjusted R-squared:  0.5847 
## F-statistic: 47.46 on 6 and 192 DF,  p-value: < 2.2e-16

En el resumen del modelo, se puede observar como cambia porcentualmente la variable de respuesta ozono, con respecto aumenta 1% de las variables predictoras.

Con un p-value de valor 2.2e-16 menor que el alpha de 0.05, se rechaza H0 lo cual afirma que todos los coeficientes son = 0, por tanto los coeficientes cumplen con el supuesto de linealidad Con un R ajustado de 0.5847, explica un 58.5% de la variabilidad de todos los datos

GRAFICOS DEL MODELO

GRAFICO DE LA SERIE DE TIEMPO

autoplot(O3ts)+
  labs(title = "Serie de tiempo",       
       x = "Tiempo",
       y = "Valor",
       colour = "#00a0dc")+
  theme_bw()

GRAFICO DEL MODELO AJUSTADO

autoplot(O3ts[,"O3"], series="Data") +
  autolayer(fitted(modelo1), series="Fitted") +
  xlab("Year") + ylab("") +
  ggtitle("cambio en el % de ozono") +
  guides(colour=guide_legend(title=" "))

GRAFICO DE LA SERIE AJUSTADA

autoplot(fitted(modelo1))

RESIDUALES

checkresiduals(modelo1)

## 
##  Breusch-Godfrey test for serial correlation of order up to 14
## 
## data:  Residuals from Linear regression model
## LM test = 8.3932, df = 14, p-value = 0.8679
e = residuals(modelo1)

library(lmtest)

SUPUESTOS DE LOS ERRORES

LINEALIDAD

La serie diferencia no tiene tendencia, media constante y varianza constante, por tanto es una serie estacionaria con media 0

en el grafico de autocorrelacion se puede observar que no hay rezagos en los limites de confianza.

con el resumen del modelo de las variables, se concluye que presentan linealidad, ya que su valor p es menor a nivel de insignificancia alpha de 0.05

NORMALIDAD

hist(e, freq = F, col = "#00a0dc")

qqnorm(e, pch=20)
qqline(e)

shapiro.test(e)
## 
##  Shapiro-Wilk normality test
## 
## data:  e
## W = 0.98446, p-value = 0.02714
  • con el histograma se evidencia un patron de normalidad de los errores, donde se forma tambien la campana en el grafico de los residuales
  • los datos tienen una linealidad creciente, con algunos datos atipicos donde se corrobora que efectivamente hay una distribucion normal entre los errores H0: implica normalidad H1: No implica normalidad
  • Con un valor p de 0.02 < alpha 0.05, se rechaza la hipotesis nula H0, por tanto se comprueba que los errores siguen una distribucion normal

INDEPENDENCIA

plot(e, pch=20)

dwtest(modelo1)
## 
##  Durbin-Watson test
## 
## data:  modelo1
## DW = 1.9228, p-value = 0.2945
## alternative hypothesis: true autocorrelation is greater than 0

H0: los errores son independientes H1: los errores NO son independientes - el p-value es mayor que el alfa (0.05), por tanto no se rechaza H0 - hay suficiente evidencia estadistica para decir que los errores son indenpendientes

HOMOCEDASTICIDAD

y_estimados = modelo1$fitted.values
plot(y_estimados, e , pch=20)

bptest(modelo1)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo1
## BP = 11.571, df = 6, p-value = 0.07225
  • el grafico de homocedasticidad o homogeneidad se observa un patron

H0: Los errores tienen varianza constante H1: Los errores NO tienen varianza constante

  • con un valor p de 0.07 > alpha 0.05 se acepta la hipotesis nula, por tanto si hay varianza constante en los errores

GRAFICO RESIDUALES

GRAFICO DE INTERACCION DE LOS RESIDUALES EN LAS VARIABLES

df <- as.data.frame(O3ts)
df[,"Residuals"] <- as.numeric(residuals(modelo1))
p1 <- ggplot(df, aes(x=Vel_V, y=Residuals)) +
  geom_point()
p2 <- ggplot(df, aes(x=Dir_V, y=Residuals)) +
  geom_point()
p3 <- ggplot(df, aes(x=Temperatura, y=Residuals)) +
  geom_point()
p4 <- ggplot(df, aes(x=Humedad, y=Residuals)) +
  geom_point()
p5 <- ggplot(df, aes(x=Radiacion_S, y=Residuals)) +
  geom_point()
p6 <- ggplot(df, aes(x=precipitacion, y=Residuals)) +
  geom_point()


gridExtra::grid.arrange(p1, p2, p3, p4, p5, p6, nrow=2)

GRAFICO DE INTERACCION RESIDUALES EN EL MODELO

cbind(Fitted = fitted(modelo1),
      Residuals=residuals(modelo1)) %>%
  as.data.frame() %>%
  ggplot(aes(x=Fitted, y=Residuals)) + geom_point()

PREDICCIONES

se plantearon diez escenarios que son los que se encuentran en el data frame de newdata, ahi se puede evidenciar que tenemos 10 objetos en cada variable independiente y en el orden que están es que inician a predecir el valor de ozono, donde se ve la precisión que tiene el modelo sobre los datos

head(O3ts,10)
## Time Series:
## Start = c(1, 1) 
## End = c(2, 3) 
## Frequency = 7 
##          Fecha       O3    Vel_V    Dir_V Temperatura  Humedad Radiacion_S
## 1.000000 17726 37.74167 2.500000 242.9542    30.24583 51.14167   122.40417
## 1.142857 17663 22.44583 2.620833 214.5375    28.21250 59.93333   113.80000
## 1.285714 17785 42.84123 3.126087 232.3478    29.06522 50.49130    94.19130
## 1.428571 17734 26.92917 2.670833 262.6875    29.50833 53.32917    92.15000
## 1.571429 17804 35.98240 2.979167 215.2208    30.19583 48.24583   113.40000
## 1.714286 17746 29.40417 2.733333 198.5542    28.13750 55.91667   103.88750
## 1.857143 17771 43.82500 2.291667 234.8125    29.80833 50.12917   109.11250
## 2.000000 17800 34.84127 3.425000 171.2708    28.83333 53.79167    97.72500
## 2.142857 17793 39.00852 3.183333 195.4333    28.47500 54.53333   113.68333
## 2.285714 17690 25.56667 2.745833 186.1875    30.13750 54.42917    95.50417
##          precipitacion
## 1.000000    0.00000000
## 1.142857    0.00000000
## 1.285714    0.00000000
## 1.428571    0.00000000
## 1.571429    0.00000000
## 1.714286    0.00000000
## 1.857143    0.05291667
## 2.000000    0.00000000
## 2.142857    0.00000000
## 2.285714    0.00000000
newdata =  data.frame(Vel_V = c(2.791667, 1.837500, 2.894444, 2.486364, 2.604167, 3.061538, 2.329167, 2.329167,2.691304, 2.487500),
                      Dir_V = c(240.2958,228.4500,201.2056,241.2591,223.2417,249.1538,244.0958,256.1583,238.6174,206.8083),
                      Temperatura = c(30.27083, 25.39583,27.58889,28.61818,28.49167, 29.65385,28.77500,28.61667,29.56087,27.05000),
                      Humedad = c(49.43750,69.26667 ,61.45000 ,57.37727 ,57.70000 ,54.78462 ,58.86667 ,56.09583 , 54.33913, 65.12083),
                      Radiacion_S= c(111.97500, 47.91250, 148.61667, 128.31818, 117.97917, 123.00000, 110.29583, 70.01667, 82.16957,83.58750),
                      precipitacion = c(0.00000000, 0.61375000, 1.50944444, 0.00000000, 0.08458333, 0.00000000, 0.00000000, 0.00000000, 0.00000000, 0.89958333))
newdata
#hacemos prediciones, del modelo1 con los escenarios de la new data

prediccion <- predict(modelo1, newdata)
prediccion
##        1        2        3        4        5        6        7        8 
## 37.82269 16.57622 31.63799 31.65907 30.83205 33.00077 28.29122 28.91111 
##        9       10 
## 30.67022 22.35709

CONCLUSIONES

Basandose en los supuestos de los errores del modelo, se puede inferir que cada uno se cumple, por tanto se tiene que el modelo es optimo. Se tiene que las variable mas significativas en el modelo son humedad y la radiacion solar, donde son factores importantes en la medicion de la calidad del ozono, que en el modelo es la variable de respuesta.

se puede evidenciar, base a las predicciones del modelo que en en los dias de climas frios y lluviosos se tiene un porcentaje alto en la humedad y la radiacion solar tiene un porcentaje bajo. el ozono tiene porcentaje altos cuando hay dias calurosos, es decir las vaariables de humedad y radiacion solar toman valores altos.