본문 바로가기

프로젝트/시각화

[Python] 우리나라 실질 GDP와 실질 GDI의 차이에 대한 분석

오늘은 우리나라의 실질 GDP실질 GDI를 비교 분석하여 시각화해보겠습니다.

 

도출 방식이 이전 시간의 포스팅과 매우 유사하므로 기본적인 설명은 모두 제했습니다.

 

이해가 안 되는 부분이 있다면 이전 포스팅을 참고하시길 바랍니다.

 

https://bigdata-doctrine.tistory.com/20

 

[Python] 우리나라의 GDP와 GNP의 연도별 변화추세

오늘은 1961년부터 2021년까지의 우리나라의 명목 GNP와 명목 GDP 데이터를 살펴보고 그 차이에 대해 관찰해보겠습니다. 명목 데이터를 사용하는 이유는 사이트에 GNP 데이터가 없기 때문입니다. (아

bigdata-doctrine.tistory.com

 

https://bigdata-doctrine.tistory.com/21

 

[Python] 우리나라 GDP와 GNP의 차이에 대한 분석

https://bigdata-doctrine.tistory.com/20 [Python] 우리나라의 GDP와 GNP의 연도별 변화추세 오늘은 1961년부터 2021년까지의 우리나라의 명목 GNP와 명목 GDP 데이터를 살펴보고 그 차이에 대해 관찰해보겠습니..

bigdata-doctrine.tistory.com

 

이전 시간에 명목 GNP = 명목 GNI라고 제가 설명을 드린 바가 있습니다.

 

위의 규칙에 따라서 명목 GDP 또한 명목 GDI와 같습니다.

 

그렇다면 실질 GDP실질 GDI도 과연 같을까요?

 

다르다면 어떠한 요소에 의해 둘의 차이가 나타나는 걸까요?

 

정답을 먼저 말하자면 둘의 차이는 교역조건에 따른 실질무역손익에 의해 발생합니다.

 

밑에서 차근차근 살펴보도록 합시다.

 

데이터는 ecos 한국은행 경제통계시스템에서 수집할 수 있습니다.
https://ecos.bok.or.kr/

 

한국은행경제통계시스템

 

ecos.bok.or.kr

 

 

데이터 수집


ecos사이트에서 GDP를 검색하셔서 "경제활동별 GDP 및 GNI(원계열, 실질, 분기 및 연간)"로 들어갑니다.

 

그 후 GDP, 교역조건 변화를 반영한 실질무역손익, GDI를 선택하여 받아줍니다.

 

데이터를 내려받고 정리하는 방법은 이전 포스팅을 통해 자세히 확인하실 수 있습니다.

 

 

데이터프레임 생성


내려받은 자료를 데이터프레임으로 만들어줍니다.

import pandas as pd

eco = pd.read_csv("economy_data3.csv", encoding="CP949")
eco

eco-출력-결과
eco 출력 결과

 

연도가 columns에 있는 데이터는 보기도 어렵고 분석하기도 쉽지 않으니 행열을 바꾸어줍니다.

eco1 = eco.transpose() 
eco1.rename(columns=eco1.iloc[0], inplace=True) 
eco1.drop(eco1.index[0], inplace=True)
eco1

eco1-출력-결과
eco1 출력 결과

 

 

데이터프레임 열 이름 변경, 숫자 변환


한글은 matplotlib으로 시각화를 할 때 깨져 보이므로 열 이름을 영어로 바꾸어줍시다.

eco2 = eco1.rename(columns={"국내총생산(시장가격, GDP)": "GDP", "국내총소득(GDI)": "GDI",
                            "교역조건 변화를 반영한 실질무역손익": "RTG"}) 

eco2 = eco2[["GDP", "GDI", "RTG"]]
eco2

eco2 출력 결과
eco2 출력 결과

"교역조건 변화를 반영한 실질무역손익"은 마땅한 영어 약자를 찾지 못하여 "Real Trade Gains"를 줄여 "RTG"로 바꾸었습니다.

 

보기 좋게 GDP, GDI, RTG 순으로 배치해둡니다.

 

각 데이터의 타입은 어떻게 될까요?

eco2.info()

출력-결과
출력 결과

모든 데이터가 object 타입이므로 분석하기 쉽게 숫자 타입(실수형)으로 변환해줍니다.

for c in eco2.columns:
    eco2[c] = eco2[c].str.replace(",", "").astype(float)
    
eco2.info()

출력-결과
출력 결과

모두 실수형(float64)로 잘 변환이 된 것을 볼 수 있습니다.

 

 

실질 GDP & 실질 GDI 시각화


데이터를 모두 분석하기 좋게 변환했으니 두 지표 그래프를 그려 비교해봅시다.

import matplotlib.pyplot as plt

plt.figure(figsize=(12,8))
eco2["GDP"].plot(label="GDP")
eco2["GDI"].plot(label="GDI")
plt.title("South Korea Real GDP & Real GDI (1960~2021)", size=20)
plt.xlabel("Year")
plt.grid()
plt.legend(fontsize=15)
plt.show()

실질GDP와-실질GDI-출력-결과
실질GDP와 실질GDI 출력 결과

두 지표의 추세는 거의 비슷하지만 약간의 차이가 나는 것을 확인할 수 있습니다.

 

 

이번에는 성장률로 한번 비교를 해볼까요?

eco2["GDP_Growth_Rate"] = eco2["GDP"].pct_change(1)
eco2["GDI_Growth_Rate"] = eco2["GDI"].pct_change(1)

eco2

eco2-출력-결과
eco2-출력-결과

pct_change 함수를 이용하여 전년도 대비 성장률을 계산하여 새로운 열에 넣어줍니다.

 

plt.figure(figsize=(12,8))
eco2["GDP_Growth_Rate"].plot(label="GDP")
eco2["GDI_Growth_Rate"].plot(label="GDI")
plt.title("South Korea Growth Rate of Real GDP & GDI (1960~2021)", size=20)
plt.xlabel("Year")
plt.ylabel("Growth")
plt.grid()
plt.legend(fontsize=15)
plt.show()

두-지표의-성장률-출력-결과
두 지표의 성장률 출력 결과

두 지표의 차이는 무엇에서 기인하는 것일까요?

 

 

교역조건에 따른 실질무역손익과 GNP-GDP 데이터 비교


실질 GDI와 실질 GDP의 차이의 원인을 알아보기 위해 두 지표를 빼서 계산한 후 새로운 열에 넣어줍니다.

eco3 = eco2.copy()
eco3["GDI-GDP"] = eco2["GDI"] - eco2["GDP"]

eco3

eco3-출력-결과
eco3 출력 결과

그런데 데이터프레임을 자세히 보시면 RTG(교역조건에 따른 실질무역손익)과 GDI-GDP가 거의 일치하는 것을 볼 수 있습니다.

 

그래프로 한번 확인해볼까요?

출력 결과

두 지표가 거의 일치하여 겹쳐 보이고 있습니다.

 

그렇다면 위 그래프에서 RTG로 표현한 교역조건에 따른 실질무역손익은 무엇을 의미하는 걸까요?

 

교역조건이란 두 나라 사이에 거래되는 재화의 가격의 비율(수출 가격지수/수입 가격지수)입니다.

 

만약 환율이 하락하여 수출 가격지수가 상승하고 수입 가격지수가 하락한다면 교역조건은 개선(상승)됩니다. 

 

교역조건이 개선된다는 것의 의미는 우리나라가 1 단위의 생산물을 수출하여 벌어들인 돈으로 수입할 수 있는 수입재의 양이 많아졌다는 것을 의미합니다.

 

우리나라는 90년대 중반까지 경제성장에 따라 교역조건에 따른 실질무역손익이 점차 증가하다가 이후 2010년대 초까지 급격하게 감소하는 형태를 보이고 있습니다.

 

그러다가 2010년대 중반까지 또 급작스럽게 상승했다가 감소하는 추세를 보이고 있습니다.

 

교역조건 악화에는 고유가, 무역손실, 환율 상승 등 다양한 요인이 영향을 미칩니다.

 

실질 GDI는 실질 GDP에 교역조건에 따른 실질무역손익을 더한 값입니다.

 

실질 GDI는 실질적으로 벌어들인 소득을 의미합니다.

 

교역조건이 개선되면 내가 가진 돈으로 더 많은 수입재를 구매할 수 있으므로, 즉 화폐 가치가 상승하므로 실질 GDI가 증가하는 효과를 얻습니다.

 

이전에 명목 GDI=명목 GDP라고 설명드린 적이 있습니다.

 

명목이 앞에 붙는 경제지표의 경우 화폐 단위로 추산한 것이기 때문에 수출하여 벌어들인 돈(화폐), 수입에 사용한 돈(화폐)에만 관심이 있습니다.

 

반면 실질이 앞에 붙는 경제지표의 경우에는 실물 단위로 추산한 것이기 때문에 수출하여 벌어들인 돈으로 얼마큼의 수입재(실물)를 수입할 수 있는 것인지에 관심이 있는 것입니다.

 

그렇다면 교역조건에 따른 실질무역손익과 GDI-GDP가 정말 일치하는지 다음 그래프를 활용하여 살펴보겠습니다.

error = eco3["RTG"] - eco3["GDI-GDP"] 
plt.figure(figsize=(12,8)) 
error.plot(label="error") 
plt.title("South Korea Real RTG & GDI-GDP Difference (1960~2021)", size=20) 
plt.xlabel("Year") 
plt.legend() 
plt.grid() 
plt.show()

출력-결과
출력 결과

RTG에서 GDI-GDP를 뺀 값을 이용하여 두 지표의 차이를 나타내 보았습니다.

 

약간의 오차가 있지만 +-0.1을 넘기지 않는 것으로 보입니다. 

 

정말 그런지 max값과 min값을 도출하여 확인해보겠습니다.

error.describe()

출력-결과
출력-결과

예측한 대로 오차가 +-0.1을 넘기지 않는 것을 확인할 수 있습니다.

 

오차는 추계 과정에서의 반올림 처리에 의해 발생한 것으로 보입니다.

 

 


오늘은 우리나라의 실질 GDP 실질 GDI를 비교 분석하여 시각화해보았습니다.

 

그리고 실질 GDP와 실질 GDI의 차이가 교역조건에 따른 실질무역손익에 따른 것이라는 것도 알게 되었습니다.

 

이전 시간에 배운 내용과 합쳐서 생각해보면 실질 GNI=실질 GDP+교역조건에 따른 실질무역손익+실질 NFP라는 것도 알 수 있습니다.

 

밑에 코랩 링크와 파일 남겨놓으니 실습해보세요.

https://colab.research.google.com/drive/1Mvi7Mvcfo6wLtNuLXSBPsh1zISeh4fpb?usp=sharing 

 

우리나라_실질GDP와_실질GDI의_차이에_대한_분석(배포용).ipynb

Colaboratory notebook

colab.research.google.com

economy_data3.csv
0.00MB