본문 바로가기
데이터사이언스

부동산 데이터 분석 - '집값이 싼데는 다 이유가 있다'.

by 미스터탁 2022. 12. 11.

 

* 본 프로젝트는 개인 프로젝트이며, 흥미 위주로 봐주시면 감사하겠습니다.

    "집 값이 싼데는 다 이유가 있다"



부동산에 대해 많은 사람들이 하는 이야기입니다. 그렇다면, AI/머신러닝 모델을 잘 구축한다면 왜 싼지 또는 왜 비싼지 높은 정확도로 설명 가능 할 것입니다. 만약, 적합된 모델이 잘 설명하지 못한다면, 가성비가 좋은(또는 나쁜) 매물이거나 허위 매물로 의심할 수 있다는 가정하에 분석을 시작하였습니다. 직방 데이터(기본매물정보, 텍스트)를 수집하여 모델 구축 및 Shap value를 활용한 매물 분석을 수행하였습니다. 과연 머신러닝 모델이 집값이 싼(또는 비싼) 이유를 설명 할 수 있을까요? 이를 확인하기 위해 일부 지역의 데이터를 수집하고 간단한 모델링 과정을 거쳐 확인해 보았습니다. 

 

분석 과정

 

마포구 매물 대상으로 빌라 데이터를 수집하였습니다. 데이터는 Elevator유무, 층수, 전체층수, 평수, 방타입, 주차가능유무,  집방향,  주택종류 등 8개의 기본정보로 이루어져있으며, 공인중개사가 올린 상세 설명또한 함께 수집하였습니다. 텍스트 데이터는 불용어 제거 및 전처리를 통하여 탑 키워드 80개를 추출하여 DTM형태로 만들었습니다.

 

2194개 데이터 수집

전세매물1278개 추출

텍스트 데이터는 불용어 제거 및 Top keyword 추출
(
형태소 분석은 실시 하지 않음)

 

 

분석 모델

분석 모델로서 LightGBM을 적합시켰으며 수집한 데이터의 기본정보, Keyword정보, 그리고 두 정보를 결합 했을 시 성능 변화를 측정하였습니다. 총 데이터를 8:2의 비율로 학습/테스트 데이터 분할하였으며 성능지표는 mean absolute percentage error (MAPE)root mean squared error (RMSE)사용하였습니다.

 
 
 

분석 결과

- 성능 측정

  • 총 8개 변수 (기본정보) 만 사용시 
    - MAPE : 0.032, RMSE : 2359
  • Document term matrix만 사용시 
    - MAPE : 0.06, RMSE : 4498
  • 두 정보 모두 사용시
    - MAPE : 0.023, RMSE : 2177

MAPE를 보시면 3%미만으로 꽤 좋은 성능을 기록한 것을 확인 할 수 있습니다 (집 값에 영향을 끼치는 요인은 사실 누구나 알 수 있는 요인들이기 때문에 잘 나온 것이라 생각됩니다). 

 

 

- 주요 변수 추출

주요 변수추출시 키워드 보단, 매물의 기본 정보가 높은 중요도를 보였으며,  층 수, 평 수, 방 수, 베이터, 유무, 집 방향, 주차 가능 여부 등이 주요 변수로 추출되는 것을 알 수 있었습니다. 층수가 높으면 높을 수록 비싸고, 방수가 많으면 많을 수록 비싼 매우 당연하고 합리적인 결과가 도출 되었습니다.

 

층수와 엘리베이터 간의 관계

충스와 엘리베이터간의 관계를 시각화 시켜보았습니다. 엘리베이터 유무와 상관없이 층수가 올라갈 수록 비싼 경향 존재하였습니다. 엘리베이터가 없는 경우, 1층이 오히려 2층보다 조금 더 비싼 것으로 나왔으며, 개인적으로 엘리베이터가 없는 경우, 고층이 저층보다 저렴할거라는 생각했었는데. 그 가설에 반하는 결과가 나왔습니다. (5층은 걸어 올라가기 어렵기 때문…) 매물 데이터를 수집한 것이기 때문에, 소비자와의 선호와는 (그것도 제 개인적인) 다른 결과가 나올 수 있다고 생각합니다.

