기계 학습으로 빌딩의 전력 수요 예측【RandomForest】

이전에 SARIMA 모델을 사용하여 전력량을 예측했지만 작동하지 않았다 (그러나 RMSE 20kWh 미만). 원래 돌발적으로 변동하는(시간에 관계없이) 수전 전력량을 시계열 모델로 평가하는 것이 원래 실수였는가?
그래서 이번에는 기계 학습(RandomForest)을 이용하여 전력량을 예측할 수 없는지를 검증했다.

개요


  • 한 건물에서 전력 수신량 데이터를 수신
  • 기계 학습을 사용하여 2 일 전까지 48 시간 데이터를 예측
  • RMSE (평균 제곱 오차)를 사용하여 예측 정확도 평가

  • 조건


  • 수령 데이터
  • 10 분마다 측정
  • 측정 데이터는 수전 전력량만
  • 주말 및 공휴일 제외

  • 목적 변수
  • 수전 전력량

  • 설명 변수
  • 지연 데이터(48차, 49차, 50차 지연)
  • 요일 데이터
  • 시간 데이터


  • 설명 변수
    LagDF = pd.DataFrame(index=ForecastDF.index)
    #1次遅れデータ
    LagDF['Lag'] = ForecastDF.shift(48)
    LagDF['Lag2'] = ForecastDF.shift(49)
    LagDF['Lag3'] = ForecastDF.shift(50)
    
    #曜日データ生成
    DateDF = pd.DataFrame()
    DateDF['Weekday'] = ForecastDF.index.weekday
    DateDF['Time'] = ForecastDF.index
    DateDF.index = ForecastDF.index
    
    trainx = pd.concat([LagDF,DateDF['Weekday']],axis=1)
    

    추가:2017/11/06
    바보 같은 일을했습니다.
    설명 변수에 요일 데이터와 시간 데이터도 갖게 하려고 했지만, 기본적으로 더미 데이터로서 다른 데이터로 하지 않으면 의미 없네요. . . 나중에 더미 데이터를 만든 후 확인합니다.

    수령 데이터를 3기간 각각으로부터 1일 선택하고, 적당한 학습기간으로 검증을 행하였다.


    기간명
    학습 기간
    예측 기간


    여름
    1Week
    2일

    동기
    1Week
    2일


    결과



    검증 결과로서는 다음과 같다. 비교적 양호한 결과가 되었지만, 돌발적으로 발생하는 외란에 대응할 수 없었다.


    기간
    RMSE[kWh]


    여름
    15.7

    동기
    28.3


    여름





    동기





    요약


  • 현재는, 사용물이 되지 않지만 설명 변수의 선정으로 정밀도 향상은 기대할 수 있다.
  • 10% 정도의 어긋남에서는, 시비어한 관리는 할 수 없다. 이것이 한계이면 이동 평균만으로 좋은 생각도 한다.
  • 좋은 웹페이지 즐겨찾기