####################################
#Tarea del curso "ESTADISTICA-R"
####################################
# "La climatologia en el Volcan Antizana"
# Planteamiento de problema:
#Atravez del analisis estadistico podemos obtener un conjunto de datos climatologicos que nos ayuda a extraer ingformacion until para la toma de decisiones
#Como caso de estudio consideramos el Volcan Antizana con datos obtenidos de globalweather.tamu.edu
#sitio web del clima global que permite la descarga de datos de precipitacion,
#temperatura, viento, humedad, y radiacion solar
#localizacion:
#latitud -0.4683
#longitud -78.125
library(magick)
## Linking to ImageMagick 6.9.9.14
## Enabled features: cairo, freetype, fftw, ghostscript, lcms, pango, rsvg, webp
## Disabled features: fontconfig, x11
setwd("~/elevacion")
image_read("Infografia-PARQUEANTISANA-A.jpg")

#OBJETIVOS
#APLICAR LA ESTADISTICA PARA EL ANALIZIS DE DATOS HACERCA DE LA CLIMATOLOGIA EN EL VOLCAN ANTIZANA MEDIANTE HERRRAMIENTAS COMPUTACIONALES
#CONOCER LA SITUACION ACTUAL Y COMPORTAMIENTO DEL CLIMA ATRAVEZ DE LOS DATOS GENERADOS Y ESTABLECER RELACIONES ENTRE VARIABLES CON EL FIN DE REALIZAR ESTIMACIONES
#EMPLEAR UN MODELO DE PROBABIBILIDAD PARA GENERALIZAR PARA OBETENER CONCLUSIONES DE LA POBLACION A PARTIR DE LOS RESULTADOS DE LA MUESTRA
#POBLACION
#Todo el aire de zona del volcan antisana
#U={x/x es RegistroClima ^ ubicacion (x)="volcan antizana"}
#INDIVIDUO
#Cada una de las mediciones o registros de clima de la zona del volcan antizana
#xi:i=1,............., inf
#M={c1,c2,......, c366}
#n=366
#VARIABLES
#temperatura (ā)
#precipitacion(mlH20)
#velocidad del viento(m/s)
#humedad relativa
#radiacion solar (J/m²)
#DESCRIPCIONES
#Sensacion de calor
#Caida de lluvia
#Rapides de las rafagas de aitre
#Presencia de vapor de agua en el aire
#Cantidad de energia que proviene del sol por unidad de area
#TIPO
#Cuantitativa Dominio: R u {0} Rango:[8.20:23.79] Instrumento de medicion: termometro Unidades de medida: ā, Escala:(relativo)
#Cuantitativa Dominio:R+ u {0} Rango:[0.01:94.72] Instrumento de medicion: plubiometro Unidades de medida: mlH20, Escala:(absoluto razon)
#Cuantitativa Dominio:R+ u {0} Rango:[0.59:2.99] Instrumento de medicion: amenometro Unidades de medida:m/s, Escala: (razon)
#Cuantitativa Dominio:[0,1] Rango:[0.56: 0.99] Instrumento de medicion: igrometro(relativo no puede superar a 1 o 100), Escala:(razon)
#Cuantitativa Dominio:R+ u {0} Rango:[1.26: 9.99] Instrumento de medicion: Piranometro Unidades de medida:J/m^2 Escala: (razon)
#SUBTIPO
#Discreta
#Continua
#Continua
#Discreta
#Continua
setwd("~/elevacion")
TABLA_DE_VARIABLES<-read.csv("Libro2 (Autoguardado).csv", header = TRUE, sep = ";", dec = ".")
View(TABLA_DE_VARIABLES)
#EXTRAER DATOS
datosTemperaturaMax<-TABLA_DE_VARIABLES[ ,5]
datosTemperaturaMin<-TABLA_DE_VARIABLES[ ,6]
datosPrecipitacion<-TABLA_DE_VARIABLES[ ,7]
datosViento<-TABLA_DE_VARIABLES[ ,8]
datosHumedad<-TABLA_DE_VARIABLES[ ,9]
datosSolar<-TABLA_DE_VARIABLES[ ,10]
#RESUMEN DE ESTADISTICA DESCRIPTIVA DE CADA VARIABLE
library(PASWR)
## Loading required package: e1071
## Loading required package: MASS
## Loading required package: lattice
EDA(datosTemperaturaMax)
## [1] "datosTemperaturaMax"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 10.320 13.415 15.740 15.510 15.655 17.663
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 23.790 2.868 8.223 0.150 4.248 13.470 -0.558 0.387
## SW p-val
## 0.000
EDA(datosTemperaturaMin)
## [1] "datosTemperaturaMin"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 2.650 7.258 8.046 8.005 8.090 9.022
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 10.850 1.374 1.888 0.072 1.764 8.200 0.566 -0.434
## SW p-val
## 0.000
EDA(datosPrecipitacion)
## [1] "datosPrecipitacion"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 0.010 4.303 17.105 12.940 15.689 25.758
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 94.720 16.115 259.699 0.842 21.455 94.710 1.951 1.295
## SW p-val
## 0.000
EDA(datosViento)
## [1] "datosViento"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 0.590 1.420 1.768 1.750 1.765 2.132
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 2.990 0.456 0.208 0.024 0.712 2.400 -0.719 0.110
## SW p-val
## 0.003
EDA(datosHumedad)
## [1] "datosHumedad"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 0.560 0.840 0.895 0.940 0.904 0.980
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 0.990 0.109 0.012 0.006 0.140 0.430 0.200 -1.177
## SW p-val
## 0.000
EDA(datosSolar)
## [1] "datosSolar"

