본문 바로가기

논문리뷰

[논문리뷰] A three-year dataset supporting research on building energy management and occupancy analytics

개요

건물에너지 관리 및 점유분석에 대한 3년 데이터셋

  • 건물 에너지 소비: 미국에서는 전체 에너지의 약 40%, 전 세계적으로 약 3분의 1을 소비
  • 기술 발전의 영향: 에너지 효율, 센서, 고급 제어 기술을 사용면 사용량을 최대 50%까지 줄일 수 있습니다
  • 데이터 접근 필요성: 에너지 낭비를 줄이고 건물 운영을 최적화하려면 다양하고 통합된 데이터 세트가 필요
  • 현재 문제점
    • 적절한 데이터 범위를 갖춘 데이터 세트를 찾는 것은 어렵고 시간 소요.
    • 데이터 품질과 문서화(메타데이터 설명)가 부족함.
  • 고해상도 데이터의 중요성
    • 모든 건물에서 고해상도 데이터를 측정하는 것은 비실용적.
    • 고해상도 데이터를 소수의 건물에서 수집하여 공개하는 것이 중요.
    • 이러한 데이터 세트는 공정한 알고리즘 비교를 위한 고품질 벤치마크를 제공
  •  

데이터 분석

https://velog.io/@osk3856/data-analysis

Data 수집

다양하고 통합된 데이터셋 필요

⇒ 모든 데이터 스트림을 소스와 시스템에서 가져와서 influxdb 데이터베이스에 통합

HVAC, 전기, 조명, 점유자 수 , 핵심 온도, Wifi, 날씨 데이터 수집

HVAC, 전기, 조명, 점유자 수 , 핵심 온도, Wifi, 날씨 데이터 수집

Data Set

기간 3년 (2018년 ~ 2020년)

측정(들) 실내 온도 • 전기 • 실내 점유율
기술 유형 온도 센서 • 전기 사용 센서 • 점유 센서
요인 유형 건물 에너지 관리 • HVAC 운영
샘플 특성 - 환경 사무실 건물
샘플 특성 - 위치 캘리포니아주 버클리
크기 약 2.6 GB
비고 COVID-19 팬데믹이 시작된
2020년 데이터가 포함  

Data Set 활용성

  1. 에너지 벤치마킹 구축
  2. 부하 형태 분석
  3. 건물 에너지 예측
  4. 점유 분석
  5. 열 시뮬레이션 모델 구축
  6. 오류 감지 및 진단 (HVAC)
  7. 거주자 수 예측 및 검증 (WiFi)

데이터 전처리

고해상도 데이터를 수집 , 정리, 공개하는 과정이 필요

⇒ Data Cleaning, Standardization

 

정제 → 통합 → 축소 → 변환

Data Cleaning

https://mindful4me.tistory.com/entry/13-데이터-전처리1데이터-클리닝-Data-Cleaning

  • 중복 데이터 제거
  • 관련 없는 데이터
  • 특정 분석에 중요한 필드를 식별하고 관련 없는 데이터를 분석에서 제외
  • 이상값
  • 모델 성능에 큰 영향을 미칠 수 있으므로 이상값을 식별하고 적절한 조치를 결정
  • 누락된 데이터
  • 누락된 데이터를 플래깅하고 제외 또는 산입
  • 구조적 오류
  • 데이터가 공통 패턴 또는 규약을 준수하도록 인쇄 오류 및 기타 불일치 문제를 수정

< 데이터를 정리하여 시계열 데이터의 정리된 버전을 생성 >

  • 데이터 갭의 길이와 각 데이터 포인트의 샘플링 빈도를 고려
    • 큰 갭을 식별하여 삭제, 여러 보간 알고리즘을 사용하여 작은 갭을 채움 (선형 보간법, KNN, MF)
    • 비정상적인 값을 부드럽게 하고, 필요한 경우 익명화

