인공지능이지만 큰 기대는 안 합니다
이런 이미지를 많이 보셨을 겁니다.
KB국민은행에서 매주 발표하는 아파트 매매가격지수입니다.
위에 나오는 것은 지수 증감률로 아파트 매매 시장이 얼마나 뜨거운지 보여주는 거죠.
이 표는 매매가격지수입니다.
앞의 증감률은 이 지수의 증감률을 계산한 겁니다.
오늘은, 머신러닝, 딥러닝 알고리즘을 이용해 시계열 예측을 한번 해보겠습니다.
즉 다음 주의 KB 아파트 매매지수를 예측해 보려 합니다.
지난 주, 즉 2021년 8월 21일 KB 전국 아파트 매매지수는 123.46을 기록했고,
알고리즘별 다음 주 지수 예측은 다음과 같습니다.
1. SGD - 114.64
머신러닝계의 호프,SGD는 114.64을 예측했습니다.
100% 빗나갈 수치군요.
지난 주 수치만 봐도 이런 숫자가 나올 리가 없다는 건 강아지라도 알겠죠.
2. SVM - 88.27
이름도 멋진 서포트 벡터 머신의 회귀 알고리즘은 88.27을 예측했습니다. ㅡ.ㅡ;;
경제위기를 예언하는 걸까요?
찾아보니, 2014년 3월에 지수가 88.3이었습니다.
3. RANSAC - 123.87
머신러닝 알고리즘들이 하도 어이없는 수준의 오차를 보여서 검색하다가 찾아낸 알고리즘입니다.
위에서 언급했듯이, 훈련 셋은 물론 테스트 셋에서 MSE 0.00을 기록했습니다.
RANSAC은 123.87을 예측했습니다.
무섭군요. 맞을 것 같습니다.
4. Random Forest, Extra Tree - 97
머신러닝계의 끝판왕인 랜포가 97.09을 예측했습니다.
분류기가 아니라 회귀머신이니 조금 봐준다 해도,
어이가 없군요.
사촌 격인 엑스트라트리가 그나마 97.34을 예측했지만,
이것도 어이없는 숫자인 것은 마찬가집니다.
5. GB - 97~99
XGBoost가 99.69, 히스토그램 기반 GB가 97.71을 예측했습니다.
앞서 나온 아이들과 마찬가지로, 예측이랄 것도 없네요.
6. RNN - 109.99
이제 딥러닝 쪽입니다. RNN은 109.99을 예측했습니다.
서포트 벡터 머신보다 18배 시간을 잡아먹고 내놓은 예측이...
6. GRU - 108.07
더 적은 시스템 부하로 LSTM과 거의 비슷한 성능을 내는 GRU.
GRU는 108.07을 예측했습니다.
당연하지만 단순 RNN보다 계산 시간이 50%나 들었는데,
예측 결과는 더 황당합니다.
7. 찍기 - 123.46
모든 회귀 예측에는 바닥값이라는 게 있어야 합니다.
숫자를 맞추는 일에서 가장 쉽게 오차를 적게 가져가는 방법은 다름 아닌...
이번 숫자가 다음 번에도 유지된다고 예측하는 겁니다.
즉 이번 주 KB 아파트 매매지수인 123.46을 찍는 겁니다.
회귀 예측으로 이 기본값을 능가하는 게 대단히 어렵습니다.
8. 사람 - 123.66
이번 정부 들어 부동산에 불난 것은 다들 아실테고...
그래서 인간이라면 찍기에 약간의 양념을 더할 수 있습니다.
별다른 추가 리스크 없이 예측 정확도를 높이는 것이, 추세를 반영하는 거죠.
저는 현재의 상승추세가 당분간 꺾이지 않고 지속될 것이라 확신하지만,
아무 의견을 보태지 않고 단순한 휴리스틱을 사용하려고 합니다.
즉 현재 방향으로 진행하되, 변화값은 지난 주의 반이라고 보는 거죠.
물론 이렇게 하는 이유는 추세 반전에 대비하는 것입니다.
이런 간단한 휴리스틱을 사용하면, 다음 주 예측값은 123.66이 나옵니다.
9. 소결
제 개인적인 생각은 RANSAC의 예측값이 거의 맞을 거라고 봅니다.
현재 추세를 그대로 반영해서, 즉 다음 주에도 이번 주만큼 지수가 올라간다고 보면,
단순 더하기를 했을 경우 123.860
곱하기, 즉 증감률로 계산했을 때 123.861
이 나옵니다.
RANSAC은 예측값은 소수점 세 자리로 123.868로, 위 값들보다도 조금 더 높습니다.
기존의 인공지능, 즉 인간이 디자인하는 방식의 인공지능은 결국 단순한 회귀식일 뿐입니다.
위의 간단한 계산도 그런 회귀식이 될 수 있고, 이동평균을 사용하거나,
특성 공학을 이용해 좀더 복잡한 회귀식을 고안해 낼 수도 있죠.
게다가 왜 그런 식으로 설계했는지 설명도 할 수 있습니다.
다만 틀릴 뿐이죠.
현재의 부동산 시장은 예측이 너무 쉽습니다.
다음 주에도 분명 오를 겁니다.
그러니까 지금보다 높은 숫자를 대강 고르면, 얼추 맞을 겁니다.
그러나 일단 이번에 사용된 알고리즘들은 자체시계열을 포함한 총 6개의 변수를 고려했고,
지난 8주간의 데이터에만 기반하여 학습을 강제했습니다.
RANSAC을 제외한 나머지 알고리즘은 처참하게 틀릴 게 확실하지만,
RANSAC이란 보물을 발견했으니 얼마나 맞아들어가는지 한번 보겠습니다.