•엘리베이터가 있을시 층수와 평수 간의 관계

6층 이상의 매물은 대형 평수 보다 소형 평수가 더 비싼 경향 존재 하였습니다. 이는  투룸 신축급 오피스텔의 결과로 추정이 되는데, 이는 데이터로 확인이 불가 하였습니다. 

 

아래 그림과 같이 신축급 소형 투룸 오피스텔이지만 관련 키워드 존재하지 않았으며, 주택 등록 또한 공동주택, 오피스텔, 다세대주택 등 다양하게 되어 있어서 텍스트 데이터로도 확인이 불가 하였습니다. (한계점 중 하나)

 

 

반응형

 

 

매물 별로 살펴보겠습니다.

 

실제값 : 22,000 예측값 : 21996
평균대비 낮게 측정되는 이유 낮은 건물 주차 불가 엘리베이터 없음
좋은 요인 쓰리룸넓은 평수, 3채광 등 

주요 변수에 의해 해당 매물의 가격에 대한 설명이 어느정도 가능은 하지만, 말로 설명하기 힘든 (텍스트 등) 변수 또한 있었습니다. 

 

실제값 : 38,000 예측값 : 38,029
평균대비 게 측정되는 이유 : 넓은 평수 / 쓰리룸 / 주차 가능
마이너스 요인 : 엘레베 없음, 1

 

위 두 매물은 모델이 잘 예측 한 테스트 데이터의 매물들의 예시입니다. 그렇다면, 모델이 잘 예측하지 못하는 경우는 어떨까요?

 

 

실제값 : 35,000 예측값 : 33,038
평균대비 게 측정되는 이유 : 보증 보험 가능 / 주차 가능 / 엘리베이터 있음 / 신축급 / 투룸
마이너스 요인 : 작은 평수

 (모델이 예측한 것 대비 실제 전세값은 높게 올라와 있음 , 2천만원 가량은 모델이 설명하지 못함)

 

실제 값 대비 2천만원 정도 낮게 모델이 예측하는 것을 볼 수 있는데, 이에 대해서는 모델이 설명하지 못하고 있습니다. 그렇다면, 그 이유에 대해서는 어떻게 생각할 수 있을까요? 이유 없이 비싼 매물일까요? 가성비가 좋지 않은 매물일까요? 사실 모델이 실제값보다 적게 예측하는 것은 크게 관심의 대상이 아닐 것입니다. 우리가 부동산에 대해 약간의 적개심을 가지고 있는 것은 바로 상대적으로 저렴한 '허위 매물'이기 때문입니다.

 

 

모델이 실제 값보다 비싸게 예측한 경우를 보도록 하겠습니다.

 

