Ricardo R. Palma
Diciembre de 2018
En este ejercicio trabajaremos un problema de fuentes de energı́a renovables. Mendoza es una región que carece de vientos permanentes para utilizarlos en generación eólica. Se recurre a tomar datos de las bases de datos de varios medidores inteligentes (smart meters) de las zonas de precordiller y cordillera que no cuentan con servicios de suficiente calidad en la red eléctrica, ni tampoco tienen abastecimiento de gas envasado cada vez que lo necesitan. Muchos recurren al uso de fotovoltaica para cubrir esa falencia. Se pretende estudiar que relación existe entre cada uno de estos consumos. Realice sus propias inferencias y plantee hipótesis explicativas
Estructura de los datos recibidos
eficiency <- read.table("http://ceal.fing.uncu.edu.ar/r-cran/solar.txt",header = TRUE)
names(eficiency)
[1] "kWh" "gas" "solar"
Debes tener instalado el paquete psych para poder hacer estos grà aficos que , siguen ejecuta install.packages(”psych”) si no lo has hecho aún. Luego Este histograma nos muestra el resultado, con ello podemos ver la correlación que tiene con la eficiencia mediante una regresión lineal
library(psych)
cor(eficiency)
kWh gas solar
kWh 1.0000000 0.2400133 0.2652935
gas 0.2400133 1.0000000 0.8373534
solar 0.2652935 0.8373534 1.0000000
Realizaremos ploteos de los multiples histogramas y de la correlación
library(psych)
pairs.panels(eficiency)
multi.hist(eficiency)
Como vemos que el terreno más prometedor para la regresión lineal es entre consumo de gas y energía solar, intentaremos aprobeechar esta fuerte correlación
regresion <- lm(solar ~ gas, data = eficiency)
summary(regresion)
Call:
lm(formula = solar ~ gas, data = eficiency)
Residuals:
Min 1Q Median 3Q Max
-63.478 -26.816 -3.854 28.315 90.881
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 102.5751 29.6376 3.461 0.00212 **
gas 5.3207 0.7243 7.346 1.79e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 43.46 on 23 degrees of freedom
Multiple R-squared: 0.7012, Adjusted R-squared: 0.6882
F-statistic: 53.96 on 1 and 23 DF, p-value: 1.794e-07
Vemos que el estadístico F nos da un p valor muy bajo (del orden de 10-7), pero tambien es posible ver que sería posible hacer multiples regresiones (o regresiones multivariadas)
regresion2 <- lm(solar ~ gas + kWh, data = eficiency)
Limitaremos el análisis a una variable (univariado)
Un caso más general de regresión es cuando no nos basamos solamente en el método de los mínimos cuadrados.
glm(formula, family=familytype(link=linkfunction), data=)
Donde
Family | Default Link Function |
---|---|
binomial | (link = “logit”) |
gaussian | (link = “identity”) |
Gamma | (link = “inverse”) |
inverse.gaussian | (link = “1/mu2”) |
poisson | (link = “log”) |
quasi | (link = “identity”, variance = “constant”) |
quasibinomial | (link = “logit”) |
quasipoisson | (link = “log”) |
plot(eficiency$gas, eficiency$solar, xlab = "gas m^3 propano/butano", ylab = "solar cm^2")
abline(regresion)
Es necesario establecer la diferencia que existe entre estos dos niveles de confianza. Uno hace referencia al model y el otro a una predicción puntual. Estas cambian según nos alejemos del centro del cluster por lo que indica el principio de maxima verosimilitud.
nuevas.gases <- data.frame(gas = seq(30, 50))
predict(regresion, nuevas.gases)
1 2 3 4 5 6 7 8
262.1954 267.5161 272.8368 278.1575 283.4781 288.7988 294.1195 299.4402
9 10 11 12 13 14 15 16
304.7608 310.0815 315.4022 320.7229 326.0435 331.3642 336.6849 342.0056
17 18 19 20 21
347.3263 352.6469 357.9676 363.2883 368.6090
Creamos el intervalo de confianza en del modelo de regresión. Se muestra como matriz de confusión.
confint(regresion)
2.5 % 97.5 %
(Intercept) 41.265155 163.885130
gas 3.822367 6.818986
Intervalos y bandas de confianza del modelo
nuevas.gases <- data.frame(gas = seq(10, 90))
plot(eficiency$gas, eficiency$solar, xlab = "gas", ylab = "solar")
abline(regresion)
ic <- predict(regresion, nuevas.gases, interval = "confidence")
lines(nuevas.gases$gas, ic[, 2], lty = 2)
lines(nuevas.gases$gas, ic[, 3], lty = 2)
ic <- predict(regresion, nuevas.gases, interval = "prediction")
lines(nuevas.gases$gas, ic[, 2], lty = 2, col = "red")
lines(nuevas.gases$gas, ic[, 3], lty = 2, col = "red")
Estos son los previos que mes a mes han registrado los vinos de desarrollo personal por enólogos estrella en bodegas butique
malbec <- read.table("http://200.12.138.4/r-cran/precio_vino.csv",header = TRUE,sep=";")
names(malbec)
[1] "USD" "Fecha" "EpochTime"
plot(malbec$EpochTime,malbec$USD,type="l")
calendario <- ts(malbec$USD, frequency=12)
plot(stl (calendario, "periodic", robust=TRUE))
For more details on authoring R presentations please visit https://support.rstudio.com/hc/en-us/articles/200486468.
summary(cars)
speed dist
Min. : 4.0 Min. : 2.00
1st Qu.:12.0 1st Qu.: 26.00
Median :15.0 Median : 36.00
Mean :15.4 Mean : 42.98
3rd Qu.:19.0 3rd Qu.: 56.00
Max. :25.0 Max. :120.00