우리는 모델을 만들고 종속변수의 분산을 설명하며 통계적 분석을 진행한다. 만약에 모델이 잘 생성되어서 종속변수의 전체분산(SST, total sum of squares)을 잘 설명한다면 우리의 모델로 설명하고 남은 오차(SSE, error sum of squares)는 모델의 오차가 아닌 random한 오차일 것이다. 그리고 설명이 잘 된 부분이 설명된 분산(SSR, regression sum of squares)이다. 결정계수는 전체 분산 중에서 설명이 잘 된 분산, 즉, R^2 = SSR/SST이다. 전체(1)에서 에러의 분산인(SSE)를 종속변수의 전체분산(SST)으로 나눈 값이라고 봐도 동일하다. (R^2 = 1 - SSE/SST)
따라서, 모델의 분산 설명력인 결정계수를 확인하면, 이 모델이 종속변수의 분산을 얼마나 잘 설명하는지 파악할 수 있다 .
그렇지만, 결정계수가 높다고 해도 무조건 긍정적이고 절대적으로 좋은 것은 아니다. 우리가 생성한 모델이 종속변수의 분산을 얼마나 잘 설명하는가에 대한 것을 나타내는 지표이기에, 모델에 의미가 없는 독립변수를 추가해도 결정계수가 증가할 수 있다. 또한, 과적합의 문제도 존재한다. 너무 많은 독립변수와 세팅으로 인해 학습셋에서만 적합하고 테스트셋이나 실제 적용할 데이터셋에서는 모델이 올바른 설명력을 가지지 못할 수도 있다. 따라서, 과적합은 예측을 위해서는 반드시 해결해야 하는 문제이고, 이를 해결하기 위해서는 수집한 표본을 학습과 테스트에 동시에 사용하지 않고, 두 용도로 적절히 분배해서 학습셋을 적용한 모델의 예측력이 긍정적인지 판별하는 과정이 필요하다. 과적합은 피하기 위해서 사용되는 방법에는 여러가지가 있음으로 찾아보면 좋을 것 같다.
추가적으로, 데이터 분석은 크게 목적이 1) 해석 2) 예측으로 나뉘는데, 예측이 아닌 해석을 집중으로 하는 경우에는, 트레이닝한 모델에 새로운 데이터셋을 적용해 나올 예측에는 관심이 없기에, 결정계수의 의미가 크게 강조되지는 않는다. 일반적으로 0.7의 결정계수는 상당히 높은 설명력을 가진다고 볼 수 있다.
한편, 결정계수는 독립변수가 추가되면 증가하게 되어있다. 따라서 결정계수가 순수하게 모델의 종속변수 분산에 대한 설명력이 좋은 것인지, 혹은 과도하게 많은 독립변수로 인해서 그 설명력이 높아진 것인지를 판단하기 위해서 조정된 결정계수를 함께 확인하기도 한다. 독립변수의 증가는 자유도의 손실을 의미하기에, 이 자유도가 감안된 결정계수가 필요한 것이다. 만약 결정계수와 adjusted된 결정계수의 그 차가 크다면, 독립변수가 과하게 의미없이 추가되었다는 것을 의미하기에 주의해야 한다.
더미변수는 범주형 변수가 연속형 변수가 되어서 그 의미가 달라지는 것을 방지하기 위해서 사용된다. 예를 들어서, 최종학력에 대한 범주형 변수가 초졸/중졸/고졸/대졸/석사/박사로 세팅되어있다고 가정해보자. 이를 그대로 1,2,3,4,5,6로 코딩한다면, 본래 순서와 숫자로서의 의미가 없던 범주형 변수에 그 의미가 입혀지게 되면서 문제가 생기게 된다. 초졸과 박사의 경우, 본래 범주형 변수에서는 숫자적 의미가 없이 그냥 카테고리일 뿐인데 연속형 변수로 회귀분석에 적용되면 순서와 5만큼의 숫자적 차이가 생기게 되는 것이다. 따라서, 이를 방지하기 위해서 오직 답이 0과 1로만 이루어진 변수인 더미 변수를 사용한다.
앞선 예의 경우, 기본적으로는 모두 0으로 세팅되어있고, 해당하는 학력에 1을 부여해주면 되는 것이다. 초졸이라면, 1,0,0,0,0,0이 되는 것이고 박사라면 0,0,0,0,0,1이 되는 것이다. 이렇게 되면, 둘 사이에는 수리적인 의미가 없도록 사용 가능하다. 이렇게 만들기 위해서는 원핫코딩(to_categorical)을 주로 하는데, 원핫인코딩도 다루는 수가 많아지면, 효율이 떨어지기에, 공간을 줄여주는 임베딩을 하기도 한다.
아무튼, 변수를 더미변수로 다루고 나면, 기준 그룹과 다른 범주간에는 차이 유무를 판별할 수 있다. 예를 들어서, 초졸을 기준으로 잡고 코딩을 했다면, 초졸-중졸, 초졸-고졸, 초졸-대졸, 초졸-석사, 초졸-박사 이렇게 비교가 가능한 것이다. 왜냐하면, 초졸인 사람으로 기본적으로 세팅한 것이기에 초졸이 아닌 사람과 대상과 얼마나 유의한 차이를 보이는지 확인할 수 있기 때문이다. 하지만, 초졸이라는 기준점이 아닌 다른 범주끼리의 비교 불가하다.
범주형 변수가 K개 있을 경우, k-1개의 더미변수를 사용해야 한다.
k-1개의 더미변수가 이미 정의되어있다면, 나머지 하나의 범주는 이들의 반대이다. 따라서 K-1개의 변수를 사용해도 비교를 통해 필요한 모든 정보를 얻을 수 있다. 또한 k개의 변수를 사용한다면, 변수간에 상호의존성이 생겨 회귀분석 시에 문제가 발생할 수 있다. 두 변수 중 하나의 값을 알면 다른 하나의 값이 추론이 가능하기 때문이다. 그러면 두 변수 중에 어떤 것이 종속 변수에 효과를 미치는지 정확하게 이해하기 어렵다. 만약에 x와 y라는 변수를 이용해서 회귀분석을 한다고 가정해보자. 사실 y는 x의 제곱인데, y를 그대로 더미변수로 사용하게 되면, x에 대한 이해를 제대로 하기 어렵다. x의 변화에 y가 영향을 미치기 때문이다. 또한, 전산적으로 봐도 비효율적이다. x를 가공하면 활용가능한 y의 값이 그대로 들어가있기에 불필요한 전산 작업도 필요하게 된다.
결국 회귀 분석에서는 변수 간의 독립성이 중요하다. 더미 변수를 설정할 때는 k-1을 사용해서 범주형 변수를 표현하는 것이 중요하다.
현실 세계에서는 단순회귀분석보다는 다중회귀분석이 일반적일 것이다. 한 가지 특성에 영향을 미치는 독립변수가 단 한가지일 경우는 극히 드물 것이기 때문이다. 따라서, 다양한 독립변수를 활용해서 회귀분석을 진행한다. 다양한 독립 변수들이 순수하게 종속변수에 미치는 영향을 알기 위해서는 해당 독립변수를 제외한 다른 변수들은 통제해야 한다. 그러면, 해당 독립변수의 순수한 부분적 기울기, 즉 계수를 알 수 있다.