Velocidad del viento en función de la temperatura mínima

Variable Cuantitativa Continua

Cargamos las librería

library(PASWR)
## Loading required package: lattice
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr)

Carga los datos (Conjunto de datos)

setwd("/cloud/project")
read_csv("weatherdataANTISANA.csv")
## Rows: 366 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Date
## dbl (9): Longitude, Latitude, Elevation, Max Temperature, Min Temperature, P...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 366 × 10
##    Date       Longitude Latitude Elevation `Max Temperature` `Min Temperature`
##    <chr>          <dbl>    <dbl>     <dbl>             <dbl>             <dbl>
##  1 01/01/2012     -78.1   -0.468      4048              16.1              6.91
##  2 01/02/2012     -78.1   -0.468      4048              15.5              9.23
##  3 01/03/2012     -78.1   -0.468      4048              11.5              8.69
##  4 01/04/2012     -78.1   -0.468      4048              12.0              9.53
##  5 01/05/2012     -78.1   -0.468      4048              11.7              7.90
##  6 01/06/2012     -78.1   -0.468      4048              12.1              7.84
##  7 01/07/2012     -78.1   -0.468      4048              13.1              6.39
##  8 01/08/2012     -78.1   -0.468      4048              11.5              9.76
##  9 01/09/2012     -78.1   -0.468      4048              12.9             10.1 
## 10 01/10/2012     -78.1   -0.468      4048              13.4              8.41
## # ℹ 356 more rows
## # ℹ 4 more variables: Precipitation <dbl>, Wind <dbl>,
## #   `Relative Humidity` <dbl>, Solar <dbl>
datos3 <- read.csv("weatherdataANTISANA.csv", header = T, sep = ",", dec = ".")

EXTRAER LA VARIABLE CONTINUA

TemperaturaMax<-datos3[,5]
TemperaturaMin<-datos3[,6]
Precipitacion<-datos3[,7]
viento<-datos3[,8]
Humedad<-datos3[,9]
Solar<-datos3[,10]

Creamos el modelo de regresion lineal

#Diagrama de dispersion
x<-TemperaturaMin
y<-viento
plot(x,y,main = "Grafica N° 8.1:Diagrama de dispersión de la velocidad del viento en función\n de la temperatura mínima de cada uno\n de los registros de clima en el volcán Antisana",xlab = "Temperatura mínima (°C)",ylab = "Viento (m/s)",
     col = rgb(0, 0, 1, alpha = 0.2),pch = 20)

#Calculos de los parametros
xcuad<-x^2
xcub<-x^3
xrta<-x^4

regresionPolinomica<-lm(y~x+xcuad+xcub+xrta)
regresionPolinomica
## 
## Call:
## lm(formula = y ~ x + xcuad + xcub + xrta)
## 
## Coefficients:
## (Intercept)            x        xcuad         xcub         xrta  
##   10.551315    -6.456198     1.630321    -0.168390     0.006068
summary(regresionPolinomica)
## 
## Call:
## lm(formula = y ~ x + xcuad + xcub + xrta)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.91335 -0.26599 -0.01661  0.28801  0.92891 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 10.551315   2.860021   3.689  0.00026 ***
## x           -6.456198   1.806796  -3.573  0.00040 ***
## xcuad        1.630321   0.409064   3.985 8.15e-05 ***
## xcub        -0.168390   0.039594  -4.253 2.69e-05 ***
## xrta         0.006068   0.001390   4.364 1.67e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3768 on 361 degrees of freedom
## Multiple R-squared:  0.3238, Adjusted R-squared:  0.3163 
## F-statistic: 43.21 on 4 and 361 DF,  p-value: < 2.2e-16

Gráfico final de la regresión lineal

beta0<-regresionPolinomica$coefficients[1]
beta1<-regresionPolinomica$coefficients[2]
beta2<-regresionPolinomica$coefficients[3]
beta3<-regresionPolinomica$coefficients[4]
beta4<-regresionPolinomica$coefficients[5]
a<-beta0
b<-beta1
c<-beta2
d<-beta3
e<-beta4

plot(x,y,main = "Grafica N° 8.2:Diagrama de dispersión de la velocidad del viento en función\n de la temperatura mínima de cada uno\n de los registros de clima en el volcán Antisana",xlab = "Temperatura mínima (°C)",ylab = "Viento (m/s)",
     col="grey",xlim = c(0,30),ylim = c(0,10))
#Agregar curva de regresión
curve(a+(b*x)+(c*x^2)+(d*x^3)+(e*x^4),add=T,col="blue")

Test de bondad

#Correlación
r<-cor(x+xcuad+xcub+xrta,y)*100
r
## [1] -51.20621

Ecuación de la recta

  library(polynom)
#Obtenemos la ecuación de la regresión por medio de los coeficientes
# Definir los coeficientes del polinomio
coeficientes <- c(a,b,c,d,e)

# Crear el polinomio
polinomio <- polynomial(coeficientes)

# Encontrar las raíces del polinomio
raices <- solve(polinomio)
raices
## [1]  3.164119-2.161340i  3.164119+2.161340i 10.712207-1.919259i
## [4] 10.712207+1.919259i
#Tabla de resumen

Variables<-c("Viento","Temperatura mínima")
Unidades<-c("m/s","°C")
Tipo<-c("Dependiente","Independiente")
Test<-c(round(r,2)," ")
Tabla_resumen<-data.frame(Variables,Unidades,Tipo,Test)

library(knitr)
kable(Tabla_resumen, format = "markdown", caption = "Tabla 2. Resumen de variables")
Tabla 2. Resumen de variables
Variables Unidades Tipo Test
Viento m/s Dependiente -51.21
Temperatura mínima °C Independiente
a
## (Intercept) 
##    10.55131
b
##         x 
## -6.456198
c
##    xcuad 
## 1.630321
d
##       xcub 
## -0.1683896
e
##        xrta 
## 0.006067514

Restricciones: Las raizes del polinomio restrigen los valores en los intervalos positivos o 0.

Cálculo de estimaciones La ecuación de la regresión es:

y=10.55- 6.45x+1.63x^2 -0.16x^3+ 0.006x^4

#¿CUÁL SERÁ LA VELOCIDAD DEL VIENTO (m/s) CUANDO HAY UNA TEMPERATURA DE 10 °C?

x<-10
y_pred<-(a+(b*x)+(c*x^2)+(d*x^3)+(e*x^4))
y_pred
## (Intercept) 
##       1.307

CONCLUSIONES: Entre la velocidad del viento (m/S) y la temperatura mínima (°C) existe una relación de tipo polinomial, y su ecuación es y=10.55- 6.45x +1.63x^2 -0.16x^3 +0.006x^4, donde la velocidad del viento tiene un correlaion de -51.20621 con la temperatura mínima y el restante se debe a otros factores, se presenta restricciones donde las raizes del polinomio restrigen los valores en los intervalos positivos o 0 , por ejemplo, si tenemos una temperatura mínima de 10 °C, tendríamos una velociad de viento de 1.307 m/s, aproximadamente.

.