본문 바로가기
SAS연습 200제/1. SAS 설치와 실습

01_15. SAS/IML은 무엇인가?

by 통컨이 2021. 6. 19.
728x90

SAS/IML은 Interactive Matrix Language의 약어이며, SAS의 여러 제품 중에서 행렬(Matrix) 연산을 지원하는 제품입니다. 통계학이나 계량경제학에 있어서 행렬계산은 너무 많이 사용됩니다. 회귀분석 이론 부분을 보면 행렬로 표현되는 것을 볼 수 있습니다. SAS/IML을 이용하여 각종 경제모형을 쉽게 만들 수 있습니다. 다음은 2 X 2 MATRIX의 역 행렬을 구해 보는 예를 들어 보았습니다..
```
       /*--------------------------------------------------*/       
       /* 역행렬구하는 프로그램                            */       
       /*--------------------------------------------------*/       
 1     DATA a1;INPUT x y;                                           
 2     CARDS;                                                       
 3     1  3                                                         
 4     2  7                                                         
 5     ;                                                            
 6     PROC IML;                                                    
 7     USE a1;                                                      
 8     READ ALL INTO x;                                             
 9     invx=INV(x);                                                 
 10    PRINT x,invx;                                                
 11    RUN;                                                         
```
[설명]
```
6 PROC IML;            # SAS/IML이 설치되어 있어야 사용 가능하며 IML의 시작임을 나타냅니다.
7 USE a1;               # SAS 데이터셋 "a1"을 이용한다는 의미
8 READ ALL INTO x;      # SAS 데이터셋 "a1"을 이용하여 MATRIX ‘X'를 만듭니다.
9 invx=INV(x);          # MATRIX 'X'의 역 행렬을 구하여 INVX에 저장합니다.
10 PRINT x,invx;        # 원래의 MATRIX 'x'와 역 행렬 ‘invx'를 프린트합니다.
```
<img src='https://wikidocs.net/images/page/5978/s_sys_iml_01.jpg' style="width:600px; height:300px; border: 2px solid black;">   

역행렬을 구한 예제