BookmarkSubscribeRSS Feed

[ SAS 활용 노하우 ] 데이터 분석 2-3

Started ‎05-31-2021 by
Modified ‎05-31-2021 by
Views 303

 

이번 게시글은 [ SAS 활용 노하우 ] 데이터 분석 2-2의 이어지는 글 입니다. 

 

데이터 분석 2-2에서 정의한대로 새로운 파생변수를 만들고자 합니다.

 

파생변수는 New_Var1부터 7까지 정의하고 그 이외의 분석에 필요한 경우 keep문을 사용해 남기겠습니다.

 

data work.train_data_final;
set work.train_other;

/*1.외부 컨디션*/
New_Var1 = OVERALLQUAL + OVERALLCOND + N_extrequal + N_extercond;

/*2.내부 면적 */
New_Var2 = totalbsmtsf + _1stflrsf + _2ndflrsf + frlivarea;

/*3. 욕실*/
new_var3 = bsmtfullbath + bsmthalfbath + fullbath + halfbath;

/*4.지하실*/
new_var4 = n_bsmtqual + n_bsmtcond + n_bsmtexposure + n_bsmtfintype1;

/*5.토지 상태 */
new_var5 = n_lotshapr + n_landcontour;

/*6. 차 상태 */
new_var6 = n_gargagefinish + n_garagequal + n_gargaecond;

/*7. 지어진 날짜 */
new_var7 = ((2020-yearbuilt) + (2020-yearremodadd)) /2 ;

/*남길 변수 목록 */
Keep N_saleprice /*타겟변수*/
new_var1 new_var2 new_var3 new_var4 new_var5 new_var6 new_var7 /*파생변수*/

masvnrarea bsmtfinsf1 bsmtunfsf enclosedporch fireplaces garagearea garagecars lotarea lotfrontage
screenporch totrmsabvgrd _3ssnporch extercond exterqual exterqual overallcond
overallqual bsmtfullbath bsmthalfbath fullbath halfbath bsmtcond bsmtexposure
bsmtfintype1 bsmtqual /*연속형 변수*/


fence garagetype garageyrblt paveddrive bldgtype
centeralair condition1 electrical exterior1st exterior2nd
fireplacequ fondation functional heatingqc housestyle
kitchenqual landslope lotconfig lotconfig mssubclass mszoning
masvnrtype neighborhood roofstyle salecondition saletype

run;

외부 컨디션 , 내부 면적, 욕실, 지하실, 토지 상태, 토지 상태, 차고 상태, 지어진 날짜를 

new_var1부터 new_var2까지 파생변수로 생성하였습니다.

 

Keep문을 사용해 타겟 변수 , 파생변수, 연속형 변수, 범주형 변수로 구성된 분석 데이터셋이 만들어졌습니다. Missing 값을 제외하고는 1,453개의 데이터와 58개의 변수로 구성되어 있습니다.

 

스크린샷 2021-05-31 오후 10.40.44.png

 

모델 적합

전처리한 내용이 얼마나 효과가 있는지 Lasso모델을 적용하여 분석합니다.

 

Lasso 모델이란?

라쏘(least absolute shrinkage and selection operator, Lasso)는 선형 회귀의 단점을 극복하기 위해 개발된 하나의 방법으로  제약 조건을 통해 일반화된 모형을 찾고 가중치들이 0이 되게 하므로써 그에 해당하는 특성들을 제외해줍니다. 결과적으로 모델에서 가장 중요한 특성이 무엇인지 알게되는 등 모델 해석력이 좋아집니다.

 

proc glmselect data = work.train_data_final plots = aseplot;
class bldgtype condition1 electrical exterior1st exterior2nd fireplacequ
functional heatingqc housestyle kitchenqual landslope lotconfig
mssubclass mszoning masvnrtype neighborhood roofstyle salecondition saletype lotfrontage;

model n_saleprice =
new_var1 new_var2 new_var3 new_var4 new_var5 new_var6 new_var7

masvnrarea bsmtfinsf1 bsmtunfsf enclosedporch fireplaces garagearea garagecars
kitchenabvgr lotarea screenporch totrmsabvgrd _3ssnporch

bldgtype condition1 electrical exterior1st exterior2nd fireplacequ
functional heatingqc housestyle kitchenqual landslope lotconfig
mssubclass mszoning masvnrtype neighborhood roofstyle salecondition saletype lotfrontage

selection=lasso;
store out=new_house_model_lasso;
run;
Version history
Last update:
‎05-31-2021 09:54 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags