• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

시계열 회귀 예측 시 교차검증 후 예측값과 단순한 예측값 차이 여부 질문드립니다!

21.06.16 10:17 작성 조회수 119

0

안녕하세요! 이전에 강의를 들었던 학생인데 갑자기 궁금한 점이 생겨서 질문드립니다!(구글링에 어떤 키워드로 검색해야 할지 몰라서 여기다가 남겨요~!)

현재 시계열 예측 회귀문제를 다루고 있는데요! 시계열 교차검증을 수행하면서 모델의 예측 성능 테스트를 하다가 문득 궁금한 점이 들었습니다. 질문을 쉽게 설명드리기 위해서 간단한 예시하나만 들겠습니다!

예를 들어, 2021-01-01 ~ 2021-05-31일까지의 학습 데이터가 존재합니다. 이 때 예측하려는 것은 2021-06-01일의 값입니다. 이를 해결하기 위해 시계열 예측 모델을 만들고 다음과 같이 시계열 교차검증을 수행했습니다.

Scikit-learn 의 TimeSeriesSplit 에서 n_splits=10, test_size=1 로 설정하고 10개로 분할하고 검증 데이터 사이즈는 1일 치로 설정했습니다. (참고로 for 문을 돌면서 모델을 초기화했습니다! ex. lr_reg = LinearRegression() 이런 식으로 계속..)

예를 들어...

1번째 CV) 2021-01-01 ~ 2021-05-21 기간의 데이터 학습 -> 2021-05-22 데이터 예측함으로써 검증

2번째 CV) (1번째 이후 모델 초기화 후) 2021-01-01 ~ 2021-05-22 기간의 데이터 학습 -> 2021-05-23 데이터 예측함으로써 검증

... 반복

10번째 CV) (9번째 이후 모델 초기화 후) 2021-01-01 ~ 2021-05-30 기간의 데이터 학습 -> 2021-05-31 데이터 예측함으로써 검증

위와 같은 교차검증 방법으로 모델링을 한 후 최종적으로 예측하려는 2021-06-01 의 데이터를 예측했을 때의 예측 값(A)를 얻었습니다.

그리고 위와 같이 시계열 교차검증 방법을 하지 않고 단순히 2021-01-01 ~ 2021-05-31 데이터를 한번에 학습시키고 2021-06-01 의 데이터를 예측했을 때의 값(B)를 얻었습니다.

이 때, A와 B 값은 동일한가요? 즉, 학습 데이터 기간은 둘 다 동일하되 A값을 얻을 때 처럼 시계열 교차검증을 하면서 모델링 되는 모델의 파라미터값과 B값을 얻을 때 처럼 한 번에 모든 기간의 데이터를 학습시켜 모델링 되는 모델의 파라미터값 간의 차이가 존재하나요?

사견으로는 TimeSeriesSplit for loop를 돌면서 모델을 초기화시켰기 때문에 파라미터도 초기화되었을 것 같아 A, B 두 예측 결과 값이 동일할 것으로 예상되는데.. 선생님의 의견이 궁금해서 질문 남깁니다! 긴 질문 읽어주셔서 감사합니다 :) 선생님의 다른 강의들도 많이 보고 앞으로도 많이 보려고 합니다! 더 많은 강의 다루어주시면 감사하겠습니다~!

답변 1

답변을 작성해보세요.

0

안녕하십니까,

교차 검증을 적용한 후에 모델이 학습한 최종 데이터 세트가 어떤 걸지요?

"위와 같은 교차검증 방법으로 모델링을 한 후 최종적으로 예측하려는 2021-06-01 의 데이터를 예측했을 때의 예측 값(A)를 얻었습니다." 라고 하셨는데, 교차 검증으로 모델을 학습하면 마지막으로 학습된 모델은 최종 교차 검증 데이터 세트로 학습을 하셨을 것 같습니다.  그게 만약 2021-01-01 ~ 2021-05-31 기간의 데이터 라면 A, B 두개의 예측 결과는 동일해 보입니다만, (이게 질문이 뜻하시는 건지는 잘 모르겠습니다)

'교차검증 방법으로 모델링을 한 후' 라는 것의 의미만 제대로 파악되면 될 것 같습니다.

즉 교차 검증 모델이 최후에 학습한 데이터 세트가 2021-01-01 ~ 2021-05-31 라면 A,B 두개가 동일, 그렇지 않다면 서로 조금이라도 다를 것입니다.

감사합니다.

아 답변 감사합니다! "교차검증 모델이 최후에 학습한 데이터 세트"는 2021-01-01 ~ 2021-05-31 기간의 데이터(교차검증 시 마지막 데이터)가 맞습니다. 그렇다면 결국 A,B 는 동일한 파라미터의 모델에서 나온 거겠군요? 답변 감사합니다~!