## Size (n) Missing Minimum 1st Qu Mean Median TrMean 3rd Qu
## 366.000 0.000 1.260 7.245 14.436 12.655 14.305 22.462
## Max. Stdev. Var. SE Mean I.Q.R. Range Kurtosis Skewness
## 30.270 8.328 69.360 0.435 15.217 29.010 -1.244 0.297
## SW p-val
## 0.000
#CONCLUSION
#La situavion actual y el comportamiento del clima son explicados mediante las siguientes variables:
#Los valores de la temperatura maxima fluctuan entre 10.32 y 23.790 y su promedio esta alrededor de 15.74 siendo un conjunto de datos homogeneo se acumulan moderadamente en los valores medios de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#Los valores de la temperatura minima fluctuan entre 2.65 y 10.85 y su promedio esta alrededor de 8 siendo un conjunto de datos heterogeneo se acumulan fuertemente en los valores altos de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#Los valores de la precipitacion fluctuan entre 0.01 y 94.74 y su promedio esta alrededor de 12.94 siendo un conjunto de datos heterogeneo se acumulan fuertemente en los valores bajos de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#Los valores de la viento fluctuan entre 0.59 y 2.99 y su promedio esta alrededor de 1.75 siendo un conjunto de datos homogeneo se acumulan moderadamente en los valores medios de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#Los valores de la Humedad fluctuan entre 0.56 y 0.99 y su promedio esta alrededor de 0.94 siendo un conjunto de datos homogeneo se acumulan moderadamente en los valores bajos de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#Los valores de la Radiacion Solar fluctuan entre 1.26 y 30.27 y su promedio esta alrededor de 14.43 siendo un conjunto de datos heterogeneo se acumulan moderadamente en los valores medios-bajos de la variable por lo tanto el comportamiento de la variable es beneficioso para la climatologia en el volcan Antizana
#REGRESION LINEAL
names(TABLA_DE_VARIABLES)
## [1] "Date" "Longitude" "Latitude"
## [4] "Elevation" "Max.Temperature" "Min.Temperature"
## [7] "Precipitation" "Wind" "Relative.Humidity"
## [10] "Solar" "X" "X.1"
## [13] "X.2"
attach(TABLA_DE_VARIABLES)
x<-Solar
y<-Max.Temperature
plot(x,y)

regresionlineal<-lm(y~x)
regresionlineal
##
## Call:
## lm(formula = y ~ x)
##
## Coefficients:
## (Intercept) x
## 11.2237 0.3129
plot(x,y, col=4, pch=7, mail="m")
## Warning in plot.window(...): "mail" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "mail" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "mail" is not
## a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "mail" is not
## a graphical parameter
## Warning in box(...): "mail" is not a graphical parameter
## Warning in title(...): "mail" is not a graphical parameter
abline(regresionlineal, col="red")

coefPearson<-cor(x,y)
coefDeterminacion<-coefPearson^2
coefDeterminacion*100
## [1] 82.57388
#LOGARITMICA
#y= ax^b
plot(Precipitation, Relative.Humidity)