(해당 알고리즘들은 이전 문헌에서 건물 전기 및 HVAC 운영의 시계열 데이터 정리에 효과적인 것으로 입증됨)

관련 논문 1 , 관련 논문 2

  • 두 개의 메타데이터 모델/파일을 생성
    • Brick 모델은 물리적, 논리적 및 가상 자산의 의미 정보와 건물 내의 관계를 제공
    • 메타데이터 JSON 파일은 데이터 공유를 간소화하고 데이터 제공자, 사용자 및 애플리케이션 간의 데이터 상호 운용성을 크게 높이는 데 도움

결측치 처리

❔ 결측치 구분 ❔

샘플링 속도 1분에 대한 상한 임계값

小 : 1시간

中 : 10시간

大 : 무제한

샘플링 속도 5~15분에 대한 상한 임계값

小 : 10시간

中 : 1일

大 : 무제한

데이터 갭 크기 방법 설명 절차 장점 단점 발생 상황 대체 가능 알고리즘

小 (작은 갭) 선형 보간법 두 점 사이의 값을 직선 방정식을 통해 추정. 두 데이터 포인트 사이의 임의의 점 x에서의 값 y를 보간. 계산이 간단하고 빠름. 비선형적 데이터 패턴 반영 불가. 큰 갭이나 결측값이 많을 경우 정확도 저하. 데이터 세트 전체에 분산된 작은 데이터 갭 이동 평균
(MovingAverage) 급격한 변화 반영 불가
中 (중간 갭) KNN 결측값을 이웃한 K개의 가장 가까운 데이터 포인트의 값으로 추정. 결측값이 있는 데이터를 선택, 다른 데이터 포인트와의 거리 계산, 가까운 K개의 데이터 선택, 선택된 K개의 데이터 값 평균. 비선형 데이터에도 적용 가능. 데이터의 지역적 패턴 반영. 계산 비용이 많이 들 수 있음. K값 선택 중요. 부정확한 결과 초래 가능. 몇 시간 동안 지속되며 센서의 짧은 정전으로 인해 발생 스플라인 보간법 (Spline Interpolation) 계산 복잡도가 높음**
大 (큰 갭) 행렬 분해 대형 행렬을 두 개의 작은 행렬로 분해하여 결측값 예측. 주로 추천 시스템에서 사용. 원래 데이터 행렬 A를 두 개의 작은 행렬 U와 V로 분해, UV^T 계산하여 결측값 예측. 대규모 데이터 결측값 효과적 처리. 데이터의 잠재적 구조 반영. 모델 학습에 시간 소요. 복잡한 수학적 배경 필요. 과적합 문제 발생 가능. 시스템 또는 센서의 일부가 일시 중지되거나 오류가 발생 **Kalman 필터 (Kalman Filter) 구현 복잡 초기상태에 민감**
  • 해당 논문 gap 구분 기준 中 : 1시간~1일까지 확장되는 갭
    大 : 몇시간에서 최대 며칠까지 이어지는 갭
    小 : 몇 개의 연속된 샘플링 주파수에 걸쳐 확장되는 갭

https://www.nature.com/articles/s41597-022-01257-x/tables/5

이상치 처리 (Smooth Anomalies)

  • 전기 데이터, 온도 데이터, HVAC 운영 측정, 거주자 측정에서 0보다 작은 값은 이상치로 간주
  • 온도 데이터의 경우, 0°C(32°F) 미만 또는 50°C(122°F)보다 큰 값도 이상치로 간주
      이상치 값이 데이터 세트에서 연속 샘플링 주파수 미만으로 분산되어 있어 선형 보간이 효과적
    
  • ⇒ 기본 선형 보간 알고리즘을 사용하여 수정

익명화 (Anonymize)

데이터에서 개인 식별 정보를 제거하거나 변형하여 개인의 프라이버시를 보호하는 과정

1. 식별자 제거

