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")
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.
.