Este proyecto tiene como objetivo desarrollar un modelo predictivo para estimar el consumo de electricidad de edificios en Seattle (en kWh), utilizando datos públicos de eficiencia energética y características de los edificios. Se exploran diferentes técnicas de machine learning y deep learning, con especial énfasis en la comparación de modelos tradicionales (Random Forest, XGBoost) y redes neuronales (Keras, PyTorch).
Fuente: Data.Seattle.Gov – Building Energy Benchmarking (2018–2023)
Variables
| Nombre de la Columna | Descripción | Nombre en la API | Tipo de Dato |
|---|---|---|---|
| OSEBuildingID | Identificador único asignado a cada propiedad cubierta por la Ordenanza de Benchmarking de Seattle para su seguimiento e identificación. | osebuildingid | Text |
| DataYear | Año calendario (enero-diciembre) representado por cada registro de datos. | datayear | Text |
| BuildingName | Nombre oficial o común de la propiedad según los registros de la Ciudad de Seattle. | buildingname | Text |
| BuildingType | Clasificación general del tipo de edificio según la Ciudad de Seattle. | buildingtype | Text |
| TaxParcelIdentificationNumber | Número de identificación de parcela (PIN) del Condado de King. | taxparcelidentificationnumber | Text |
| Address | Dirección física de la propiedad. | address | Text |
| City | Ciudad en la que se encuentra la propiedad. | city | Text |
| State | Estado en el que se encuentra la propiedad. | state | Text |
| ZipCode | Código postal de la propiedad. | zipcode | Text |
| Latitude | Latitud geográfica de la propiedad. | latitude | Number |
| Longitude | Longitud geográfica de la propiedad. | longitude | Number |
| Neighborhood | Barrio donde se ubica la propiedad, según el Departamento de Vecindarios de Seattle. | neighborhood | Text |
| CouncilDistrictCode | Código del distrito del consejo municipal donde se ubica la propiedad. | councildistrictcode | Number |
| YearBuilt | Año en que se construyó la propiedad. | yearbuilt | Text |
| NumberofFloors | Número de pisos habitables por encima del nivel del suelo. | numberoffloors | Number |
| NumberofBuildings | Número de edificios que forman parte de la propiedad. | numberofbuildings | Number |
| PropertyGFATotal | Superficie total construida incluyendo estacionamiento, verificada por el gobierno local. | propertygfatotal | Number |
| PropertyGFABuildings | Área total construida, excluyendo estacionamientos, verificada por registros públicos. | propertygfabuildings | Number |
| PropertyGFAParking | Área total destinada al estacionamiento de todo tipo. | propertygfaparking | Number |
| SelfReportGFATotal | Superficie total construida y de estacionamiento según el reporte del usuario. | selfreportgfatotal | Number |
| SelfReportGFABuildings | Área construida reportada por el usuario, excluye estacionamientos. | selfreportgfabuildings | Number |
| SelfReportParking | Área total de estacionamiento según los datos auto-reportados. | selfreportparking | Number |
| ENERGYSTARScore | Puntaje del 1 al 100 calculado por la EPA para evaluar la eficiencia energética total de una propiedad. | energystarscore | Number |
| SiteEUIWN(kBtu/sf) | Intensidad de uso de energía normalizada por clima, medida en kBtu/pies². | siteeuiwn_kbtu_sf | Number |
| SiteEUI(kBtu/sf) | Intensidad de uso de energía en sitio, medida en kBtu/pies². | siteeui_kbtu_sf | Number |
| SiteEnergyUse(kBtu) | Cantidad total anual de energía consumida por la propiedad de todas las fuentes. | siteenergyuse_kbtu | Number |
| SiteEnergyUseWN(kBtu) | Uso total anual de energía ajustado a condiciones climáticas promedio a 30 años. | siteenergyusewn_kbtu | Number |
| SourceEUIWN(kBtu/sf) | Intensidad de uso de energía de fuente, normalizada por clima, en kBtu/pies². | sourceeuiwn_kbtu_sf | Number |
| SourceEUI(kBtu/sf) | Intensidad de uso de energía de fuente, considerando pérdidas en generación y distribución. | sourceeui_kbtu_sf | Number |
| EPAPropertyType | Uso principal de la propiedad (ej. oficina, tienda), determinado por la EPA. | epapropertytype | Text |
| LargestPropertyUseType | Tipo de uso más grande según superficie construida. | largestpropertyusetype | Text |
| LargestPropertyUseTypeGFA | Área construida del tipo de uso más grande. | largestpropertyusetypegfa | Number |
| SecondLargestPropertyUseType | Segundo tipo de uso más grande (si aplica). | secondlargestpropertyusetype | Text |
| SecondLargestPropertyUseTypeGFA | Área del segundo tipo de uso más grande (si aplica). | secondlargestpropertyuse | Number |
| ThirdLargestPropertyUseType | Tercer tipo de uso más grande (si aplica). | thirdlargestpropertyusetype | Text |
| ThirdLargestPropertyUseTypeGFA | Área del tercer tipo de uso más grande (si aplica). | thirdlargestpropertyusetypegfa | Number |
| Electricity(kWh) | Consumo anual de electricidad en kWh (incluye red y sistemas renovables en sitio). | electricity_kwh | Number |
| SteamUse(kBtu) | Consumo anual de vapor de distrito, medido en kBtu. | steamuse_kbtu | Number |
| NaturalGas(therms) | Consumo anual de gas natural suministrado por servicios públicos, en termias. | naturalgas_therms | Number |
| ComplianceStatus | Indica si la propiedad cumplió con los requisitos de benchmarking energético. | compliancestatus | Text |
| ComplianceIssue | Problemas de cumplimiento conocidos al final del período de gracia. | complianceissue | Text |
| Electricity(kBtu) | Consumo anual de electricidad (red y sistemas renovables) en miles de BTU. | electricity_kbtu | Number |
| NaturalGas(kBtu) | Consumo anual de gas natural en miles de BTU. | naturalgas_kbtu | Number |
| TotalGHGEmissions | Emisiones totales de gases de efecto invernadero (en toneladas métricas de CO₂e). | totalghgemissions | Number |
| GHGEmissionsIntensity | Intensidad de emisiones de GEI por área construida (kgCO₂e/pies²). | ghgemissionsintensity | Number |
| Demolished | Indica si la propiedad ha sido demolida al ciclo de reporte de 2023. | demolished | Checkbox |
Limpieza: Eliminación de registros con valores nulos críticos.
Transformaciones: Aplicación de log(1 + x) o Box–Cox para normalizar distribuciones muy sesgadas.
Encoding: One-Hot para variables categóricas con pocas categorías; Target Encoding para variables de alta cardinalidad.
Split train/test: División temporal o aleatoria (80/20), manteniendo la estacionalidad semanal cuando corresponde.
Análisis de correlación y multicolinealidad (VIF).
Eliminación de variables redundantes (por ejemplo: múltiples EUI con alta correlación).
Modelos Evaluados
Lineales: Ridge, Lasso, BayesianRidge, sv
Ensamble: RandomForestRegressor, XGBRegressor.
Validación
Cross-Validation: RepeatedKFold (5 folds × 3 repeticiones).
Métricas: R², RMSE, MAE en conjunto de validación y test.
Importancia de características basada en Random Forest y XGBoost para refinar el set final.