직접 식별자: 이름, 주소, 전화번호 등과 같은 명시적인 식별자를 제거.

간접 식별자: 특정 조합으로 개인을 식별할 수 있는 정보(예: 생년월일, 성별, 우편번호 등)를 제거하거나 변형.

2. 데이터 변형

  • 데이터 마스킹 (Data Masking): 민감한 정보를 별표(*) 등으로 변환하여 가려서 표시.
  • 가명화 (Pseudonymization): 식별자를 무작위 값이나 가명으로 변환하여 직접적인 식별이 불가능하게
  • 데이터 범주화 (Data Generalization): 구체적인 값을 일반적인 범주로 변환하여 식별 가능성을 낮춤
  • (예: 나이를 10대, 20대, 30대 등으로 범주화).

예시

  • Wi-Fi 접속 데이터: 개별 사용자의 접속 기록을 익명화하여 특정 사용자를 식별할 수 없도록 함.
  • 예를 들어, 사용자 ID를 무작위로 변환하거나 접속 시간을 집계하여 총 접속 수만 기록.
  • 거주자 수 데이터: 특정 시간대의 거주자 수를 집계하여 개인을 식별할 수 없도록 함.
  • *_밑줄로 논문 외적인 내용을 표시하였습니다.*
    •  

데이터 표준화

Brick Model

표준화된 메타데이터 스키마: 건물의 센서, 장비, 시스템 등의 자산을 표준화된 형식으로 표현.

isPointOf: 특정 센서나 장치가 더 큰 단위(건물, 층, 구역 등)의 일부임을 나타냄.

isPartOf: 더 큰 단위가 특정 건물의 일부임을 나타냄.

hasPoint: 특정 구역이나 장치에 포함된 센서나 설정값을 나타냄.

hasLocation: 특정 센서가 특정 위치에 있음을 나타냄.

feeds: 특정 장치나 구역이 다른 장치나 구역에 데이터를 제공함을 나타냄.

isFedBy: 특정 장치나 구역이 다른 장치나 구역으로부터 데이터를 받음을 나타냄.

❗ 아직 개발 중이며, 특화된 소프트웨어 도구가 필요함.

Data Set의 Brick Model

Metadata JSON File

  • 구성 요소데이터 관계: 데이터 항목 간의 관계(예: 부모-자식 관계).⇒ 데이터 관리, 검색, 이해를 돕기 위해 사용
  • 기타 메타데이터: 데이터 출처, 생성 시간, 갱신 주기 등.
  • 데이터 속성: 각 데이터 항목의 속성(예: 이름, 타입, 단위 등).

⚠️ 데이터 정규화와의 차이점

데이터 표준화 (Standardization):

목적: 데이터를 공통된 형식과 단위로 변환하여 일관성을 유지하고 비교 및 결합을 쉽게 하기 위함.

방법: 주로 평균이 0이고 표준편차가 1이 되도록 데이터를 변환 (z-score 표준화).

데이터 정규화 (Normalization):

목적: 데이터를 일정한 범위로 변환하여 분석 및 모델링의 효율성을 높이기 위함.

방법: 주로 [0, 1] 범위로 데이터를 변환 (Min-Max 정규화).

표준화는 주로 데이터의 스케일을 맞추고 일관성을 유지하는 데 중점을 두며, 정규화는 데이터의 범위를 일정하게 조정하여 분석의 효율성을 높입니다.

Brick Model과 메타데이터 JSON 파일은 이러한 표준화 과정을 지원하는 중요한 도구입니다.

 

# 코드는 블로그 상에서는 생략. 노션에만 유지.


요약

BEMS 관련 전처리에 유용한 알고리즘 및 표준화 모델 파악

추가적인 연구 자료로서의 Data Set 활용

🙏🏻 관련해서 Python을 통한 데이터분석 공부중입니다.

추가로 공부에 참고할 자료가 있다면 공유 요청드립니다.