시계열 회귀 예측 시 교차검증 후 예측값과 단순한 예측값 차이 여부 질문드립니다!
안녕하세요! 이전에 강의를 들었던 학생인데 갑자기 궁금한 점이 생겨서 질문드립니다!(구글링에 어떤 키워드로 검색해야 할지 몰라서 여기다가 남겨요~!)
현재 시계열 예측 회귀문제를 다루고 있는데요! 시계열 교차검증을 수행하면서 모델의 예측 성능 테스트를 하다가 문득 궁금한 점이 들었습니다. 질문을 쉽게 설명드리기 위해서 간단한 예시하나만 들겠습니다!
예를 들어, 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 두개가 동일, 그렇지 않다면 서로 조금이라도 다를 것입니다.
감사합니다.
0
아 답변 감사합니다! "교차검증 모델이 최후에 학습한 데이터 세트"는 2021-01-01 ~ 2021-05-31 기간의 데이터(교차검증 시 마지막 데이터)가 맞습니다. 그렇다면 결국 A,B 는 동일한 파라미터의 모델에서 나온 거겠군요? 답변 감사합니다~!
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
50
2
안녕하세요 열심히 수강중인 학생입니다
0
86
2
정수 인덱싱
0
86
2
넘파이 오류
0
108
2
11강 numpy의 axis 축 질문 드립니다.
0
106
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
92
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
76
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
83
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
73
2
5강 강의 오류가 있어요.
0
90
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
81
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
75
3
파이썬 다운그레이 후 사이킷런 재설치
0
128
2
좋은 강의 감사합니다.
0
79
2
scoring 함수 음수값
0
72
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
108
2
분류 평가 정확도 예측
0
87
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
114
1
카카오톡 채널 있나요
0
117
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
193
2
pca 스케일링 관련하여 질문드립니다.
0
109
2
주피터 대신 구글 코랩
0
184
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
155
2
실루엣 스코어..
0
91
2





