728x90

[SAS]

DATA mtcars;INFILE 'D:\sas\c;ass\mtcars.csv';  * 32 ,11; * R datasets 에 들어있는 mtcars를 csv 파일로 만들었습니다.
INPUT mpg cyl disp hp drat wt qsec vs am gear carb;RUN; 
PROC CORR;VAR mpg cyl disp hp drat wt qsec vs am gear carb  ; * 상관계수를 일단 구해 봤습니다
RUN;    
PROC REG ;MODEL mpg=cyl disp hp drat wt qsec vs am gear carb; * 단순한 다중회귀분석을 실행해 봤습니다

RUN;   

* (1) 전진선택법                 
PROC REG;MODEL mpg=cyl disp hp drat wt qsec vs am gear carb /SELECTION=FORWARD; * 전진선택법 옵션.
RUN;

제일 먼저 wt 변수가 들어갑니다.Rsquare 0.7528 다음으로 cyl변수가 들어갑니다.Rsqure가 증가하고 회귀계수의 유의성을 나타내는 pr>T 도 0.05 보다 의미가 있습니다.

결과물이 계속되지만... 중략...

 

* (2) 후진선택법
PROC REG;MODEL mpg=cyl disp hp drat wt qsec vs am gear carb /SELECTION=BACKWARD;
RUN;

제일 처음 모든 변수들이 전부 들어갑니다. 이중에서 제일 의미가 없는 cyl가 빠집니다. 그 다음에는 vs가 빠지는 것을 볼 수 있습니다.

결과물이 계속되지만... 중략...

 

* (3) 스텝와이즈법
PROC REG;MODEL mpg=cyl disp hp drat wt qsec vs am gear carb /SELECTION=STEPWISE;
RUN; 

* 결과는 후진제거법과 거의 비슷하게 나옵니다.

 

[R]

# mtcars 는 R을 설치히면 기본적으로 설치되는 datasets 패키지에 들어있습니다.

# (1) 상수만 들어있는 최소모형 지정합니다.

min.model  <- lm(mpg ~ 1, data=mtcars)

# (2) 풀모델 지정합니다.
full.model <- lm(mpg ~ ., data=mtcars)

#* (1) 후진제거법  - 풀모델 이용
back <- step(full.model,direction="backward")
summary(back)


#* (2) 전진선택법 - lower=최소모형, upper=풀모델 지정
min.model <- lm(mpg ~ 1, data=mtcars)  # 최소 모델 지정(상수항)
step(min.model,scope=list(lower=min.model,upper=full.model),direction = "forward")  



#* (3) 스텝와이즈 - 풀모델이용
out <- step(full.model,direction = "both",data=mtcars)    

 

[Python]

statsmodels 를 이용하여 프로그램을 만들어야 함

statsmodels를 이용하여 개발하다 보면 Python에 대해 이해하게 됩니다.

+ Recent posts