계량경제 이론을 이용한 통계 분석 방법론으로는 크게 2가지로 나눌 수 있습니다.
하나는 시계열 회귀분석 방법이고 또 하나는 패널 회귀분석 방법입니다. 시계열 회귀분석은 제가 편의상 사용하는 용어입니다.
여기서 몇 가지 언급을 하자면
1. 일단 두 분석 방법은 데이터의 형태가 완전히 다릅니다. 이걸 먼저 구별할 줄 알아야 하고요.
2. 그리고 또 하나는 시계열 회귀분석은 통상 VECM이라는 모형으로 하는 경우가 많고 패널회귀분석은 고정효과모형과 확률효과모형을 구별하는 정도만 하시면 됩니다.
3. 계량 경제 논문을 제대로 쓰고 싶어서 공부를 하려고 하면 대부분 조금 하다가 좌절을 하게 됩니다.
먼저 일반적인 회귀분석 이론부터 출발해서 백색잡음(white noise), 임의 행보(random walk), 정상(stationary) 시계열과 비정상(non stationary) 시계열, AR, MA 모형 등 이론도 어렵지만 이걸 왜 공부하는지 감을 잡을 수가 없습니다.
다행히 패널회귀분석을 할 경우 앞에 나온 복잡한 이론을 알 필요가 없습니다. 저도 정확히는 모르겠는데 패널회귀분석 이론을 보면 이 부분은 그냥 점프를 하는 것 같습니다.
하여간 패널회귀분석의 경우 정책효과를 검증하는 DID 같은 좀 특별한 분석도 있지만 인과관계를 보는 회귀분석의 경우 고정효과와 확률효과를 선택하는 Housman 검증만 한 다음 회귀분석을 하시면 됩니다.
그래서 여기서는 일단 데이터 형태부터 구별을 한 다음, stata에서 패널회귀분석을 하는 코드를 소개하고 그 다음 시계열 회귀분석에서 복잡한 문제가 발생하는 spurious regression 문제를 간단히 소개하겠습니다.
1) 데이터 형태
시계열 회귀분석은 시간별로 하나의 자료만 있는 반면 패널회귀분석은 개체라는 개념이 있어 개체별로 시간별 자료가 있습니다. 아래 표를 보시면 바로 알 수 있습니다.
시계열 자료 | 패널 자료 | |||||
시간 | 종속 | 독립1 | 개체 | 시간 | 종속 | 독립 |
2000 | 국가1 | 2000 | ||||
2001 | 2001 | |||||
... | ... | |||||
2003 | 2023 | |||||
국가2 | 2000 | |||||
2001 | ||||||
... | ||||||
2023 | ||||||
국가3 | 2000 | |||||
2001 | ||||||
... | ||||||
2023 |
시계열 자료를 보면 아시겠지만 2000년부터 2023년까지 자료를 측정해도 기껏해야 자료수가 24개 밖에 되지 않습니다. 표본수가 24개면 통계 분석이 사실상 불가능합니다.
그러나 패널의 경우 2000년부터 2023년까지 매년 측정해도 측정 국가가 50개라고 하면 50*24=120개가 나옵니다. 어느 정도 할 만하죠. 주식시장의 경우 개체가 상장회사라 하면 200개 상장회사를 조사하면 표본 수가 480개인 자료가 나옵니다.
그래서 시계열 자료를 분석하려고 하면 년도별로 측정하지 않고 최소한 달별로 측정할 수 있는 자료를 사용해야 합니다. 달로 측정하면 2000년부터 2003년까지 12*24하면 약 250개 이상 표본 수를 확보할 수 있습니다.
2. stata 패널회귀분석 코드
앞에서 이야기했지만 패널회귀분석을 할 경우 복잡한 계량경제 이론을 알 필요가 없습니다. 이 부분은 사실 제가 확신을 할 수 없는 부분입니다. 앞으로 책을 더 본 다음 여기에 해당하는 이론 등이 있으면 소개하겠습니다.
일단 Hausman 검증을 해서 고정효과와 확률효과에서 하나만 선택해서 하면 됩니다.
이걸 할 수 있는 stata do file을 소개하겠습니다.
stata에서 데이터를 띄운 다음 다음의 파일을 do file로 저장한 다음 돌리면 됩니다.
xtset 개체 시간
xtreg 종속변수 독립변수1 독립변수2 독립변수3 , fe
estimate store FE
xtreg 종속변수 독립변수1 독립변수2 독립변수3, re
estimate store RE
hausman FE RE
먼저 xtset은 stata에 이 데이터가 패널회귀분석 데이터임을 알려주는 명령어입니다. 시계열 데이터에서 생각보다 힘든 부분이 시간 변수를 지정하는 부분입니다.
즉 시간에 해당하는 변수를 stata가 알 수 있는 형태로 변형을 해줘야 합니다. 그럼 다음 xtset 개체 시간 명령어를 실시해야 합니다.
fe은 당연히 고정효과, 즉 fixed effect, re은 확률효과, 즉 random effect을 나타내는 명령어입니다.
보시다시피 먼저 고정효과와 확률효과 패널회귀분석 둘 다 먼저 돌려야 합니다. 여기서 나온 결과를 가지고 Hausman 검증을 합니다. 그래서 귀무가설이 채택되면 확률효과, 대립가설이 채택되면 고정효과 패널회귀분석 결과만 논문에 넣으면 됩니다.
고정효과든 확률효과든 종속변수 하나 당 하나의 회귀분석 표 밖에 안 나오기 때문에 논문 쓰실 때 종속변수 여러 개를 선정하시는 것이 좋습니다.
3. 유사회귀(spurious regression)
앞에서 이야기 했지만 시계열 회귀분석을 하려면 복잡한 계량경제 이론을 이해해야 합니다.
그 이유 중에 대표적인 하나가 유사회귀의 존재입니다.
대부분 시계열 자료는 비정상 시계열 형태를 가지고 있습니다. 비정상 시계열이라는 시간에 따라 평균과 공분산행렬의 모양이 뚜렷하게 변하는 자료를 이야기합니다.
GDP, 통화량, 물가, 아파트 시세 등 대부분 시계열 자료는 시간에 따라서 상승하거나 하락하는 형태를 보입니다. 따라서 비정상 시계열을 취하고 있습니다.
이 경우 대부분 한번 차분하면 정상시계열 자료로 변합니다.
비정상 시계열 자료를 가지고 회귀분석을 하면 어떤 현상이 일어날까요. 유사회귀라는 골치 아픈 문제가 생깁니다.
대부분 시계열 자료는 종속변수든, 독립변수든 시간 t에 따라 상승하거나 하락하기 때문에 회귀분석하면 매우 유의적인 결과가 나옵니다. 즉 t 값이 매우 크고 p 값이 매우 작은 현상이 일어납니다.
종속변수와 독립변수가 상식적으로 아무런 논리적인 인과관계가 없어도 그렇게 나온다는 것이죠.
다음의 예를 한번 보시죠.
변수 하나는 한국의 아동의 초등학교 1학년부터 고등학교 3학년까지 용돈이라 하죠. 또 하나의 변수는 한국 경제의 GDP, 또는 미국의 GDP, 아니면 아프리카 소국의 GDP 변화라고 하죠.
그럼 한국 아동의 용돈의 변화가 한국, 또는 미국, 또는 아프리카 소국의 GDP 변화에 영향을 줄까요?
아니면 반대로 한국의 경제 상황, 미국의 경제상황, 또는 아프리카 소국의 경제상황이 한국 아동의 용돈 변화에 영향을 줄까요?
아마 한국 경제 상황의 변화는 한국 아동의 용동 변화에 약간의 영향을 미칠 수는 있을겁니다. 그러나 한국 경제가 안 좋아도 아동의 용돈 수준은 올라갑니다. 아동의 용돈 수준이 올라가는 주 이유는 아동의 성인으로 성장함에 따라 성인 수준의 용돈 수준에 가까워지기 때문입니다.
즉, 아동의 용돈 변화와 한국, 미국, 또는 기타 나라의 경제상황과는 논리적 인과관계과 전혀 없음에도 불구하고 시간에 따라 그 수준이 점점 올라간다는 사실에 의해 매우 높은 상관관계, 또는 회귀분석을 할 경우 인과관계가 있다고 나온다는 것이죠. 이게 가장 대표적인 유사회귀관계(spurious regression)의 예입니다.
또 다른 유명한 예가 있습니다. 여러분의 컴퓨터에서 비정상 random walk을 시뮬레이션으로 뽑아냅니다. 그리고 미국에서 어떤 사람이 여러분의 작업과 전혀 관계없이 자기 컴퓨터에서 비정성 random walk을 뽑아냅니다. 그럼 이 2개의 random walk의 상관관계는 0에 가깝게 나와야 합니다. 그럼에도 불구하고 상관관계는 높게 나옵니다.
컴퓨터에서 random walk을 뽑아내는 것은 매우 쉬운 작업입니다. R에서 작업하면 다양한 random walk을 금방 뽑아 낼 수 있습니다. 다음 기회가 있으면 R에서 random walk을 뽑아내는 코드를 소개하겠습니다.
random walk과 백색소음(white noise)는 다릅니다.
하여간 이런 유사회귀 현상은 표본수가 커질수록 더욱 심각하게 나타나는 경향이 있습니다.
이 경우 계량경제에서는 어떻게 해결할까요.
1) 비정상시계열을 정상시계열로 변환하여 해결한다. 대부분은 비정상 시계열은 1차 차분하면 정상시계열을 변합니다.
즉 비정상 시계열
Y(t)=b0+b1*X(t)+e(t)
을 1차 차분하여
[Y(t)-Y(t-1)]=b1*[X(t)-X(t-1)]+[e(t)-e(t-1)]
dY(t)=b1*dX(t)+de(t)
로 만들어 회귀분석을 합니다.
2) 비정상시계열을 그대로 사용하는 방법이 있습니다. 종속변수와 독립변수간에 공적분(cointegration) 관계가 있으면 비정상 시계열을 가지고 직접 회귀분석을 할 수 있습니다.
공적분 관계가 있는 경우 오차항이 에러 교정(error correction) 형태를 띄고 있어야 합니다.
stata 에서는 vecm 명령어를 이용하여 회귀분석을 할 수 있습니다.
'계량경제 > 시계열회귀분석' 카테고리의 다른 글
정상성검증2: 비정상프로세스의 유형 (0) | 2024.06.20 |
---|---|
정상시계열(안정적시계열)검증1: Random Walk (0) | 2024.06.18 |
공적분2 (0) | 2024.06.13 |
white noise, AR(1), Random walk (0) | 2024.06.09 |
공적분관계1 (2) | 2024.06.05 |