실제값 : 32,000 예측값 : 34,029
평균대비 게 측정되는 이유 : 고층 / 높은 건물 / 주차 가능
마이너스 요인 : 낮은 평수
(모델이 예측한 것 대비 실제 전세값은 낮게 올라와 있음 , 2천만원 가량은 모델이 설명하지 못함

실제 값 대비 2천만원 정도 높게 모델이 예측하는 것을 볼 수 있는데, 이에 대해서도 모델이 설명하지 못하고 있습니다. 실제로 주변시세 보다 조금은 저렴하게 올라와 있는 것을 확인 할 수 있었는데요. 과연 이는 가성비가 좋은 매물일까요? 아니면 숨겨진 이유가 있거나 허위 매물일까요?

 

모델이 실제값보다 5,000만원 이상 높게 예측하는 경우를 살펴보았습니다.

테스트 데이터에서 총 5개의 매물이 추출 되었으며, 각 매물들에 대하여 어떠한 변수가 전세값에 기여를 했는지 한눈으로 시각화 시켜서 확인할 수 있습니다. 

위 예시는, 용산구에 위치해 있으며 신축급 투룸 오피스텔인데 2억 3천에 올라와 있습니다. 모델은 3억 3천 정도로 예측을 했습니다. 거의 1억 정도의 오차를 냈으며, 실제로 해당 매물은 주변시세 보다 1억 가까이 저렴하게 올라와 있었습니다. 해당 매물을 자세히 살펴보았지만, 매물이 저렴한 이유를 찾지 못했습니다. 그렇다면, 우리는 이러한 매물들을 어떻게 판단하고 어떻게 관리를 해야할까요? 이에 대한 제 생각은 다음과 같습니다.

 

모델의 정확도가 매우 높다라는 가정하에, 모델이 실제 값보다 적게 예측 하고 잘 설명하지 못한다면, 허위 매물이거나 가성비가 매우 좋은 매물이라 판단 할 수 있음.

그러나 고객에게 직접적으로, 위와 같은 정보를 전달하기 어려움.

실제로 사용시에는 모니터링 및 공인 중개사에 접촉하여 매물에 대한 가격 문의로 활용 가능

 

직방의 입장 또는 플랫폼의 입장에서 이를 허위 매물이라고 말하기는 매우 어렵습니다. 만의 하나 0.01%의 가능성을 배제할 수 는 없기 때문이죠. 그렇지만, 이러한 매물들을 추려서 모니터링 및 직접적으로 공인중개사에게 연락하여 해당 매물에 대한 조사는 가능할것이라 생각합니다.

 

한계점

지금까지 간단하게, 직방 데이터를 수집 및 분석 해보았는데요. 간단하게 분석한 결과라 한계점은 사실 매우 많습니다.

아래 그림을 보시면, 사용하는 변수들의 종류에 따라서 특정 변수(아래 그림에서는 floor)의 Shap value가 다르게 나타날 수 있습니다. 즉 변수의 다중공선성과 같은 문제로 인해 해석에 대한 왜곡이 생길 수 있습니다.

 

층 수에 대한 해석은 사실 우측그림이 맞습니다. 층수가 높아지면 높아질수록 매물의 가격은 올라갑니다. 이는 데이터를 통해서 직접적으로 확인하였습니다. 그렇지만, 모든 변수를 다 사용시에 Shap value가 왜곡 되는 현상이 발생하였습니다. 정확한 변수의 해석을 위해서는 적절한 변수 와 모델 적합이 필요로 하다는 것을 알 수 있습니다.

 

또한, Keyword에 대한 설명력이 부족 합니다. 대부분의 사람들이 아시다시피 DTM으로는 아래 와 같은 텍스트를 설명하기 어렵습니다. 이를 보완하기 위한 Attention모듈 등도 고려해볼 필요가 있습니다.

 

 전세자금 대출’ + ‘가능’  = + 요인

 ‘전세자금 대출’ + ‘불가능’ = - 요인
 

또한 이미지 데이터도 활용 가능 할 것입니다. 최종적으로 매물 사진 + Text + Tabular 정보를 활용한 모델을 구축하여 Shap value를 추출한다면 훨씬 더 높은 정확도를 가지고 설명도 잘할수 있는 모델을 구축 할 수 있으리라 생각됩니다. 더불어서, 매물 등록 정보로 얻을 수 없는 정보를 활용 할 수 있다면…(매물의 위도 경도를 기반으로 경사도 및 고도 추출) 더욱 도움이 되겠죠. 마지막으로, Shap value는 당연히 이를 해석 할 줄 아는 사람에게만 유용합니다. 소비자들 입장에서는 그다지 유의미 하지 않죠. 이를 적절히 가공해서 소비자들에게 잘 전달할 수 있는 방법 또한 고려 되어야 할 것입니다^^.

 

한계점

이 분석은 제가 부동산 플랫폼을 사용하면서 이런게 있으면 좋겠다 하는 것에서 부터 시작되었습니다. 좋은 매물을 찾아도 의심부터 들어서 부동산에 전화를 거는 것이 꺼려졌던 적이 한 두번이 아니였기 때문이죠. 아무리 '싼데는 이유가 있다' 지만 제가 찾는 최적의 매물은 분명히 있을 거라고 생각했고, 이러한 분석 기법이 저와 같은 사람들에게 조금이나마 도움이 될 수 있을거라 믿습니다. 싸다면, 싼 이유를 설명할 수 있어야 하며 이유 없이 싸다면 그 매물은 매우 가성비가 좋은 매물 또는 허위 매물일 확률이 높습니다. 어느 쪽이든 간에 해당 매물에 대한 정확한 정보는 소비자들에게 큰 도움이 될 것입니다.

반응형

댓글