ChatGpt로 아파트시계열 분석하기(2024.07월 기준)

ChatGpt 아파트시계열 분석을 시작하며

아나콘다의 쥬피터노트북으로 파이썬 코드를 실행해서 한국부동산원 주간아파트가격동향 시계열을 전처리 하였습니다. 이렇게 전처리 된 시계열 자료를 가지고 이번에는 챗GPT(ChatGpt)로 고급분석 하는법에 대해서 다루어 보도록 하겠습니다.

당연히 아래 두 포스팅을 먼저 읽고 오시길 추천드립니다.

파이썬(python) 사용을 위한 아나콘다(Anaconda) 설치 방법 정리(2024.07기준)

파이썬으로 한국부동산원 주간아파트가격동향 시계열 다루기(2024.07 기준)

ChatGpt 아파트시계열 분석하기

ChatGpt 4o 모델 사용하기

https://openai.com/index/chatgpt

ChatGpt 사용하기
ChatGpt 사용하기

저의 경우 ChatGpt는 월 usd 20달러가 결제되는 plus를 사용하고 있습니다.

ChatGpt 4o (4옴니) 선택
ChatGpt 4o (4옴니) 선택

ChatGpt에 r1_week.csv 파일 첨부하고 프롬프트 넣기

ChatGpt 4o로 시계열분석위해 파일첨부하기
ChatGpt에 첨부파일 및 프롬프트 업로드 하기
ChatGpt 파일 업로드 하기
ChatGpt 파일 업로드 하기
r1_week, 최근4주동안변동률구하기_프롬프트.txt 파일첨부하기
r1_week, 최근4주동안변동률구하기_프롬프트.txt 파일첨부하기
데이터 필터링  날짜 변환

- gubun이 1 또는 13 행을 필터링합니다.
- ymd 컬럼을 날짜 형식으로 변환합니다.
- ymd 컬럼을 최근 날짜와 4주전 날짜로 필터링합니다.

변동률 계산

-  sigun 그룹별로 데이터를 ymd 기준으로 정렬합니다.
- 최근 m_js와 4  m_js의 변동률을 계산하여 매매변동률로 저장합니다.
- 최근 j_js와 4  j_js의 변동률을 계산하여 전세변동률로 저장합니다.

결과 저장

- 매매변동률을 기준으로 순위를 매기고 결과를 정렬합니다.
- 순위, sigun, 매매변동률, 전세변동률, 과거 ymd, 최근 ymd 컬럼을 포함한 데이터프레임을 생성합니다.
- CSV 파일을 'utf-8-sig' 인코딩으로 저장하여 한글이 깨지지 않도록 합니다.
- 최근4주동안변동률분석.csv 파일과 최근4주동안변동률분석.xlsx 파일로 각각 저장한다.

위 프롬프트 및 첨부 csv파일은 아래 깃허브로 가시면 다운로드 가능해요.

https://github.com/yangyunho/r1_week_series_preprocessing

고급분석 결과 파일 반환

아파트시계열 분석하는 ChatGpt
아파트시계열 분석하는 ChatGpt
ChatGpt가 고급분석 파일을 던져주다
ChatGpt가 고급분석 파일을 던져주다

사실 이렇게 프롬프트를 입력하면 ChatGpt는 파이썬 코드를 작성해주고, 이 코드를 활용해서 작업을 실행합니다. 그 코드는 아래와 같습니다. (위 첨부파일 끝 코드 부분 클릭하면 나타남)

Python
# Following the prompt to filter and process the data

# Filter rows where 'gubun' is 1 or 13
filtered_data = data[(data['gubun'] == 1) | (data['gubun'] == 13)]

# Convert 'ymd' column to datetime format
filtered_data['ymd'] = pd.to_datetime(filtered_data['ymd'], format='%Y-%m-%d')

# Determine the most recent date and the date 4 weeks ago
most_recent_date = filtered_data['ymd'].max()
four_weeks_ago_date = most_recent_date - pd.Timedelta(weeks=4)

