빅데이터분석기사 필기: 4과목 빅데이터 결과해석 강좌의 맛보기 강의입니다.
이제 4과목의 첫 번째 파트가 되겠는데요. 먼저 회귀모형의 평가 지표에 대해서 학습해 보도록 하겠습니다. 먼저 4과목의 첫 번째 내용은 분석 모형 평가에 대한 내용입니다. 이 빅데이터분석기사 필기의 경우에는 어떤 과목 간의 내용의 밸런스가 좀 맞지 않는 것 같습니다. 이게 이 분석의 절차로 가장 마지막의 단계가 4과목에 모여져 있는 것인데요. 그래서 사실 실질적으로 4과목에 출제될 수 있는 내용이 그렇게 많지는 않습니다. 그래서 매번 빠지지 않고 굉장히 많은 문제가 출제되는 부분이 바로 분석 모형 평가라고 볼 수가 있습니다. 이제 3과목까지 해서 모델링이 모두 완성이 되어서 모형이 만들어진 상태라고 생각하시면 되겠는데요. 그럼 모형이 만들어졌다면 이 모형이 어느 정도의 성능을 가지고 있는지 측정을 할 필요가 있겠죠. 그래서 분석 모형 평가에서는 우선 모형의 성능을 측정하고 또 모형이 실제 데이터에 얼마나 잘 적용되는지 평가하기 위한 과정이 되겠습니다. 그런데 이 모델링의 방법에 따라서 평가를 하는 지표도 각각 다른 여러 가지 지표와 방법이 사용되고 각각의 평가 지표는 모형의 다른 측면을 서로 측정하게 됩니다. 그래서 하나의 모형에 대해서도 다양한 여러 가지 지표들을 활용할 필요가 있는 것입니다. 그럼 공통적으로 분석 모형의 평가 기준에는 이런 것들이 있다고 볼 수 있는데요. 우선 첫 번째는 일반화의 가능성입니다. 일반화에 대해서는 앞에서도 설명을 드린 바가 있는데요. 모형을 만들 때 과적합 또는 과대적합이라고 하죠. 과대적합 과소적합을 피하고 일반화된 모형을 만드는 게 좋다라고 설명을 드렸는데요. 일반화라는 것은 모형이 훈련 데이터에만 우수한 성능을 보이는 것이 아니라 새로운 데이터, 그러니까 전혀 보지 못한 데이터에 대해서도 안정적인 성능을 보여주는 능력을 일반화의 능력이라고 얘기를 합니다. 두 번째는 효율성을 측정해야 되는데요. 효율성이라는 것은 모형이 예측을 수행하는 데 있어서 필요한 입력 변수의 양에 대한 평가가 되겠습니다. 즉, 적은 양의 입력 변수로도 높은 성능을 낼 수 있다면 더 좋은 모형이다라고 볼 수가 있습니다. 즉, 모형의 복잡도와 예측 성능 사이의 균형을 세 번째는 예측과 분류의 정확성입니다. 당연히 모형이 데이터를 정확하게 예측하고 분류하는 게 굉장히 중요하다고 볼 수 있습니다. 그래서 분석 모형을 평가할 때는 일반화의 가능성, 효율성 그리고 정확성을 평가한다 라고 생각을 하시면 되겠습니다. 그러면 모형에 따라서 평가하는 지표들이 다른데요. 크게 우리는 그 모형을 회귀에 관한 것과 분류에 관한 것 이렇게 나눌 수가 있는데요. 먼저 회귀모형의 평가 지표들을 한번 살펴보도록 하겠습니다. 이 그림은 앞서 우리가 3과목에서 아마 오차를 따질 때 회귀분석이라는 것은 이런 식의 회귀선을 만들게 됩니다. 베타0 플러스 베타1x라는 회귀선의 식을 세우는 것인데요. 이 회귀선의 경우에 그 모든 점들이 선 위에 올라가 있지는 않습니다. 어떤 오차 또는 잔차라는 것이 발생하게 되어 있는데요. 오차는 이렇게 나눌 수가 있습니다. 즉, 전체의 오차를 우리가 SST라고 얘기를 하죠. 전체의 오차라는 것은 평균과 관측값의 차이를 제곱해서 더한 것입니다. 평균값과 그 다음에 측정된 관측치의 차이를 제곱한 것을 모두 더한 것이죠. yi라는 것이 관측값이라고 생각할 수 있고요. 그 다음 ybar라는 게 바로 평균이 되겠죠. 관측값에서 평균을 뺀 것을 제곱해서 모두 더한 게 SST라고 볼 수 있습니다. SST는 다시 SSE와 SSR로 나누어지는데요. SSR이라는 것은 평균과 그 다음에 우리가 예측한 값, 이 선 위에 있는 값이죠. 평균과 예측값의 차이를 제곱한 것입니다. yi의 hat이라고 되어 있는 게 바로 예측값이고요. 예측값과 ybar가 평균이 되겠죠. 평균의 차이를 제곱한 걸 모두 더한 것을 SSR이라고 합니다. 그 다음에 SSE라는 것은 관측값과 예측값의 차이를 제곱한 거죠. 관측값과 예측값의 차이를 제곱한 것을 SSE라고 얘기를 합니다. 요건 우리가 3과목에서 다 배운 것인데요. 여기에서 각각의 의미를 반드시 알고 계셔야 되겠습니다. 그래서 우리가 SST 총제곱합이라는 것은 SSR과 SSE를 더한 것이다. 그런데 SSR이라는 것은 회귀선으로 설명될 수 있는 제곱합이 되겠고요. SSE라는 것은 회귀선으로는 설명되지 않는 제곱합, 오차제곱합이다 라고 얘기를 하죠. 이것을 회귀제곱합, SSE를 오차제곱합 이렇게 얘기를 하게 됩니다. 요거 우선 기억을 하셔야 되겠구요. 그 다음 이것들 이외에도 요건 우리가 이제 앞에 3과목에서 공부했던 평가 지표라면 또 다른 평가 지표들이 많습니다. 그래서 여기에 보시면 공통적으로 M이라는 글자가 들어갔는데요. M은 무엇일까요? Mean, 즉 평균을 의미합니다. 그래서 MSE라는 것은 앞서 우리 SSE가 있는데 그것의 평균을 구한 것이죠. Mean Squared Error라고 얘기를 합니다. 평균제곱오차다. 실제값과 예측값의 차이를 제곱한 다음에 평균을 구한 것입니다. 앞서 SSE의 평균을 구해서 즉 N으로 나누어 줘서 평균을 구한 것을 MSE다 라고 얘기를 합니다. 다음은 RMSE가 되겠는데요. 이 값을 우리가 제곱을 하게 되면 원래 단위와 달라지게 되면서 값이 굉장히 커지게 됩니다. 그래서 이것을 실제 값처럼 다시 돌려놓기 위해서는 MSE에 루트를 씌우면 되죠. 그래서 앞에 R이라는 게 루트를 의미합니다. 이 값에 그대로 MSE에 다시 말하면 MSE에 루트를 씌운 게 RMSE가 되겠습니다. 다음은 MAE가 있는데요. 여기에서 A라는 것은 absolute, 즉 절대값을 의미합니다. 우리가 부호를 없앨 때는 제곱을 하기도 하지만 절대값을 취하기도 하죠. 그래서 이것은 평균 절대오차라고 하는데요. 실제값과 즉 관측값과 예측값의 차이에 절대값을 구한 다음에 그걸 모두 더해서 평균을 구한 것을 MAE라고 합니다. S는 스퀘어드, 즉 제곱을 의미하고 A는 앱솔루트, 즉 절대값을 의미한다고 기억을 해주시면 되겠구요. 그 다음에 MAPE라는 것도 굉장히 중요한데요 이건 Mean Absolute Percentage Error입니다 퍼센트를 취했다 라고 생각하시면 되고 그래서 평균 절대 백분율 오차입니다 앞서 MAE를 계산을 했는데요. 이것에 100을 곱해서%로 바꾼 것을 MAPE라고 얘기합니다. 그냥 계산한 게 아니라 yi-yi의 hat을 yi로 나눠준 것이죠. 실제값과 예측값의 차이의 절대값을 실제값으로 나눠줍니다. 어떤 비율을 계산한다고 생각하시면 되겠죠? 다시 말하면 이게 실제값이니까 실제값에 대한 오차의 비율, 백분율을 계산한다고 생각하시면 되겠습니다. MAPE를 계산하게 되면 오차 평균 크기가 다른 모델들을 비교하는 데 사용할 수 있습니다. 반드시 이 4가지를 다 기억을 하셔야 되겠습니다. 근데 이 이름, 약어가 어떤 뜻인지를 아신다면 대충 식을 우리가 직접 써야 되는 것은 아니고 식을 찾을 수는 있을 것 같습니다. 자 그럼 여기에서 앞에서 설명드리지 않았던 MAPE 여기 처음 나왔기 때문에 이것을 만약에 계산하는 문제도 뭐 충분히 있을 수가 있겠죠 그래서 MAPE를 계산하는 것을 한번 예제로 넣어 봤는데요 1일자의 실제 판매량과 예측 판매량, 2일의 실제와 예측, 3일의 실제와 예측이 있는데요 각 일자별로 절대 백분율 오차를 계산해보겠습니다. 실제 판매량과 예측 판매량의 차이를 계산하는 것입니다. 차이를 계산하는데 절대값을 취하는 것입니다. 실제 판매량으로 나누어 주죠 100-95 나누기 100을 한 다음에 절댓값을 취하면 0.05가 되고요 2일차에는 200-210을 해서 200으로 나눈 값의 절댓값을 구하면 0.05가 되고요 3일차에는 150에서 140을 뺀 값을 150으로 나눈 값의 절댓값을 구하면 0.0667이 됩니다 그래서 이 값을 100분율 취하는 거죠 그래서 여기는 곱하기 100을 나중에 해줘도 되고 먼저 해줘도 됩니다 그래서 이게 100분율이 된 거죠 0.05였으니까 5%가 되고 5% 6.67%에서 이걸 개수로 나누게 되면 계산해보면 5.56% 정도가 나오는데요 평균적으로 실제 값과 비교했을 때 약 5.56%의 오차를 보이고 있다 이렇게 이해할 수가 있겠습니다 MAPE를 계산하는 방법도 알고 계셔야 되겠고요 또 있습니다 평가 지표가 굉장히 많은데요 MSLE가 있습니다 여기는 보시면 로그를 사용했다 L은 로그를 의미하게 되는데요 즉 평균 제곱 로그 오차다 이 로그를 사용한다는 것은 로그는 어떤 큰 값은 조금 작게 하고 작은 값은 크게 할 수 있는 특성을 갖고 있습니다 그래서 로그를 취함으로써 이 작은 오차도 큰 오차와 동일하게 취급할 수 있는 특성이 생기는 것입니다. 평균제곱로그오차는 실제값과 예측값의 로그를 취한 후에 그 차이를 제곱해서 평균냈다. 식이 좀 복잡하죠. 실제값에도 로그를 취하고 실제로는 1플러스 하는데 실제값에 로그 취하고 그 다음 예측값에 로그 취해서 차이를 낸 값을 평균을 냈다 라고 볼 수 있는데요 이것은 값이 작을수록 모델의 성능이 좋다 왜냐면 오차이니까요 그 다음 RMSLE가 있는데 R이 붙으면 루트라고 설명을 드렸습니다 이 값에 그대로 루트를 씌웠다고 생각하시면 되겠고요. 원래 단위로 우리가 이해할 수 있는 스케일로 다시 되돌리는 과정이라고 볼 수가 있습니다. 이 두 가지는 그렇게 많이 사용하는 것은 아니지만 L이라는 게 로그를 의미한다는 것 기억을 하시면 좋겠습니다. 그 다음 이 내용은 우리가 앞서 사실 공부를 했던 내용이 되겠는데요. 회귀모형의 평가 지표로써 결정계수 R² 값도 사용하게 되죠. 결정계수에 대한 내용들은 모두 다 기억을 하셔야 된다고 했습니다. 이제 여러분들 시험을 보시면 사실 빅데이터 분석기사 필기의 경우에는 전체 분석의 과정으로 과목을 나눴기 때문에 예를 들면 이 결정계수가 3과목에도 나올 수 있고 4과목에도 나올 수가 있습니다. 그래서 시험을 보고 난 다음에 시험을 보신 분들이 복원을 할 때 이게 3과목이었는지 4과목이었는지 잘 구분이 안되는 경우들이 굉장히 많은 것 같습니다 그래서 이 결정계수의 경우에는 3과목에서도 중요한데 4과목에서도 매우 중요한 내용이 되겠구요 결정계수를 우리는 뭐라고 결정계수라는 값의 범위가 0에서 1 사이에 위치하고 이것이 1에 가까울수록 회귀모형의 설명력이 좋다. 결정계수의 정의도 꼭 기억을 하셔야 되는데요. 결정계수는 종속변수의 총변동 중에서 회귀모델이 설명할 수 있는 변동의 비율을 나타낸 것입니다. 다시 말하면 R제곱은 총 변동분의 설명된 변동인데요. 이게 설명된 변동이 SSR이다라고 설명을 드렸고 SSR은 결정계수의 정의는 총 변동 중에서 회귀모델이 설명할 수 있는 변동의 비율을 나타낸 것입니다. 그리고 결정계수에서 우리가 또 기억해야 될 내용들이 있었는데요 뭐냐면 독립변수, 다중선형회귀 분석에서 독립변수의 수가 많아지게 되면 결정계수가 높아지게 된다고 했죠 그냥 자연적으로 높아지기 때문에 이 단점을 보완하기 위해서 수정된 결정계수라는 것을 활용합니다 수정된 결정계수에 수정된 결정계수는 원래의 결정계수 보다 많이 감소하게 될 거라는 것을 알 수가 있습니다 그래서 결정계수의 의미도 잘 기억을 하셔야 되겠구요 그 다음 요건 3과목에서는 따로 설명드리지 않았던 것 같은데요 멜로우즈 CP라는 값이 있는데 요것도 회귀분석에서 모형 선택을 위해서 사용되는 평가 지표 중의 하나입니다 이거는 실제 관측값과 모형에 의해서 추정된 값 사이의 차이, 잔차제곱합을 따진다고 했고요. 모형의 복잡성을 함께 고려한다. 여기에 보시면 잔차제곱합, 우리 SSE가 있었습니다. 이것을 S제곱, 즉 잔차의 분산으로 나눈 값. n-2p는 독립변수의 개수입니다. 독립변수가 많아지면 복잡성이 높아지게 되겠죠 그래서 이것을 모두 고려해서 계산한 것인데요 어쨌든 수식까지는 기억하실 필요가 굳이 없어 보이는데 멜로우즈 CP라는 것이 무엇인지 정의를 기억하시고 이 값은 작을수록 모형이 데이터에 잘 맞는다. 값이 작을수록 좋다. 왜냐하면 이게 잔차 제곱한 오차를 따진 거니까 당연히 값이 작은 것이 더 좋고요 동시에 모형이 덜 복잡하다는 것을 의미합니다 이상적인 CP의 값은 P와 같아지면 좋다 독립변수의 개수의 값과 모형이 데이터를 잘 설명하면서도 불필요한 변수 없이 적절한 복잡성을 유지한다 멜로우즈 CP는 잔차제곱합과 복잡성을 모두 고려한 것인데 값이 작을수록 좋다. 회귀분석 모형을 평가할 때 사용된다. 여기까지 회귀모형의 평가 지표에 대한 학습을 마치도록 하겠습니다.