x<-Precipitation
y<-Relative.Humidity
x1<-log(x)
y1<-log(y)
regresionPotencial<-lm(y1~x1)
regresionPotencial
##
## Call:
## lm(formula = y1 ~ x1)
##
## Coefficients:
## (Intercept) x1
## -0.21183 0.05066
#intercepto y pendiente con lm
#y1= -0.2118 + 0.0506 X1
summary(regresionPotencial)
##
## Call:
## lm(formula = y1 ~ x1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.28377 -0.02357 0.01426 0.04004 0.23442
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.211834 0.004719 -44.89 <2e-16 ***
## x1 0.050661 0.001638 30.94 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06977 on 364 degrees of freedom
## Multiple R-squared: 0.7245, Adjusted R-squared: 0.7237
## F-statistic: 957 on 1 and 364 DF, p-value: < 2.2e-16
beta0<-regresionPotencial$coefficients[1]
#A
beta1<-regresionPotencial$coefficients[2]
b=beta1
a=exp(beta0)
plot(x, y, col=5, pch=7, main="Regresion Potencial", xlab="Precipitacion ", ylab="Humedad relativa (fraccion)")
#pch estilo de punto
curve(a*x^b, from=0, to=100, add = T, col="red")

#from to (limites)
#y dom (0,1)
#x todos los reales positivos
#CONCLUCIONES
#Entre la precipitacion y la humedad relativa existe relacion de tipo logaritmica cuya ecuacion matematica es y= 16.2lnx+ 56.96 Los valores de precipitacion deben ser menores a 65.15 ml de agua y la humedad relativa se ve influencianda en un 72.5 con respecto a la precipitacion y el resto se debe a otros factores
#Por ejemplo cuando la preicpitacion vale 30 y la humedad relativa vale 0.95
#El modelo no funciona par la variable precipitacion existen restricciones,el modelo es valido solo para (0,65)
#EXPONENCIAL
plot (Solar, Precipitation)

#A MAYOR radiacion menor precipitacion
x<-Solar
y<-Precipitation
y1<-log(y)
regresionExponencial<-lm(y1~x )
regresionExponencial
##
## Call:
## lm(formula = y1 ~ x)
##
## Coefficients:
## (Intercept) x
## 4.6843 -0.1978
#intercepto y pendiente
beta0<-regresionExponencial$coefficients[1]
beta1<-regresionExponencial$coefficients[2]
b=beta1
a=exp(beta0)
plot(x,y, col=5, pch=7, main="Regresion exponencial", xlab="radiacion", ylab = "Radiacion")
curve(a*exp(b*x), from=0, to=100, add=T, col="red")

#Entre la precipitacion y radiacion existe relacion de tipo exponencial cuya ecuacion mate es y= 0.81x^ 0.0506 donde y es la precipitacion y x la radiacion en j/m^2
#donde no existen restricciones y la precipitacion esta influenciada en un 54,6 % por radiacion solar y el resto se debe a otros factores. por ejemplo cuando
#la radiacion solar vale 40 la precipitacion solar se espera que valga 0.96
#LOGARITMICA
plot(Solar, Precipitation)

x<-Solar
y<-Precipitation
x1<-log(x)
regresionLogaritmica<-lm(y~x1 )
regresionLogaritmica
##
## Call:
## lm(formula = y ~ x1)
##
## Coefficients:
## (Intercept) x1
## 56.96 -16.22
summary(regresionLogaritmica)
##
## Call:
## lm(formula = y ~ x1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.414 -5.596 -2.253 4.560 51.030
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 56.959 2.105 27.06 <2e-16 ***
## x1 -16.224 0.823 -19.71 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.22 on 364 degrees of freedom
## Multiple R-squared: 0.5163, Adjusted R-squared: 0.515
## F-statistic: 388.6 on 1 and 364 DF, p-value: < 2.2e-16
a=regresionLogaritmica$coefficients[1]
b=regresionLogaritmica$coefficients[2]
plot(x,y, col=2, pxh=20, main="ggg")
## Warning in plot.window(...): "pxh" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "pxh" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "pxh" is not a
## graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "pxh" is not a
## graphical parameter
## Warning in box(...): "pxh" is not a graphical parameter
## Warning in title(...): "pxh" is not a graphical parameter
curve(a+b*log(x), add=T, col="blue")