# Filter the data for these two dates
recent_data = filtered_data[filtered_data['ymd'] == most_recent_date]
four_weeks_ago_data = filtered_data[filtered_data['ymd'] == four_weeks_ago_date]

# Merge the recent data with the data from four weeks ago on 'sigun'
merged_data = pd.merge(recent_data, four_weeks_ago_data, on='sigun', suffixes=('_recent', '_four_weeks_ago'))

# Calculate the change rates for 'm_js' and 'j_js'
merged_data['매매변동률'] = (merged_data['m_js_recent'] - merged_data['m_js_four_weeks_ago']) / merged_data['m_js_four_weeks_ago'] * 100
merged_data['전세변동률'] = (merged_data['j_js_recent'] - merged_data['j_js_four_weeks_ago']) / merged_data['j_js_four_weeks_ago'] * 100

# Create the result dataframe
result_df = merged_data[['sigun', '매매변동률', '전세변동률', 'ymd_four_weeks_ago', 'ymd_recent']].copy()

# Rank the result dataframe based on '매매변동률'
result_df['순위'] = result_df['매매변동률'].rank(method='min', ascending=False)

# Sort the dataframe by rank
result_df = result_df.sort_values('순위')

import ace_tools as tools; tools.display_dataframe_to_user(name="Result DataFrame", dataframe=result_df)

# Save the result dataframe to CSV and Excel
result_csv_path = '/mnt/data/최근4주동안변동률분석.csv'
result_excel_path = '/mnt/data/최근4주동안변동률분석.xlsx'

result_df.to_csv(result_csv_path, index=False, encoding='utf-8-sig')
result_df.to_excel(result_excel_path, index=False, encoding='utf-8-sig')

result_csv_path, result_excel_path

결국 ChatGpt는 우리가 던져준 프롬프트를 활용해서, 자체적으로 Python코드를 만들어서 우리가 요구한 작업을 실행한다는 사실을 알 수 있습니다. 물론 위 코드를 그대로 쥬피터노트북에서 실행해보면 원하는 결과대로 나오지 않을 것 입니다. 왜냐면 특정 파일 경로 등을 맞도록 설정해야 하기 때문입니다.

