file.exists("~/INGENIERÍA AMBIENTAL/Semestre 3/Estadística y Probabilidad/Proyecto Eficiencia Energética Aragón/1.Datos")[1] TRUE
Informe estadístico
file.exists("~/INGENIERÍA AMBIENTAL/Semestre 3/Estadística y Probabilidad/Proyecto Eficiencia Energética Aragón/1.Datos")[1] TRUE
Variable cuantitativa continua
Indica la cantidad de energía eléctrica utilizada por cada unidad de superficie del edificio durante un periodo de tiempo (hora y unidad de año)
Buscamos el directorio de trabajo y cargamos la tabla de datos o el dataset:
setwd("~/INGENIERÍA AMBIENTAL/Semestre 3/Estadística y Probabilidad/Proyecto Eficiencia Energética Aragón/1.Datos")
library(readr)
datos <- read.csv("Edificios_Reales.csv", sep = ";", dec = ".")Verificamos que rstudio nos lea correctamente los datos
str(datos)'data.frame': 167479 obs. of 17 variables:
$ Día_Emisión : int 29 26 26 12 27 17 13 8 7 16 ...
$ Mes_Emisión : int 6 9 2 6 6 6 2 4 4 12 ...
$ Año_Emisión : int 2013 2013 2014 2013 2013 2013 2014 2014 2014 2013 ...
$ Emision_CO2 : num 30.1 46.1 20.3 39.2 103.8 ...
$ Clasificacion_Emisiones: chr "E" "E" "D" "E" ...
$ Demanda_energética : num 142.3 174.4 94.2 187.7 409 ...
$ Clasificacion_consumo : chr "E" "E" "D" "E" ...
$ Tipo_edificio : chr "Vivienda individual" "Vivienda individual" "Vivienda individual" "Vivienda individual" ...
$ Estado_edificio : chr "Existente" "Existente" "Existente" "Existente" ...
$ Anio_construccion : int 1962 1974 1999 1970 1965 1968 1966 1963 2006 1970 ...
$ Superficie_m2 : num 49 81 72 65 46 ...
$ Municipio : chr "ZARAGOZA" "ZARAGOZA" "ZARAGOZA" "ZARAGOZA" ...
$ Provincia : chr "ZARAGOZA" "ZARAGOZA" "ZARAGOZA" "ZARAGOZA" ...
$ Coordenadas._x : num 674904 674063 671872 676129 674807 ...
$ Coordenadas._y : num 4612931 4612970 4612102 4613402 4613068 ...
$ Anio_emision : int 2013 2013 2014 2013 2013 2013 2014 2014 2014 2013 ...
$ Dias_hasta_expiracion : int 3652 3652 3652 3652 3652 3652 3652 3653 3653 3652 ...
Cargamos la variable
demanda_energética<-datos$Demanda_energética
n<-length(demanda_energética)
n[1] 167479
Por la gran cantidad de datos, es mejor verificar el compotamiento general de la variable para saber si toca realizar el analisis estadístico en un cierto intervalo. Es así, que se crea un historama para saber el intervalo donde se agrupan los datos:
#Simplificacion (LOCAL PORPORCIONES, MIN Y MAXIMO)
Histo_demanda_energética <-hist(demanda_energética, main = "Gráfica N°14.1.00.-Distribución de frecuencia del
consumo energética de los edificios en la Comunidad Autónoma de Aragón",
ylab="Cantidad",xlab="Consumo energético KWh/m2/año",
col="brown")Como tal, vemos que la variable se agrupa en un intervalo dado, entonces obtenemos un subconjunto de la variable para ese intervalo y revisamos el nuevo tamaño muestral.
Demanda energética entre 0 y 5000
demanda_energética_20000 <- data.frame(subset(datos, Demanda_energética <5000, select = c(Demanda_energética)))
demanda_energética<-demanda_energética_20000$Demanda_energética
n<-length(demanda_energética)
n[1] 167274
A continuación, creamos nuevamente un histograma para saber si es necesario analizar otro subconjunto o con que que tenemos es el ideal:
Histo_demanda_energética <-hist(demanda_energética, main = "Gráfica N°14.1.01.-Distribución de frecuencia del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",
ylab="Cantidad",xlab="Consumo energético KWh/m2/año",
col="brown")Como se observa, es necesario una nueva división, en este caso, se a seleccionado el intervalo que comprenden los valores entre 0 y 600 de la variables .
demanda_energética_600 <- data.frame(subset(datos, Demanda_energética <600, select = c(Demanda_energética)))
demanda_energética<-demanda_energética_600$Demanda_energéticaVerificamos el nuevo tamaño muestral
n<-length(demanda_energética)
n[1] 163859
Por teoría, solo es recomendable hacer hasta tres divisiones de un conjunto de datos, entonces, procedemos a crear la tabla de frecuencias:
Mediante la ley de Sturges, encontramos el valor total de intervalos que se recomienda para nuestro tamaño muestral:
k <-round(1+3.3*log10(n),0)
k[1] 18
Y encontramos el rango, amplitud, límites de los intervalos, marca de clase, frecuencias y frecuencias acumuladas.
summary(demanda_energética) Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0 178.4 239.2 250.1 309.9 599.9
min<-summary(demanda_energética)[1]
minMin.
0
max<-summary(demanda_energética)[6]
max Max.
599.88
R<-max-min
A<-R/k
Li<-seq(min,max-A,by=A)
Ls<-seq(min+A,max,by=A)
Mc<-(Ls+Li)/2
ni <- c(0)
for (i in 1:k) {
if(i==k)
I <- subset(demanda_energética, demanda_energética>=Li[i] & demanda_energética<=Ls[i])
else
I <- subset(demanda_energética, demanda_energética>=Li[i] & demanda_energética<=Ls[i])
ni[i] <- length(I)
}
n<-sum(ni)
hi<- (ni/n)*100
Ni<- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi<- cumsum(hi)
Hi_dsc <- rev(cumsum(rev(hi)))
TDF_demanda_energética<-data.frame(Li,Ls,Mc,ni,round(hi,2),Ni,round(Hi,2),Ni_dsc,round(Hi_dsc,2))
options(scipen=999)
colnames(TDF_demanda_energética)<-c("Li","Ls","Marca de Clase","ni","hi (%)","Ni","Hi (%)","Ni_dsc","Hi_dsc (%)")
library(knitr)Warning: package 'knitr' was built under R version 4.4.2
kable(TDF_demanda_energética, format = "markdown", caption = "Tabla 1. Frecuencias de los valores de la Variable")| Li | Ls | Marca de Clase | ni | hi (%) | Ni | Hi (%) | Ni_dsc | Hi_dsc (%) |
|---|---|---|---|---|---|---|---|---|
| 0.00000 | 33.32667 | 16.66333 | 1168 | 0.71 | 1168 | 0.71 | 163877 | 100.00 |
| 33.32667 | 66.65333 | 49.99000 | 2535 | 1.55 | 3703 | 2.26 | 162709 | 99.29 |
| 66.65333 | 99.98000 | 83.31667 | 4580 | 2.79 | 8283 | 5.05 | 160174 | 97.74 |
| 99.98000 | 133.30667 | 116.64333 | 10286 | 6.28 | 18569 | 11.33 | 155594 | 94.95 |
| 133.30667 | 166.63333 | 149.97000 | 15672 | 9.56 | 34241 | 20.89 | 145308 | 88.67 |
| 166.63333 | 199.96000 | 183.29667 | 20869 | 12.73 | 55110 | 33.63 | 129636 | 79.11 |
| 199.96000 | 233.28667 | 216.62333 | 22752 | 13.88 | 77862 | 47.51 | 108767 | 66.37 |
| 233.28667 | 266.61333 | 249.95000 | 22012 | 13.43 | 99874 | 60.94 | 86015 | 52.49 |
| 266.61333 | 299.94000 | 283.27667 | 18433 | 11.25 | 118307 | 72.19 | 64003 | 39.06 |
| 299.94000 | 333.26667 | 316.60333 | 13758 | 8.40 | 132065 | 80.59 | 45570 | 27.81 |
| 333.26667 | 366.59333 | 349.93000 | 10169 | 6.21 | 142234 | 86.79 | 31812 | 19.41 |
| 366.59333 | 399.92000 | 383.25667 | 7319 | 4.47 | 149553 | 91.26 | 21643 | 13.21 |
| 399.92000 | 433.24667 | 416.58333 | 5086 | 3.10 | 154639 | 94.36 | 14324 | 8.74 |
| 433.24667 | 466.57333 | 449.91000 | 3356 | 2.05 | 157995 | 96.41 | 9238 | 5.64 |
| 466.57333 | 499.90000 | 483.23667 | 2297 | 1.40 | 160292 | 97.81 | 5882 | 3.59 |
| 499.90000 | 533.22667 | 516.56333 | 1641 | 1.00 | 161933 | 98.81 | 3585 | 2.19 |
| 533.22667 | 566.55333 | 549.89000 | 1090 | 0.67 | 163023 | 99.48 | 1944 | 1.19 |
| 566.55333 | 599.88000 | 583.21667 | 854 | 0.52 | 163877 | 100.00 | 854 | 0.52 |
Como se observa, la tabla es muy complicada de visualizar por los números decimales, y la cantidad de datos, entonces creamos una nueva tabla simplificada con ayuda del histograma de R.
Histo_demanda_energética <-hist(demanda_energética, main = "Gráfica N°14.1.02.-Distribución de frecuencia del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",
ylab="Cantidad",xlab="Consumo energético KWh/m2/año",
col="brown")h<-length(Histo_demanda_energética$counts)
j<-length(Histo_demanda_energética$counts)+1
min_s<- Histo_demanda_energética$breaks[1]
max_s<- Histo_demanda_energética$breaks[j]
R_s<-(max_s+min_s)/2
A_s<-R_s/h
A_s[1] 25
Li_s <- Histo_demanda_energética$breaks[1:h]
Li_s [1] 0 50 100 150 200 250 300 350 400 450 500 550
Ls_s <-Histo_demanda_energética$breaks[2:j]
Ls_s [1] 50 100 150 200 250 300 350 400 450 500 550 600
MCs<-Histo_demanda_energética$mids
MCs [1] 25 75 125 175 225 275 325 375 425 475 525 575
#De la gráfica sacamos ahora la nueva tabla de frecuencias.
ni_s<-Histo_demanda_energética$counts
n<-sum(ni_s)
n[1] 163859
hi<-ni_s/n*100
Ni_s<-cumsum(ni_s)
Hi<-cumsum(hi)
Ni_dsc<-rev(cumsum(rev(ni_s)))
Hi_dsc<-rev(cumsum(rev(hi)))
TDFsimplificado<-data.frame(Li_s,Ls_s,MCs,ni_s,round(hi,2),Ni_s,round(Hi,2),Ni_dsc,round(Hi_dsc,2))
colnames(TDFsimplificado)<-c("Li","Ls","MC","ni","hi (%)","Ni","Hi (%)","Ni_dsc","Hi_dsc (%)")
library(knitr)
kable(TDFsimplificado, format = "markdown", caption = "Tabla 2.Frecuencias simplificado")| Li | Ls | MC | ni | hi (%) | Ni | Hi (%) | Ni_dsc | Hi_dsc (%) |
|---|---|---|---|---|---|---|---|---|
| 0 | 50 | 25 | 1940 | 1.18 | 1940 | 1.18 | 163859 | 100.00 |
| 50 | 100 | 75 | 6351 | 3.88 | 8291 | 5.06 | 161919 | 98.82 |
| 100 | 150 | 125 | 17256 | 10.53 | 25547 | 15.59 | 155568 | 94.94 |
| 150 | 200 | 175 | 29593 | 18.06 | 55140 | 33.65 | 138312 | 84.41 |
| 200 | 250 | 225 | 33685 | 20.56 | 88825 | 54.21 | 108719 | 66.35 |
| 250 | 300 | 275 | 29495 | 18.00 | 118320 | 72.21 | 75034 | 45.79 |
| 300 | 350 | 325 | 19033 | 11.62 | 137353 | 83.82 | 45539 | 27.79 |
| 350 | 400 | 375 | 12195 | 7.44 | 149548 | 91.27 | 26506 | 16.18 |
| 400 | 450 | 425 | 6918 | 4.22 | 156466 | 95.49 | 14311 | 8.73 |
| 450 | 500 | 475 | 3813 | 2.33 | 160279 | 97.82 | 7393 | 4.51 |
| 500 | 550 | 525 | 2230 | 1.36 | 162509 | 99.18 | 3580 | 2.18 |
| 550 | 600 | 575 | 1350 | 0.82 | 163859 | 100.00 | 1350 | 0.82 |
Una mejor visualización de la variable en Aragón:
Imagen 1. Mapa de las consumo energético en la Comunidad Autónoma de Aragón.
Creamos el histograma con la frecuencia absoluta para visualizar el conteo de ocurrencias de los valores de la variable.
hist(demanda_energética, main = "Gráfica N°14.1.1.-Distribución de frecuencia del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",ylab="Cantidad",xlab="Consumo energético KWh/m2/año",
col = "skyblue") hist(demanda_energética, main = "Gráfica N°14.1.2.-Distribución de frecuencia del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",ylab="Cantidad",xlab="Consumo energético KWh/m2/año",
col = "skyblue",ylim=c(0,n))Ahora, creamos el histograma con la frecuencia relativa para visualizar el porcentaje de ocurrencias de los valores.
barplot(TDFsimplificado$`hi (%)`, space = 0,main = "Gráfica N°14.1.3.-Porcentaje del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",ylab="Porcentaje (%)",xlab="Consumo energético KWh/m2/año",
col = "red3",names.arg = TDFsimplificado$MC,axis.lty = 1,cex.names = 0.8)barplot(TDFsimplificado$`hi (%)`, space = 0,main = "Gráfica N°14.1.4.-Porcentaje del
consumo energético de los edificios en la Comunidad Autónoma de Aragón",ylab="Porcentaje (%)",xlab="Consumo energético KWh/m2/año",
col = "red3",names.arg = TDFsimplificado$MC,axis.lty = 1,cex.names = 0.8, ylim = c(0,100))A diferencia de las demás variables, las de tipo continuas no aceptan el diagrama de sector circular por el motivo de que la probabilidad de que se repita un suceso en casi o es cero, así que se omite y se crea el diagrama de caja que nos ayuda con la representación de los cuartiles de la variable, donde el cuartil 2 representa la mediana de la variable. Además, nos representa los valores atípicos (outliers) en nuestro intervalo de estudio.
caja<-boxplot(demanda_energética, horizontal = T, col = "salmon",
main= "Gráfica N°14.1.5.-Distribución del consumo energético de los
edificios de la Comunidad Autónoma de Aragón", xlab="Consumo energético KWh/m2/año")Adicionalmente, se crean las ojivas que nos representa las frecuencias acumuladas y, de igual manera, el intercepto de las gráficas de la ojiva ascendente y la descendente representa la mediana en el eje horizontal.
x<-1:h
plot(x,TDFsimplificado$Ni, type = "b",col="green3",ylab = "Cantidad",
xlab="Consumo energético KWh/m2/año", main= "Gráfica N°14.1.6.-Distribución del consumo
energético de los edificios de la Comunidad Autónoma de Aragón",xaxt="n")
lines(TDFsimplificado$Ni_dsc, add=TRUE,type="b")Warning in plot.xy(xy.coords(x, y), type = type, ...): "add" es un parámetro
gráfico inválido
axis(1,at=x,labels = TDFsimplificado$MC, cex.axis=0.7)
legend("right", legend = c("Ni ascendente", "Ni descendente"), col = c("green3", "black"), lty = 1, pch = 0.4,
cex = 0.6, pt.cex = 1)plot(x,TDFsimplificado$`Hi (%)`, type = "b",col="green3",ylab = "Porcentaje (%)",
xlab="Consumo energético KWh/m2/año", main= "Gráfica N°14.1.7.-Distribución del porcentaje del consumo energético
, de los edificios de la Comunidad Autónoma de Aragón",xaxt="n")
axis(1,at=x,labels = TDFsimplificado$MC, cex.axis=0.7)
lines(TDFsimplificado$Hi_dsc, add=TRUE,type="b")Warning in plot.xy(xy.coords(x, y), type = type, ...): "add" es un parámetro
gráfico inválido
legend("right", legend = c("Hi ascendente", "Hi descendente"), col = c("green3", "black"), lty = 1, pch = 0.4,
cex = 0.6, pt.cex = 1)Los indicadores estadísticos son valores numéricos que resumen, describen y analizan características de un conjunto de datos. Estos indicadores permiten simplificar y entender grandes volúmenes de información de manera más eficiente. Se utilizan para tomar decisiones informadas.
summary(demanda_energética) Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0 178.4 239.2 250.1 309.9 599.9
mediana<-median(demanda_energética)
mediana[1] 239.19
media_aritmetica<-mean(demanda_energética)
media_aritmetica[1] 250.0995
desviación_estandar<-sd(demanda_energética)
desviación_estandar[1] 103.4964
coeficiente_variabilidad <- (desviación_estandar/media_aritmetica) * 100
coeficiente_variabilidad[1] 41.38208
library(e1071)Warning: package 'e1071' was built under R version 4.4.2
coeficiente_asimetria <- skewness(demanda_energética)
coeficiente_asimetria[1] 0.5543177
curtosis<-kurtosis(demanda_energética)
curtosis[1] 0.3370404
# Identificar los valores atípicos
outliers<-boxplot.stats(demanda_energética)$out
# Contar los valores atípicos
num_outliers <- length(outliers)
num_outliers[1] 3196
minimooutliers<-min(outliers)
minimooutliers[1] 507.17
max1<-caja$stats[1]
max1[1] 0
mix2<-caja$stats[5]
mix2[1] 507.12
maximooutliers<-max(outliers)
maximooutliers[1] 599.88
Variable<-c("Demanda energética (KWh/m2*año)")
Tabla_indicadores<-data.frame(Variable,round(media_aritmetica,2),mediana,round(desviación_estandar,2),
round(coeficiente_variabilidad,2),
round(coeficiente_asimetria,2),round(curtosis,2),min(demanda_energética),max(demanda_energética))
colnames(Tabla_indicadores)<-c("Variable","x","Me","s","Cv (%)","As","K","minimo","máximo")
library(knitr)
kable(Tabla_indicadores, format = "markdown", caption = "Tabla 3. Indicadores estadíticos de la variable demanda energética")| Variable | x | Me | s | Cv (%) | As | K | minimo | máximo |
|---|---|---|---|---|---|---|---|---|
| Demanda energética (KWh/m2*año) | 250.1 | 239.19 | 103.5 | 41.38 | 0.55 | 0.34 | 0 | 599.88 |
Tabla_outliers<-data.frame(num_outliers,minimooutliers,maximooutliers)
colnames(Tabla_outliers)<-c("Outliers","minimo","máximo")
library(knitr)
kable(Tabla_outliers, format = "markdown", caption = "Tabla 4. Outliers de la variable demanda energética")| Outliers | minimo | máximo |
|---|---|---|
| 3196 | 507.17 | 599.88 |
El consumo energético de los edificios de la Comunidad Autónoma de Aragón, fructua entre 0 (KWh/m2*año) a 599.9 (KWh/m2*año), los valores están en torno a 239.19 (KWh/m2*año) que tiene una desviación estándar de 103.5 (KWh/m2*año). El conjunto de datos es ligeramente heterogéneo con una acumulación de datos en los valores centrales de la variable levente sesgada a la derecha con una concentración medianamente de los datos. Además, presenta valores atípicos, con un total de 3196 valores que van desde 507.17 a 599.88. Por lo antes mencionado, el comportamiento de la variable es levemente prejudicial para el medioambiente porque, presenta valores con altos consumo energético aportando a la emisión de CO2.