#conclusion la ecuacion es de tipo logaritmica
#el que manda es el coeficiente nos mide el grado de realacion asi que nos quedamos con el que tienbe restricciones
#escojo al de mayor coeficiente
#POLINOMICA
plot(Min.Temperature, Wind)

x<- Min.Temperature
y<-Wind
xcuad<-x^2
xube<-x^3
regresionPolinomica<-lm(y~x+xcuad+xube)
regresionPolinomica
##
## Call:
## lm(formula = y ~ x + xcuad + xube)
##
## Coefficients:
## (Intercept) x xcuad xube
## -0.964824 1.145996 -0.130405 0.003892
summary(regresionPolinomica)
##
## Call:
## lm(formula = y ~ x + xcuad + xube)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.86323 -0.27804 -0.02127 0.29799 0.96083
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.964824 1.132537 -0.852 0.3948
## x 1.145996 0.492405 2.327 0.0205 *
## xcuad -0.130405 0.069346 -1.881 0.0608 .
## xube 0.003892 0.003156 1.233 0.2184
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3862 on 362 degrees of freedom
## Multiple R-squared: 0.2878, Adjusted R-squared: 0.2819
## F-statistic: 48.77 on 3 and 362 DF, p-value: < 2.2e-16
beta0<- regresionPolinomica$coefficients[1]
beta1<-regresionPolinomica$coefficients[2]
beta2<-regresionPolinomica$coefficients[3]
beta3<-regresionPolinomica$coefficients[4]
a<-beta0
b<-beta1
c<-beta2
d<-beta3
plot(x,y,col=5,pch=7, main="Regresion Polinomica", xlab="Temperatura Minima", ylab= "Viento")
curve((a+(b*x)+(c*x^2)+(d*x^3)), add=T, col= "blue")

coefPearson<-cor(x,y)
coefDeterminacion<-coefPearson^2
coefDeterminacion*100
## [1] 20.06028
#CONCLUSION
#Entre la velocidad del viento y la temperatura minima existe una relacion de tipo polinomica cuya ecuacion matematica es y=-0.965+1.146x-0.13x^2+0.003x^3
#si existen restricciones, el modelo funciona solo entre los valores de y o mayores a la primera raiz 0.93 y menores a 4.1 y mayores a 19.1 de temperatura y la velocidad esta influenciada en un 28.8 % por la temperatura minima y el resto se debe a otros factores
#cuando la temperatura vale 3 se espera un valor de 1.38 m/s de velocidad del viento
#REGRESIĆN MĆLTIPLE LINEAL
setwd("~/elevacion")
DatosMultiple <- read.csv(file = "3D.csv", header = T, sep = ";",dec = ".")
names(DatosMultiple)
## [1] "Solar" "Max.Temperature" "Relative.Humidity"
View(DatosMultiple)
library(scatterplot3d)
attach(DatosMultiple)
## The following objects are masked from TABLA_DE_VARIABLES:
##
## Max.Temperature, Relative.Humidity, Solar
y<-Max.Temperature
x1<-Relative.Humidity
x2<-Solar
scatterplot3d(y,x1,x2)

coefPearson<-cor(y,x1+x2)
coefPearson^2
## [1] 0.8243737
regresionMultiple<-lm(y~x1+x2)
regresionMultiple
##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Coefficients:
## (Intercept) x1 x2
## 18.8300 -7.1563 0.2297
tempmaxreg<-scatterplot3d(x1,x2,y)

tempmaxeg<- scatterplot3d(x1,x2,y,
main="Regresión Multiple", xlab = "humedad relativa",
ylab = "temperatura maxima", zlab = "radiacion Solar")
tempmaxreg$plane3d(regresionMultiple)

#y=18.83-7.15 X1 +0.229 X2
#T= 18.83-7.15 HR +0.229 RS
#No existen restricciones
#CONCLUSION
#Entre la temperatura maxima, humedad relativa, y radiacion solar existe una relacion de tipo lineal multiple cuya ecuacion matematica es
#y=18.83-7.15 X1 +0.229 X2 siendo y la temperatura maxima, x1 la humedad relativa y x2 la radiacion solar (J/m^2) Sin restricciones y la temperatura maxima se ve influenciada en un 82.42 %
#por la combinacion de la humedad relativa y la radiacion solar, por ejemplo cuando tenemos una humedad relativa de 0.5 y radiacion solar de 25 esperamos una temperatura maxima de 20.5 grados centigrados