순위 sigun 매매변동률 전세변동률 과거 ymd 최근 ymd
1 서울특별시 성동구 2.101169 1.375568 2024-06-17 2024-07-15
2 경기도 과천시 1.763923 -0.4727 2024-06-17 2024-07-15
3 서울특별시 송파구 1.509875 0.418271 2024-06-17 2024-07-15
4 서울특별시 서초구 1.475557 0.688244 2024-06-17 2024-07-15
5 서울특별시 마포구 1.379568 0.813187 2024-06-17 2024-07-15
6 서울특별시 용산구 1.321282 0.919121 2024-06-17 2024-07-15
7 경기도 성남시 분당구 1.240118 0.09165 2024-06-17 2024-07-15
8 서울특별시 서대문구 1.074636 0.845956 2024-06-17 2024-07-15
9 서울특별시 강동구 1.028731 0.411478 2024-06-17 2024-07-15
10 서울특별시 광진구 1.012475 0.670721 2024-06-17 2024-07-15
11 서울특별시 강남구 0.962672 0.611015 2024-06-17 2024-07-15
12 서울특별시 영등포구 0.957725 1.204028 2024-06-17 2024-07-15
13 서울특별시 은평구 0.937031 1.172291 2024-06-17 2024-07-15
14 경상북도 상주시 0.893247 0.182209 2024-06-17 2024-07-15
15 서울특별시 성북구 0.835156 0.784624 2024-06-17 2024-07-15
16 서울특별시 종로구 0.827422 0.834918 2024-06-17 2024-07-15
17 서울특별시 동작구 0.810815 0.741646 2024-06-17 2024-07-15
18 서울특별시 양천구 0.800882 0.94678 2024-06-17 2024-07-15
19 서울특별시 동대문구 0.778245 0.589677 2024-06-17 2024-07-15
20 서울특별시 중구 0.756283 0.893084 2024-06-17 2024-07-15
21 서울특별시 강서구 0.747004 0.733155 2024-06-17 2024-07-15
22 서울특별시 구로구 0.584111 0.793598 2024-06-17 2024-07-15
23 경기도 수원시 영통구 0.560351 0.570536 2024-06-17 2024-07-15
24 경상북도 영천시 0.555215 -0.04762 2024-06-17 2024-07-15
25 서울특별시 중랑구 0.550523 0.634832 2024-06-17 2024-07-15
26 인천광역시 중구 0.544279 0.329168 2024-06-17 2024-07-15
27 경기도 부천시 원미구 0.48473 0.973946 2024-06-17 2024-07-15
28 충청남도 보령시 0.484326 0.442851 2024-06-17 2024-07-15
29 경기도 성남시 수정구 0.47354 0.461111 2024-06-17 2024-07-15
30 서울특별시 관악구 0.470682 0.690718 2024-06-17 2024-07-15
31 서울특별시 금천구 0.462419 0.747206 2024-06-17 2024-07-15
32 강원도 춘천시 0.45942 0.394711 2024-06-17 2024-07-15
33 전라북도 전주시 덕진구 0.45537 0.405595 2024-06-17 2024-07-15
34 경기도 부천시 소사구 0.437921 0.663567 2024-06-17 2024-07-15
35 충청남도 논산시 0.437125 0.122149 2024-06-17 2024-07-15
36 경기도 부천시 오정구 0.425423 0.637747 2024-06-17 2024-07-15
37 경기도 수원시 팔달구 0.411332 0.630335 2024-06-17 2024-07-15
38 경기도 용인시 수지구 0.402098 0.445815 2024-06-17 2024-07-15
39 전라북도 전주시 완산구 0.395334 0.259094 2024-06-17 2024-07-15
40 경기도 화성시 0.38493 0.327784 2024-06-17 2024-07-15
41 경기도 수원시 장안구 0.37922 0.496631 2024-06-17 2024-07-15
42 경상남도 진주시 0.364963 -0.2641 2024-06-17 2024-07-15
43 경기도 군포시 0.355057 0.404599 2024-06-17 2024-07-15
44 경기도 성남시 중원구 0.352912 0.615808 2024-06-17 2024-07-15
45 경기도 시흥시 0.343689 0.976613 2024-06-17 2024-07-15
46 경기도 수원시 권선구 0.316162 0.462155 2024-06-17 2024-07-15
47 서울특별시 노원구 0.309925 1.059631 2024-06-17 2024-07-15
48 인천광역시 남동구 0.305365 0.497263 2024-06-17 2024-07-15
49 경기도 광명시 0.298213 0.817213 2024-06-17 2024-07-15
50 경상북도 문경시 0.287728 0.276575 2024-06-17 2024-07-15
51 서울특별시 강북구 0.263254 0.802341 2024-06-17 2024-07-15
52 충청북도 음성군 0.263094 0.430065 2024-06-17 2024-07-15
53 경기도 하남시 0.261897 0.395094 2024-06-17 2024-07-15
54 전라북도 남원시 0.261336 0.206467 2024-06-17 2024-07-15
55 경상북도 안동시 0.252758 0.239538 2024-06-17 2024-07-15
56 인천광역시 부평구 0.250527 0.523468 2024-06-17 2024-07-15
57 인천광역시 미추홀구 0.242895 0.375401 2024-06-17 2024-07-15
58 인천광역시 계양구 0.240696 0.303201 2024-06-17 2024-07-15
59 경상북도 영주시 0.238476 0.093004 2024-06-17 2024-07-15
60 경기도 의왕시 0.228904 0.16234 2024-06-17 2024-07-15
61 강원도 동해시 0.227835 0.029776 2024-06-17 2024-07-15
62 인천광역시 서구 0.224568 0.869232 2024-06-17 2024-07-15
63 강원도 원주시 0.203475 0.182943 2024-06-17 2024-07-15
64 경기도 안양시 동안구 0.202429 -0.39335 2024-06-17 2024-07-15
65 경기도 고양시 덕양구 0.195114 0.887892 2024-06-17 2024-07-15
66 경기도 여주시 0.165374 0.182855 2024-06-17 2024-07-15
67 인천광역시 동구 0.162487 0.126177 2024-06-17 2024-07-15
68 경기도 구리시 0.137669 0.539177 2024-06-17 2024-07-15
69 서울특별시 도봉구 0.132856 0.385507 2024-06-17 2024-07-15
70 경기도 포천시 0.129873 0.213822 2024-06-17 2024-07-15
71 경기도 동두천시 0.124527 0.211947 2024-06-17 2024-07-15
72 경기도 김포시 0.123453 0.887042 2024-06-17 2024-07-15
73 경상북도 김천시 0.12099 -0.05585 2024-06-17 2024-07-15
74 충청남도 계룡시 0.120736 0.268134 2024-06-17 2024-07-15
75 인천광역시 연수구 0.111328 0.183858 2024-06-17 2024-07-15
76 전라북도 정읍시 0.108208 0.035697 2024-06-17 2024-07-15
77 충청북도 제천시 0.101242 -0.07571 2024-06-17 2024-07-15
78 울산광역시 중구 0.088842 0.156886 2024-06-17 2024-07-15
79 충청남도 서산시 0.086595 -0.11455 2024-06-17 2024-07-15
80 전라남도 목포시 0.068383 -0.00091 2024-06-17 2024-07-15
81 경기도 용인시 기흥구 0.059252 0.302723 2024-06-17 2024-07-15
82 경기도 남양주시 0.056739 0.198718 2024-06-17 2024-07-15
83 경상남도 김해시 0.040126 -0.16523 2024-06-17 2024-07-15
84 울산광역시 북구 0.033704 0.11835 2024-06-17 2024-07-15
85 경기도 용인시 처인구 0.032681 -0.02857 2024-06-17 2024-07-15
86 충청남도 천안시 동남구 0.026189 0.014294 2024-06-17 2024-07-15
87 경상남도 창원시 성산구 0.017717 0.052552 2024-06-17 2024-07-15
88 경상남도 창원시 마산회원구 0.015882 -0.17764 2024-06-17 2024-07-15
89 충청북도 충주시 0.014869 -0.00672 2024-06-17 2024-07-15
90 강원도 삼척시 0.013159 -0.13017 2024-06-17 2024-07-15
91 경상남도 밀양시 0.011937 0.012877 2024-06-17 2024-07-15
92 충청남도 천안시 서북구 0.010897 -0.16772 2024-06-17 2024-07-15
93 경상남도 창원시 의창구 0.005967 -0.04755 2024-06-17 2024-07-15
94 경기도 양주시 0.004637 0.244038 2024-06-17 2024-07-15
95 울산광역시 남구 0.003028 0.00661 2024-06-17 2024-07-15
96 경기도 의정부시 0.00193 0.4243 2024-06-17 2024-07-15
97 전라북도 김제시 -3.45E-05 -0.01949 2024-06-17 2024-07-15
98 경상북도 포항시 남구 -0.00084 -0.04107 2024-06-17 2024-07-15
99 부산광역시 기장군 -0.00191 0.018575 2024-06-17 2024-07-15
100 부산광역시 서구 -0.00474 0.196203 2024-06-17 2024-07-15
101 전라남도 무안군 -0.00475 -0.17317 2024-06-17 2024-07-15
102 경상북도 경주시 -0.01119 -0.00885 2024-06-17 2024-07-15
103 광주광역시 서구 -0.01811 -0.13157 2024-06-17 2024-07-15
104 경기도 안산시 단원구 -0.03176 0.578245 2024-06-17 2024-07-15
105 경기도 광주시 -0.03454 0.188355 2024-06-17 2024-07-15
106 경기도 안양시 만안구 -0.03761 0.138068 2024-06-17 2024-07-15
107 충청북도 청주시 서원구 -0.04534 -0.00267 2024-06-17 2024-07-15
108 경상남도 창원시 마산합포구 -0.04721 -0.04936 2024-06-17 2024-07-15
109 경기도 안산시 상록구 -0.048 0.208318 2024-06-17 2024-07-15
110 제주특별자치도 서귀포시 -0.04928 -0.03986 2024-06-17 2024-07-15
111 광주광역시 북구 -0.05513 -0.00408 2024-06-17 2024-07-15
112 충청북도 청주시 청원구 -0.05546 0.012882 2024-06-17 2024-07-15
113 경상남도 창원시 진해구 -0.06468 -0.08294 2024-06-17 2024-07-15
114 경기도 오산시 -0.06738 0.286773 2024-06-17 2024-07-15
115 충청북도 청주시 상당구 -0.07573 -0.12235 2024-06-17 2024-07-15
116 전라남도 나주시 -0.07775 0.002789 2024-06-17 2024-07-15
117 충청남도 공주시 -0.07968 0.18209 2024-06-17 2024-07-15
118 울산광역시 동구 -0.08273 0.122027 2024-06-17 2024-07-15
119 대전광역시 유성구 -0.08471 -0.30499 2024-06-17 2024-07-15
120 경상남도 사천시 -0.09914 0.058234 2024-06-17 2024-07-15
121 부산광역시 부산진구 -0.11169 -0.03607 2024-06-17 2024-07-15
122 부산광역시 동래구 -0.11173 -0.10935 2024-06-17 2024-07-15
123 대전광역시 대덕구 -0.11174 -0.1006 2024-06-17 2024-07-15
124 광주광역시 남구 -0.12148 0.099107 2024-06-17 2024-07-15
125 충청남도 아산시 -0.12243 -0.03794 2024-06-17 2024-07-15
126 대전광역시 중구 -0.12374 -0.0951 2024-06-17 2024-07-15
127 대전광역시 서구 -0.1251 -0.11375 2024-06-17 2024-07-15
128 부산광역시 사하구 -0.14112 0.056653 2024-06-17 2024-07-15
129 대전광역시 동구 -0.143 -0.32325 2024-06-17 2024-07-15
130 전라남도 순천시 -0.14535 -0.07185 2024-06-17 2024-07-15
131 부산광역시 동구 -0.14687 0.020775 2024-06-17 2024-07-15
132 광주광역시 동구 -0.15693 0.006602 2024-06-17 2024-07-15
133 울산광역시 울주군 -0.16462 0.122623 2024-06-17 2024-07-15
134 부산광역시 북구 -0.16499 0.225173 2024-06-17 2024-07-15
135 충청남도 예산군 -0.17498 -0.39654 2024-06-17 2024-07-15
136 경기도 고양시 일산동구 -0.19039 0.379491 2024-06-17 2024-07-15
137 제주특별자치도 제주시 -0.19084 -0.15329 2024-06-17 2024-07-15
138 경기도 파주시 -0.20293 0.00031 2024-06-17 2024-07-15
139 경기도 안성시 -0.20647 -0.6647 2024-06-17 2024-07-15
140 부산광역시 금정구 -0.20933 0.008353 2024-06-17 2024-07-15
141 부산광역시 중구 -0.21419 -0.16515 2024-06-17 2024-07-15
142 부산광역시 강서구 -0.21674 -0.21758 2024-06-17 2024-07-15
143 전라북도 군산시 -0.22095 -0.04934 2024-06-17 2024-07-15
144 부산광역시 수영구 -0.22255 -0.10453 2024-06-17 2024-07-15
145 경상북도 칠곡군 -0.23538 -0.04147 2024-06-17 2024-07-15
146 경기도 평택시 -0.23906 -0.09364 2024-06-17 2024-07-15
147 경상남도 통영시 -0.24017 -0.12448 2024-06-17 2024-07-15
148 광주광역시 광산구 -0.25023 -0.19666 2024-06-17 2024-07-15
149 충청남도 홍성군 -0.256 -0.339 2024-06-17 2024-07-15
150 강원도 태백시 -0.27353 -0.11861 2024-06-17 2024-07-15
151 충청북도 청주시 흥덕구 -0.27971 0.142242 2024-06-17 2024-07-15
152 전라남도 여수시 -0.30294 -0.04629 2024-06-17 2024-07-15
153 전라북도 익산시 -0.32165 -0.39383 2024-06-17 2024-07-15
154 부산광역시 영도구 -0.34496 0.18673 2024-06-17 2024-07-15
155 충청남도 당진시 -0.35291 -0.41617 2024-06-17 2024-07-15
156 전라남도 광양시 -0.35384 -0.33636 2024-06-17 2024-07-15
157 부산광역시 연제구 -0.3605 0.06003 2024-06-17 2024-07-15
158 대구광역시 북구 -0.36135 -0.35417 2024-06-17 2024-07-15
159 부산광역시 남구 -0.36261 0.160966 2024-06-17 2024-07-15
160 경기도 이천시 -0.36764 0.116272 2024-06-17 2024-07-15
161 경상북도 포항시 북구 -0.36878 -0.41366 2024-06-17 2024-07-15
162 부산광역시 사상구 -0.39541 0.175486 2024-06-17 2024-07-15
163 경기도 고양시 일산서구 -0.41116 0.422322 2024-06-17 2024-07-15
164 부산광역시 해운대구 -0.41324 -0.14344 2024-06-17 2024-07-15
165 경상남도 양산시 -0.41723 -0.2598 2024-06-17 2024-07-15
166 대구광역시 동구 -0.43197 -0.15759 2024-06-17 2024-07-15
167 대구광역시 달성군 -0.49056 -0.25932 2024-06-17 2024-07-15
168 대구광역시 수성구 -0.50856 -0.24053 2024-06-17 2024-07-15
169 경상북도 구미시 -0.52811 -0.3275 2024-06-17 2024-07-15
170 대구광역시 달서구 -0.54175 -0.48376 2024-06-17 2024-07-15
171 강원도 속초시 -0.54607 0.897386 2024-06-17 2024-07-15
172 세종특별자치시 -0.58478 -0.28622 2024-06-17 2024-07-15
173 대구광역시 남구 -0.65389 -0.50554 2024-06-17 2024-07-15
174 경상북도 경산시 -0.65844 -0.49138 2024-06-17 2024-07-15
175 대구광역시 중구 -0.69847 -0.25793 2024-06-17 2024-07-15
176 강원도 강릉시 -0.75233 -0.52821 2024-06-17 2024-07-15
177 대구광역시 서구 -0.7906 -0.50033 2024-06-17 2024-07-15
178 경상남도 거제시 -1.16213 -0.81969 2024-06-17 2024-07-15

ChatGpt 아파트시계열 분석을 마치며

이렇게 얻어진 최근4주동안변동률분석.csv 파일과 최근4주동안변동률분석.xlsx 파일을 각각 엑셀에서 조건부서식 등으로 보다 고급지도록 가공합니다.

엑셀에서 가공한 매매변동률
엑셀에서 가공한 매매변동률

이처럼 ChatGpt는 파이썬 코드를 작성할 필요없이 우리가 원하는 작업내용을 앞서 살펴본 프롬프트로 명령하면 자동적으로 파이썬 코드를 작성하여 실행해 줍니다.

이상 ChatGpt로 아파트시계열 분석하기를 해보았습니다.

댓글 남기기

Leave a Comment