계획행렬
빌드업
R에서 내장데이터 faithful
을 불러와 head()
함수를 통해 확인해보자.
고작 여섯개지만, 척 봐도 eruptions
와 waiting
은 양의 상관관계를 가지고 있는 것으로 보인다. 만약 이들의 관계를 어떤 두 상수 $\beta_{0}, \beta_{1}$ 에 대해
$$\text{(eruptions)} = \beta_{0} + \beta_{1} \cdot \text{(waiting) }$$
으로 나타낼 수 있다면 좋을 것이다. 위 식은 두 변수의 선형관계를 직선의 방정식으로써 나타낸 것으로 $\beta_{0}$ 은 상수항, $\beta_{1}$ 은 기울기를 뜻한다.
하지만 실제 데이터에선 이론과 달리 오차가 발생하므로 어떤 오차항 $\varepsilon$ 이 필요하다.식을 간략하게 하기 위해 $y:=\text{(eruptions)}$ 그리고 $x:=\text{(waiting) }$ 이라고 하면 다음을 얻는다. $$y = \beta_{0} + \beta_{1} x + \varepsilon$$
위 스크린샷에선 총 $6$개의 순서쌍이 나타나있는데, 이들을 연립방정식으로 나타내면 다음과 같다.
$$ \begin{cases} 3.600 = \beta_{0} + \beta_{1} 79 + \varepsilon_{1} \\ 1.800 = \beta_{0} + \beta_{1} 54 + \varepsilon_{2} \\ 3.333 = \beta_{0} + \beta_{1} 74 + \varepsilon_{3} \\ 2.283 = \beta_{0} + \beta_{1} 62 + \varepsilon_{4} \\ 4.533 = \beta_{0} + \beta_{1} 85 + \varepsilon_{5} \\ 2.883 = \beta_{0} + \beta_{1} 55 + \varepsilon_{6} \end{cases} $$
실제 faithful
은 무려 272개의 순서쌍을 포함한 데이터라 이런 식으로 모두를 포현하는 것은 무리고 다시 기호를 통해 표현해보자.
$$ \begin{cases} y_{1} &= \beta_{0} + \beta_{1} x_{1} + \varepsilon_{1} \\ y_{2} &= \beta_{0} + \beta_{1} x_{2} + \varepsilon_{2} \\ &\vdots& \\ y_{272} &= \beta_{0} + \beta_{1} x_{272} + \varepsilon_{272} \end{cases} $$
한편 위와 같은 연립방정식은 행렬방정식으로 더 간단하게 표현할 수 있다. $$ \begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{272} \end{bmatrix} = \begin{bmatrix} 1 & x_{1} \\ 1 & x_{2} \\ \vdots & \vdots \\ 1 & x_{272} \end{bmatrix} \begin{bmatrix} \beta_{0} \\ \beta_{1} \end{bmatrix} + \begin{bmatrix} \varepsilon_{1} \\ \varepsilon_{2} \\ \vdots \\ \varepsilon_{272} \end{bmatrix} $$ 흔히 쓰듯 행렬마저 대문자로 나타내면 마침내 $Y = X \beta + \varepsilon$ 을 얻을 수 있다.
정의
여기서 $X$ 와 같이 독립변수를 묶어둔 행렬을 계획행렬design matrix이라 부른다.
선수과목
이렇듯 데이터를 행렬로 표현할 수 있다는 것은 선형대수의 여러가지 툴을 통계학에 적용시킬 수 있다는 의미가 된다. 여기서 $\beta$ 를 찾아내는 것이 바로 회귀분석이고, 이를 정확하게 이해하기 위해선 선형대수에 대한 지식이 필수적이다.
통계학을 접하는 수많은 학습자들이 선형대수의 필요성을 느끼지 못하고 등한시하다가 막상 행렬이 나오면 어려움을 느낀다. 선배들의 전철을 밟지 않기 위해서는 해석학이나 선형대수와 같은 저학년 과목을 철저히 갈고닦아야함을 명심하자.