Dr.부동산

[시장분석론] 0514 STATA, SAS 실증분석 본문

부동산정책/부동산시장분석론

[시장분석론] 0514 STATA, SAS 실증분석

anony mous 2019. 5. 14. 15:51

통계프로그램 명령어(보완) (2).pdf
0.08MB

통계프로그램 STATA, SAS 명령어 
- 실증분석모형 설정하기 

1. 실증분석모형 설정하기 지역을 수도권(서울 seoul, 인천 incheon, 경기 kggi)
종속변수를 주택매매가격(hprice1)
설명변수를 주택유형(=아파트 apt) 주택면적(floor_area) 난방방식(=지역난방 d_reg_heat)
출입구형태(=단독출입구 d_exc_ent)로 설정한다고 가정함.

즉, 헤도닉가격 회귀모형은,

설명 :
-b1의 추정계수의 의미. 
-아파트 가격에 얼마나 영향을 주는지 b2에서 영향을 받는다. 
-b2에서 주택면적에 대해 로그 floorarea로 설정을 해줘도 된다. 
-난방방식, (지역난방 = 1, 개별난방 = 0 더미변수 ) b3에 영향 
-출입구형태 b4에 영향
-시군구에 대한 변수는 reg에서 확인. (서울, 인천, 경기 등 ) => 1,0,0 (서울 더미) => 0,1,0 (인천 더미) 종속되어있음. 다중공선성

use "c:\class\data\housing_survey_2017_class.dta", clear
keep if seuol == 1 | incheon == 1 | kggi == 1   /*서울이 1이거나, 인천이 1이거나, 경기가 1인 데이터만 keep하고 나머지는 없앰.*/
quietly regr hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi /* quietly 프로그램내에서 실행, regr은 regress와 같음*/
gen miss = 0    /* miss가는 변수를 만들고 0을 줌. miss는 모든 표본 관찰치에서 생성이 된다. */
recode miss 0=1 if e(sample) /* miss라는 변수에 대해서 다시 코딩하라. 추정에 이용되었으면(e), miss변수값이 0에서 1이 된다.*/
drop if miss == 0   /* miss가 0을 가질 경우 표본에서 뺀다. 추정에 사용되는 관찰값만 골라내는 명령어 */
summarize hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi /*적정한지 판단 */
regress hprice1 floor_area d_reg_heat d_exc_ent incheon kggi  /*리그레스=회귀분석, 종속변수, 설명변수 순서로 값을 줌 */


SAS
proc import datafile ="c:\class\data\housing_survey_2017_class.dta"
array kk[*] 
hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi;
do i=1 to dim(kk); 
if kk[i]= . then delete; 
proc means; var hprice1 apt floor_area d_reg_heat d_exc_ent seoul incheon kggi;  /* var 다음에 있는 변수를 산출하라 */
proc reg; model hprice1 = apt floor_area d_reg_heat d_exc_ent incheon kggi;  /* regr와 동일한 명령어. 모델 '='기준으로 왼쪽이 종속, 오른쪽이 설명변수이다.  */
run; // 실행 

기초통계량 분석 : 관찰자수, 평균, 표준편차, 최소값, 최대값

2. 자료 불러오기 자료가 “c:\class\data”라는 폴더에 들어있다면
STATA
use "c:\class\data\housing_survey_2017_class.dta", clear clear : 이전에 사용했던 자료를 모두 없애라는 명령어

SAS
proc import out = a1 datafile = "c:\class\data\housing_survey_2017_class_v1.dta"; run; c:\class\data\housing_survey_2017_class_v1.dta를 끌어들여(import) a1이라는 공간에 배치하라는 명령어 proc import datafile = "c:\class\data\housing_survey_2017_class_v1.dta" out = a1 replace; 라고 사용할 수도 있음. 

3. 수도권지역 표본만 고르기
STATA keep if seoul == 1 | incheon == 1 | kggi == 1 | 는 또는 의미 if 다음에 특정 변수를 숫자값으로 지정할 때는 항상 ==를 이용
서울, 인천, 경기 표본만을 보관(keep)하라는 명령어 SAS data a2; set a1; if seoul = 1 or incheon = 1 or kggi = 1; a1이라는 공간에 있는 자료를 a2라는 공간으로 이동시키고 a2라는 공간에 서울, 인천, 경기 표본만을 보관하라는 명령어

4. 자료 정비하기
4.1 추정에 이용되는 모든 변수들의 값이 관찰되어야 함.

STATA
quietly regr hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi
gen miss=0
recode miss 0=1 if e(sample)
drop if miss == 0
*hprice1을 apt floor_area d_reg_heat d_exc_ent incheon kggi에 대해 결과값이 나타나지 않게(quietly) 회귀분석하고 해당 회귀분석에 사용되지 않는 표본들은 모두 제거(drop)하라 는 명령어 

SAS
array kk[*]
hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi;
do i=1 to dim(kk);
if kk[i]= . then delete;
*hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi에 대한 변수들 중 관찰되지 않는 변수( .)들이 있는 표본은 제거(delete)하라는 명령어

4.2 기초통계량 보기
STATA
summarize hprice1 apt floor_area d_reg_heat d_exc_ent seoul incheon kggi
*summarize는 기초통계량을 보이라는 명령어 

SAS
proc means; var hprice1 apt floor_area d_reg_heat d_exc_ent seoul incheon kggi;
*proc means: STATA와 동일한 의미의 명령어 SAS에서는 proc means; 다음에 변수를 의미하는 var을 항상 써 주어야 함.

5. 헤도닉모형 추정하기

STATA
regress hprice1 apt floor_area d_reg_heat d_exc_ent incheon kggi
* regress는 최소자승법(OLS)로 모형을 추정하라는 명령어
* 제일 앞에 종속변수(hprice1)가 입력되어야 하며 그 다음 설명변수들이 입력됨.
* 수도권은 서울, 인천, 경기로 구성되므로 다른 조건이 일정할 때 거주지역이 주택가격에 미치는 영향을 측정하기 위해 incheon, kggi 더미를 추가함. 

* incheon, kggi 더미에 대한 추정계수는 서울에 비해 인천이나 경기에 입지한 주택가격은 얼마나 차이가 나는가를 보여줌.
* seoul, incheon, kggi 더미를 모두 포함시키면 셋 중 하나는 추정되지 않음.
* 종속변수를 주택매매가격의 자연로그값으로 설정할 수도 있음. 이때는 hprice1 대신 lhprice1을 이용함.

SAS
proc reg; model hprice1 = apt floor_area d_reg_heat d_exc_ent incheon kggi;
run;
* proc reg는 STATA의 regress와 동일한 명령어 * model는 추정모형을 설정하라는 명령어
* 추정모형 종속변수 = 설명변수1, 설명변수2, ... 등으로 설정