가스 소비 이상치 탐지-신경망 프로젝트. 나쁜 결과


10

네덜란드의 일부 건물의 에너지 가스 소비에서 특이 치를 탐지하여 신경망 모델을 구축했습니다. 결과가 매우 좋지 않지만 이유를 찾을 수 없습니다.

저는 전문가가 아니므로 개선 할 수있는 것과 내가 뭘 잘못하고 있는지 묻고 싶습니다. 이에 대한 자세한 설명은 https://github.com/denadai2/Gas-consumption-outliers 입니다.

신경망은 역 전파를 갖는 FeedFoward 네트워크입니다. 여기에 설명 된대로 데이터 세트를 41'000 행, 9 개의 기능으로 구성된 "작은"데이터 세트로 나누고 더 많은 기능을 추가하려고했습니다.

나는 네트워크를 훈련했지만 결과는 14.14 RMSE이므로 가스 소비를 잘 예측할 수 없으며 연속적으로 우수한 이상치 탐지 메커니즘을 실행할 수 없습니다. 일부 논문에서는 전력 소비량을 매일 또는 시간 단위로 예측하더라도 MSE = 0.01과 같은 오류가 있음을 알 수 있습니다.

무엇을 개선 할 수 있습니까? 내가 무엇을 잘못하고 있지? 내 설명을 볼 수 있습니까?


2
나쁜 결과는 무엇을 의미합니까? git 저장소에만 연결하는 대신 프로세스, 결과 및 예상과 다른 점을 설명하십시오. 그렇지 않으면이 토론은 아무 소용이 없습니다.
Air

이것도 마찬가지입니다 : D. "결과는 14.14 RMSE를 가지고 있기 때문에 가스 소비를 잘 예측할 수 없으므로 결과적으로 우수한 이상치 탐지 메커니즘을 실행할 수 없습니다. 일부 논문에서는 예측하더라도 전력 소비량의 일일 또는 시간당 소비량은 MSE = 0.01과 같은 오류가 있습니다. "
marcodena

1
@marcodena이 사이트는 품질 보증 사이트이며, 다른 사람들은 해결하려는 내용을 알아야 답변을 이해할 수 있고 자신의 문제에서 사용할 수 있기를 바랍니다. 그것이 AirThomas가 의미 한 바이며, 자신이하고있는 일과 정확하게 생각하는 것이 무엇인지 설명 할 수 있다면 좋을 것입니다. git-hub 페이지에 대한 링크가 변경되면 여기의 링크가 유효하지 않으며 다른 사람들은 문제가 무엇인지 이해할 수 없습니다. 잠시 시간을내어 질문을 독립적으로 만드십시오. 감사.
Rubens

1
문제를 설명하는 데 시간이 오래 걸린다는 것을 알게되면, 다른 사람들에게 질문을 설명하는 데 시간을 투자하고 연구 / 시도에 대한 많은 세부 사항과 토론을하는 것이 가장 중요 합니다. 그 과정에서 종종 일부 또는 모든 답을 직접 찾을 수 있습니다. 뿐만 아니라이 무엇을 찾을 것은 다른 사람에게 유용 경우 좋은 느낌, 당신은 아직도 당신이 너무 많은 시간을 보내고 그 질문을 게시 할 수 있다는 것입니다, 하고 대답 (들) 당신이 함께했다.
Air

1
"일부 논문에서 MSE = 0.01과 같은 오류가 있음"을 언급 할 때 설명을 사용하면 동일한 데이터 세트를 사용하고 있습니까? 아니면 완전히 다른 데이터 집합입니까?
insys 2016 년

답변:


8

단지 생각-데이터는 계절이 매우 큽니다. 매일 및 매주주기가 상당히 인식 가능합니다. 따라서 먼저 변수 (가스 및 전기 소비, 온도 및 태양 복사)를 분해하십시오. 다음은 R의 시계열 분해에 대한 유용한 자습서입니다.

트렌드와 계절 성분을 얻은 후 가장 흥미로운 부분이 시작됩니다. 이는 가정 일 뿐이지 만 가스 및 전력 소비 변수는 시계열 분석 (예 : ARIMA 모델 )을 통해 상당히 예측할 수 있다고 생각 합니다. 내 관점에서 볼 때 가장 많이 나오는 부분은 사용 가능한 데이터 (온도 이상, 태양 복사, 풍속)를 사용하여 분해 후 잔차를 예측하는 것입니다. 나는이 잔차가 이상치라고 생각합니다. 희망, 당신은 이것이 유용하다는 것을 알게 될 것입니다.


