숟가락 그만 얹어

우리 동네 부동산 데이터 분석 (1) (작성 중) 본문

Interests/Assets

우리 동네 부동산 데이터 분석 (1) (작성 중)

업무외시간 2022. 3. 14. 16:57

주말에 부동산 관련 책을 보니 내가 하고 있는 일처리와 부동산 전문가들의 의사결정 방식이 거의 흡사해 보였다. 부린이인 나는 먼저 호갱노노를 참고로 가격에 영향을 미치는 요인들을 내 나름 정리해보려고 했다.

 

부동산 가격을 결정하는 요인

세대수, 건축년도, 면적, 지역 평균, 대중교통 도보, 용적률, 건폐율, 전세가율, 회사, 학군, 편의시설

 

이외에도 나에게만 해당되는 요소 (LG사이언스파크와 가까우면 좋다, 제한된 예산 내, 결혼을 한다면?, 느낌적인 느낌)가 있을 것이다. 사람에 따라 시장 상황에 따라 변수 간의 중요도는 유동적으로 변하거나 한 요소가 다른 요소를 압도해버릴 수도 있을 것 같다. 지금 나에게 필요한 정보는 무엇일까? 

 

미래는 개인이나 집단의 의지로 데이터는 과거 경험의 축적이므로 분석을 통해 (계속 수정...)

import json
import requests
import xmltodict
import numpy as np
import pandas as pd

from sklearn.linear_model import LinearRegression

url = "http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade"
key = "key value here!"

region = "11500" # Gangseo-gu
data = pd.DataFrame()

for month in range(1, 4):
    date = "20220" + str(month)
    condition = "?LAWD_CD=" + str(region) + "&DEAL_YMD=" + str(date) + "&serviceKey=" + key
    response = requests.get(url + condition)
    
    if response.status_code == 200:
        response = xmltodict.parse(response.text)
        response = response["response"]["body"]["items"]["item"]
        data = pd.concat([data, pd.DataFrame(response)])
        
data["건축년도"] = 2022 - data["건축년도"].astype("int")
data.drop(columns=["거래유형", "법정동", "아파트", "년", "월", "일", "중개사소재지", "지번", "지역코드", "해제사유발생일", "해제여부"])

X = data.loc[:, data.columns != "거래금액"].astype("float")
y = data["거래금액"].str.replace(',', '').astype("float")

# normalize
X_mean, X_std = X.mean(), X.std()
y_mean, y_std = y.mean(), y.std()

X = (X - X_mean) / X_std
y = (y - y_mean) / y_std

# correlation
for col in X.columns:
    print('Correlation with %s : %f' % (col, np.corrcoef(X[col], y)[0][1]))

# linear regression
reg = LinearRegression().fit(X, y)
score = reg.score(X, y)
importance = reg.coef_

print("Score : %f\n" % (score))
for i, col in enumerate(X.columns):
    print("Importance of %s : %f" % (col, importance[i]))