엑셀(EXCEL), 과거 데이터를 보고 다음을 예측하는 FORECAST 함수(FORECAST.LINEAR, 선형예측)
시간이나 공간 장소에 따라서 데이터를 모으게 됩니다.
특히 시간이나 양에 따라서 전개된 데이터를 트랜드(Trend)라고 하고 트렌드에 따른 데이터의 이동을 추세라고 부릅니다.
이런 추세가 직선으로 움직이는 것을 선형(Linear)라고 하고 직선이 아닌 것을 비선형(Non-Linear)이라 합니다.
예를 들어 매출, 재고, 기상 데이터등등의 데이터는 미래예측으로 사용되는 경우가 많습니다.
데이터의 흐름이 선형에 가까울 때 다음을 예상하는 FORECAST 함수(예측 함수)를 알아보겠습니다.
< 함수설명 >
FORECAST(x, known_y's, known_x's) : 기존 값을 사용하여 이후 값을 예측하는 함수입니다. 선형데이터에서 회귀 분석을 기반으로 예상을 하게 됩니다.
- x : 값을 예측하려는 데이터의 요소입니다. 숫자로 입력되어야 하며 x의 위치가 됩니다.
- known_y's : 데이터들로서 X들과 관련이 있는 범위입니다. 숫자로 이루어진 집단이어야 하고, known_x's와 수량이 동일해야 합니다. 모두 다 같은 수가 입력되면(분산이 0) #DIV/0 오류를 반환합니다.
- known_x's : 데이터들로서 Y들과 관련이 있는 범위입니다. 숫자로 이루어진 집단이어야 하고, known_y's와 수량이 동일해야 합니다. 모두 다 같은 수가 입력되면(분산이 0) #DIV/0 오류를 반환합니다.
- 함수는 known_x's의 자리에 x가 대입될 경우 known_y's을 예상합니다.
<함수 사용의 예시>
이 함수는 데이터가 선형일때 사용할 수 있습니다.
미리 그래프를 그려서 데이터가 선형인지 확인을 합시다.
날짜는 텍스트로 입력했기 때문에 Forecast 함수에 사용할 수 없습니다.
known_x's로 사용하기 위해 순번 항목을 만들겠습니다.
함수 사용 예) =FORECAST.LINEAR(11, C2:L2, C3:L3) / 결과 : 18290.33
이렇게 사용하면 순번이 10개 뿐이니 11에 해당하는 24년 5월은 예상으로 18290.33이 됩니다.
정수로 딱딱 나누어진 데이터의 경우 사용도 간단하고 눈으로 봐도 "아 그쯤 되겠다" 하는 값이 나옵니다.
<함수의 동작 원리>
함수는 y = ax + b의 일차방정식으로 데이터를 해석합니다.
이 때 표본집단인 known_x's, known_y's의 평균을 구합니다.
이렇게 a와 b를 구하고 x를 사용자가 입력한 값에 대입하면 끝납니다.
단순하게 선형방정식을 대입하기 때문에 이런 함수를 사용해도 되는지 아닌지 판단이 필요합니다.
아래와 같이 선형성이 어느정도 이상 있다고 봤기 때문에 함수를 사용해 봤습니다.
< 함수 사용시 주의할 것 >
Forecast 함수를 포함하여 예측함수는 어디까지나 예측치입니다.
예를 들어 위에 블로그 방문자 트랜드의 경우 예상을 18290으로 했지만 실제 결과는 17388입니다.
좀 크게 차이가 나는데요. 이유는 5월이 가정에 달이라 이벤트가 많고 휴일이 2일 있었기 때문입니다.
숫자로 예상할 수 없는 환경적 요인을 이상치라고합니다.
요즘에는 아예 빅데이터로 이상치까지 다 포함시키는 무시무시한 데이터의 양으로 해결하려는 태도를 많이 볼 수 있습니다.
저도 당연히 그게 맞다고는 생각하지만 항상 사용할 수 있는 수단은 아닙니다.
적은 양의 데이터로 예측치를 계산할 때는 주위, 환경, 상황등을 고려한 판단력이 필요합니다.
예측이 틀렸을 때도 생각하면서 플랜 B를 세우고 준비하는 것이 중요합니다.