3

훈련 노트에는 20 개의 에포크를 사용한 훈련 결과가 표시됩니다. 성능에 영향을 미치는지 확인하기 위해 해당 매개 변수를 변경해 보셨습니까? 이는 역 전파에 중요한 매개 변수입니다.

모델 매개 변수를 추정하기 위해 사용자가 마스크 마스크를 지적한 것처럼 학습 곡선을 그리는 것은 매우 좋은 접근 방법입니다. 그 외에도, 모델 매개 변수 (예 : 교육 에포크 또는 숨겨진 레이어 크기)와 교육 및 유효성 검사 오류를 사용하여 플롯을 만들 수도 있습니다. 이를 통해 편향 / 분산 트레이드 오프를 이해하고 매개 변수에 적합한 값을 선택할 수 있습니다. 일부 정보는 여기에서 찾을 수 있습니다 . 당연히, (제 3의) 테스트 세트에 대해 적은 양의 데이터를 유지하는 것이 좋습니다.

참고로, 모델의 뉴런 수를 늘리면 RMSE가 크게 개선되지 않는 것으로 보입니다. 이것은 더 간단한 모델, 즉 더 적은 뉴런으로 시도하고 모델의 동작을 볼 수 있음을 나타냅니다.

사실, 나는 선형 회귀와 같은 매개 변수가 거의 없거나 전혀없는 간단한 모델을 시도하고 (위로 확인하지 않은 경우) 온 전성 검사와 마찬가지로 결과를 문헌과 비교하는 것이 좋습니다.


모델 A LOT을 개선 한 후 몇 가지 그래프를 추가했습니다. github에는 새로운 단계가 있습니다. 시계열 문제에서 선형 회귀를 적용하는 방법을 물어볼 수 있습니까? :(
marcodena

2

여기서 주요 문제는 이상 감지 알고리즘을 적용하기 전에 신경망을 사용하여 가스 소비를 충분히 예측하지 못한다는 것입니다.

여기에서 주요 목표가 이상 탐지 알고리즘을 사용할 수있는 단계에 도달하고이 문제에 대해 선형 회귀를 성공적으로 적용한 예에 액세스 할 수 있다고 언급하면이 방법이 더 생산적 일 수 있습니다. 성공적인 기계 학습 응용 프로그램의 원칙 중 하나는 결과에 따라 최종 선택 전에 여러 가지 알고리즘을 시도 할 수 있다는 것입니다.

신경망 성능을 조정하도록 선택 하면 오류율에 대한 다른 하이퍼 파라미터의 변경 효과를 나타내는 학습 곡선을 사용할 수 있습니다. 수정할 수있는 하이퍼 파라미터는 다음과 같습니다.

  • 기능 수
  • 다항식의 차수
  • 정규화 매개 변수
  • 네트워크의 레이어 수

교차 검증 세트의 성능으로 최상의 설정을 선택할 수 있습니다.


나는 몇 가지 그래프를 추가했고 지금 당신은 또한 매개 변수에 대해 확인할 수 있습니다 :)
marcodena

2

노트북에서 신경 네트워크 모델을 보지 못했습니다. 사용중인 라이브러리, 사용중인 레이어 수 및 사용중인 신경 네트워크 유형을 가리킬 수 있습니까?

노트북에서 신경망을 학습하기 위해 시끄럽고 특이한 데이터 세트를 사용하는 것 같습니다. 귀하가 예측치로부터 관측 거리를 볼 수 있도록 특이 치가없는 데이터 세트에서 신경망을 훈련해야한다고 생각합니다 신경망은 관측치에 이상 치를 표시합니다.

내가 쓴 부부일을 sobach 언급하고 신호의 전반적인 추세를 얻기 위해 FFT (위의 첫 번째 링크)를 사용할 수 있기 때문에 데이터가 높은 계절, 시계열 신호에 특이 검출에. 가스 소비에서 주파수 성분을 얻은 후에는 고주파 성분을보고 특이 치를 얻을 수 있습니다.

또한 계절 데이터에 신경망을 사용한다고 주장하려는 경우, 반복 신경망이 바닐라 신경망보다 과거의 관측치를 더 잘 통합 할 수 있기 때문에 반복 신경망을 확인하는 것이 좋습니다. .


FFT 방법을 시도했지만 데이터로 주파수 임계 값과 진폭을 설정하는 방법을 실제로 얻지 못했습니다. 계속 찾아 보 겠지만, 도와 줄 수 있다면 ...
marcodena

나는 또한 소스를 추가
marcodena
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.