이동 평균 교차

마지막 업데이트: 2022년 2월 20일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
하한 = 예측값 – 1.96 ×

이동평균(Moving Average)의 계산방법 및 의미

이동평균(moving average)이란, 말 그대로 어떤 것이 방향성을 가지고 움직일 때, 이동하면서 구해지는 평균을 뜻합니다. 즉, 동적으로 변화하는 것에는 어디든 이동평균을 적용할 수 있습니다. 주가데이터 또한, 1차원적인 방향성을 가지고 이동하기 때문에 이동평균을 적용할 수 있습니다.

1. 단순이동평균(simple moving average, SMA)

맨 오른쪽이 최신 데이터인 주가 데이터가 있다고 가정합니다.

U = [4, 1, 1, 2, 4, 11, 0, 0, 4, 2, 8]

먼저, 단순이동평균은 몇일을 기준으로 할 것인지 정해주어야 합니다.

우리는 m일의 평균을 구한다고 가정해봅시다. (window의 크기를 결정한다고도 합니다.)

구하는 방식은 다음과 같습니다.

n번째 데이터의 단순이동평균 = n번째 데이터를 포함한 왼쪽 m개의 데이터의 산술평균

이해를 돕기 위해, m=6이라고 가정해보겠습니다.

n = 1일 경우, '1번째 데이터의 이동평균 = 1번째 데이터를 포함하여 왼쪽의 6개의 데이터의 산술평균' 이 되겠군요.

그런데, 1번째 데이터를 포함하여 왼쪽에 6개 데이터가 있나요? 존재하지 않습니다. 이런 경우, 평균을 구할 수가 없습니다.

따라서, 값 11에 해당하는 6번째 데이터부터 구할 수가 있을 것입니다.

n = 6일 경우, ( 4 +1+1+2+4+11)/6 = 3.833

n = 7일 경우, (1+1+2+4+11+ 0 )/6 = 3.167

사실 매번 m = 6개를 더해줄 필요 없이, (이전의 이동평균)+ (들어온 가장 최신의 값 - 나간 가장 오래된 값)/m 을 해주면 될 것입니다.

이렇게 해서 이동평균을 구하게 될 경우, 각 데이터의 이동평균은 아래와 같이 구해집니다.

NaN(Not a number)은 연산이 불가능하다는 의미입니다.

simple moving average = [NaN, NaN, NaN, NaN, NaN, 3.833, 3.167, 3, 3.5, 3.5, 4.5]

눈치채셨겠지만, 이러한 moving average는 window의 크기, m의 값에 큰 영향을 받습니다. 왜냐하면, m의 크기에 따라 몇개의 이전 데이터로 계산할지가 결정되기 때문입니다. window크기보다 더 이전의 데이터는 이동평균에 영향을 미치지 못한다는 단점이 있습니다. 이런 이유로 여러 다른 이동평균이 사용됩니다.

2. 누적이동평균(Cumulative moving average, CMA)

누적이동평균은, simple moving average와 같이 산술평균을 구하는 것은 동일하나, window (m값)을 정해놓지 않습니다.

따라서, 모든 데이터를 고려하고 싶을 때 사용합니다.

이것은, 새로운값이 들어올때마다 전체 평균을 새롭게 구하는 것과 동일합니다. 다시 이전의 데이터를 가져와 보겠습니다.

U = [4, 1, 1, 2, 4, 11, 0, 0, 4, 2, 8]

구하는 방식은 다음과 같습니다.

n번째 데이터의 누적이동평균 = n번째 데이터를 포함한, 이전 모든 데이터의 평균

n = 1일 경우, 1번째 데이터를 포함한, 이전 모든 데이터의 평균이므로 그냥 4가 되겠군요.

n = 2일 경우, 2번째 데이터를 포함한, 이전 모든 데이터의 평균이므로, (4+1)/2

n = 3일 경우, 3번째 데이터를 포함한, 이전 모든 데이터의 평균이므로, (4+1+1)/3

마지막 데이터의 누적이동평균은 결국 전체 데이터의 평균이 될 것임을 알 수 있습니다.

계산은 n+1번째 이동평균 = (n번째 누적이동평균*n + 새로 들어온 값)/(n+1) 을 이용하면

매번 모든 것을 더하지 않고 계산 할 수 있음을 확인할 수 있습니다.

cululative moving average = [4, 2.5, 2, . ]

이러한 결과는 이전의 모든 데이터를 포함하게 되므로, simple moving average과 다르게 이전의 모든 데이터의 영향을 받게 됩니다. 하지만, 우리는 최신의 데이터가 훨씬 현재의 상황을 더 잘 반영해 준다고 생각하기 때문에, 최신의 데이터가 더 큰 영향력을 발휘하기를 원합니다. 따라서, 또 다른 방식을 이용하게 됩니다.

3. (선형)가중이동평균(weighted moving average, WMA)

가중이동평균은, 데이터의 위치에 따라 서로 다른 가중치를 부여한 후 이동평균을 계산하게 됩니다.

simple moving average와 동일하게 몇일을 기준으로 구할 것인지 window의 크기 m을 지정해 주어야 합니다.

구하는 방식은 다음과 같습니다.

A = dot product( [m, m-1, m-2, . , 1], [n번째 데이터, n-1번째 데이터, . , n-m+1번째 데이터] )

B = m + (m-1) + . +1

n번째 데이터의 선형가중이동평균 = A / B

이러한 방식을 선형가중이동평균이라고 합니다. 왜냐하면, 오래된 데이터로 갈 수록 곱해지는 값이 선형적으로 감소하기 때문입니다. 이 또한, 수학적으로 식을 변형하면, 매번 전체를 계산하지 않고 구할 수 있습니다.

참고) 왜 이것이 평균의 의미를 갖는지 궁금해 하실 수도 있습니다. 지금은 곱해지는 값이 선형적으로 감소하지만, 이것이 선형적이지 않고 상수함수의 형태라고 생각해보겠습니다. 그렇다면, 아래와 같은 식의 꼴일 것입니다.

A = dot_product( [m, m, m, . m], [n번째 데이터, n-1번째 데이터, . n-m+1번째 데이터] )

A/B를 계산하면, 이것은 단순히 m = 6 인 simple moving average와 동일하게 됩니다. 즉, simple moving average 또한 사실 위의 꼴인데 그것을 상수함수가 아닌 선형함수로 변형해서 평균을 구하였다고 생각하면 될 것 같습니다.

어쨌든 이러한 방식은, 최신의 데이터에 더 큰 가중치 곱함으로서 최신의 데이터가 결과에 더 큰 영향력을 발휘하게 합니다.

하지만, 목적에 맞추어 조금 더 유연하게 활용하기 위해 비선형적인 방식으로 곱해갈 수도 있습니다.

4. 지수가중이동평균 (Exponentially weighted moving average, EWMA)

지수적으로 감소하는 가중치를 곱해준다는 의미만 다르고, 선형가중이동평균과 본질은 동일합니다.

따라서, 구하는 방식은 다음과 같습니다.

A = dot product( [ 1 , (1 - α) , (1 - α)^2 , . , (1 - α)^(m-1) ], [n번째 데이터, n-1번째 데이터, . , n-m+1번째 데이터] )

B = 1 + (1 - α) + (1 - α)^2+ . + (1 이동 평균 교차 - α)^(m-1)

n번째 데이터의 지수가중이동평균 = A / B

이것은 다음과 같은 식으로 변형할 수 있습니다.

따라서, 현재의 지수가중이동평균은 바로 이전의 데이터의 지수가중이동평균을 이용하여 구할 수 있음을 보여줍니다.

위의 식을 다시 이동 평균 교차 쓰면 다음과 같습니다.

1번째 지수가중이동평균 = 1번째 데이터 값

n번째 지수가중이동평균 = (1 - α ) * (n-1번째 지수가중평균) + α * 현재 데이터값

따라서, 가장 오래된 데이터부터 시작해서 재귀적(recursive)하게 가장 최근의 데이터까지 지수가중이동평균을 이동 평균 교차 구할 수 있습니다. 새로운 데이터가 추가되어도 재귀적으로 바로 구할 수 있습니다.

이 때, α 값은 다음과 같은 세가지 방식 중 하나로 구해질 수 있습니다. 이것은 우리가 임의로 설정해 줄 수 있고, 각자가 가지는 의미는 다양합니다만 저도 사실 아주 자세히는 아직 살펴보지 않았습니다. 아마도 물리적인 의미를 가지고 있지 않을까 생각해 봅니다.

그렇다면 우리가 자주사용하는 RSI 14지표에 대해 설명할 수 있습니다.

Wilder는 RSI 14를 추천했으며, α = 1/14 에 해당합니다. 즉 , c = period -1

window의 크기는 정해져 있지 않고, 새로운 데이터가 들어올 때마다 RSI값은 계산됩니다.

핵심은, 각기 다른 이동평균도 결국은 이동평균이라는 큰 맥락에서 벗어나지 않는다는것 같습니다. 제 생각에는, 적절한 목적에 맞게 각자 다른 이동평균을 고려하는 것은 중요함과 동시에, 비선형적인 새로운 방식으로 가중치를 주는 것은 하나의 시도가 될 수도 있을 것 같습니다. 또는, 단순 dot product의 형태에서 벗어나 새로운 형태를 고안해보는것도 좋은 시도일 것 같습니다. 물론, 그것은 특정한 목적과 아이디어가 필요하다고 생각됩니다.. 또한, 수학적으로 충분히 의미를 함포하고 있어야 할 것이라고 생각됩니다.

0ngoingjoy

시계열 분석을 통해 장기적인 트렌드를 살펴보고 싶으신가요? 이동 평균의 개념과 이를 SQL에서 구현하는 법을 알고 싶으신가요? 그렇다면 이 글을 읽는 것을 추천드립니다. 이 글을 통해 윈도우 함수를 사용하여 이동 평균을 구하는 법에 관해 살펴보고자 합니다.

이동 평균이란?

이동 평균은 데이터의 트렌드를 분석하는데 자주 사용되는 개념입니다. 이동 평균은 종종 움직이는 평균이라고도 불리는데, 그 이유는 시계에 따라 특정 숫자의 앞과 뒷 숫자의 평균을 구하기 때문입니다. 이동 평균의 핵심은 기존 데이터 값의 정적인 평균값을 살펴보기보다는 그런 정적인 평균값들이 시간에 따라 어떤 식으로 변화를 보이는지 확인하는 데 있습니다.

이동 평균을 구하면 단순 평균 값을 보는 것보다 장기적인 트렌드를 읽어내는데 용이합니다. 그래서 해당 개념이 시계열 분석을 할 때 자주 언급되곤 합니다. 이동 평균은 재무 분석 시 자주 사용되므로, 일별 주식 데이터를 가지고 이동 평균이 무엇인지 설명드리고자 합니다.

아래는 우리가 예시로 사용할 stock_price 테이블입니다.

date price
2020-01-07 1320
2020-01-08 1300
2020-01-09 1300
2020-01-10 1300
. .
2020-06-24 1086
2020-06-25 1095
2020-06-26 1067
2020-06-27 1067
2020-06-28 1076
2020-06-29 1067
2020-06-30 1067

이 테이블은 2개의 열로 구성되어 있습니다(date 와 price 열). 이렇게 특정 값이 특정 시간과 연관된 것을 시계열 데이터라고 부릅니다. 해당 테이블은 각 날짜마다의 주가를 나타내고 있습니다. 위 테이블에 저장된 주가들을 그래프로 그대로 나타내 보면 아래와 같습니다.

이동 평균을 본격적으로 다루기 전에, 우리가 어떤 데이터를 만지고 있는지 살펴보도록 하겠습니다.

1. stock_price 테이블은 2020년 1월 7일부터 2020년 6월 30일까지의 데이터를 가지고 있습니다.
2. 주가는 대략적으로 1,000부터 ~ 1,400까지의 값 사이에 분포하고 있습니다. (그래프의 y축 참고)
3. 주가의 변동이 심했던 구간이 존재합니다. 2월 달에 주가가 치솟았었고, 6월 달도 마찬가지입니다.

그럼 본격적으로 주가의 이동 평균을 구해보도록 하겠습니다. 이동 평균을 이용해 그래프를 나타내면 기존 그래프와 어떻게 다른지 함께 살펴보도록 하죠. 이번 예시에서는 주가의 3일 이동 평균을 구할 것입니다. 그러기 위해서는 특정 날짜의 주가와 이틀 전 주가(1일 전 주가와 2일 전 주가)들의 평균을 구하면 됩니다. 그림으로 이동 평균을 구하는 법을 보시면 좀 더 쉽게 이해가 되실 겁니다.

1월 9일의 이동 평균은 해당 일과 이틀 전의 주가들을 가지고 구합니다. 그래서 1,300(1월 9일 주가), 1,300(1월 8일 주가), 1,320(1월 7일 주가)을 더한 후 3으로 나누었습니다. 고로, 1월 9일의 이동 평균은 1,306.66입니다. 이런 식으로 나머지 날짜들도 구해주면 됩니다. 6월 30일의 이동 평균을 구해보도록 할까요? 해당 날자의 3일 이동 평균은 1,070입니다. 그 이유는 6월 30일의 주가(1,067)와 1일 전 주가(1,067)와 2일 전 주가(1,076)를 더한 후 3으로 나눈 값이 그 값이기 때문입니다.

이런 식으로 구한 주가의 3일 평균을 기존 주가 그래프와 나란히 두면 아래와 같은 그래프가 형성됩니다.

빨간색 그래프가 우리가 방금 구한 3일 이동 평균의 그래프입니다. 파란색 그래프는 각 날짜의 주가를 나타낸 그래프이고요. 빨간색 그래프가 파란색 그래프보다 좀 더 부드럽고 뾰족한 부분이 없다는 점을 발견하셨나요? 이렇게 그래프를 부드럽게 해주는 것이 바로 이동 평균을 분석에 활용하는 이유입니다. 다시 말해, 이동 평균은 데이터에서 잡음을 없애주죠. 데이터의 잡음이 덜하면, 그만큼 시계열 분석 시 트렌드를 읽어내기 용이하기 하답니다.

방금 살펴본 예시는 3일에 대한 이동 평균이었지만, 여러분이 원하는 기간만큼의 이동 평균을 구할 수도 있습니다. 7일 이동 평균을 구할 수도 있고, 10일, 30일 등 이동 평균의 기본적인 개념만 이해하고 있다면 어떤 기간의 이동 평균을 구하든지 큰 어려움이 없을 것입니다.

이동 평균의 쓰임

앞에서 말했듯이 이동 평균은 데이터 내의 장기간 및 단기간 트렌드를 읽어낼 때 주로 사용합니다. 그래서 주가와 같이 주로 재무 분야에서 많이 활용됩니다. 만약 오늘의 주가가 지금까지의 이동 평균보다 높다면 주가는 상향세 있다고 판단하고, 만약 이동 평균보다 낮다면 하향세에 있다고 봅니다. 이런 상향 트렌드를 통해 증권 매매업자가 주식을 사고파는 결정을 내릴 수 있도록 합니다. 이외에도 이동 평균을 적용하는 비즈니스 케이스는 다양합니다.

1. 매출 분석 : 이동 평균을 통해 일별 및 주별 매출 속 튀는 값들을 부드럽게 만들어 줄 수 있습니다.
2. COVID 19 확진자 분석: 이동 평균을 통해 시간이 지남에 따라 확진 추세가 상향세 혹은 하향세인지 판단할 수 있습니다.
3. 웹 트래픽 분석: 아동 평균을 통해 웹 페이지가 고객들의 관심을 지속적으로 받고 있는지 확인할 수 있습니다.

SQL로 이동평균 구현하는 법

이제 이동 평균이 무엇인지 알았으니 이를 SQL에서 구하는 법에 관해 배워보도록 하겠습니다. SQL에서 이동 평균을 구하고 싶다면 윈도우 함수를 사용하면 됩니다. 윈도우 함수는 특정 범위의 행을 가로질러 그 행 안에 있는 값들을 집계할 수 있도록 도와주는 특별한 SQL 함수입니다.

데이터를 집계해주는 부분에선 GROUP BY와 유사하지만, 윈도우 함수는 기존 행을 없애지 않은 상태에서 집계 값을 구할 수 있습니다. 하지만, 이동 평균을 구하기 위해서는 윈도우 함수에다가 집계 함수가 실행되어야 할 행의 특정 범위를 제한해줘야 합니다. 이를 창(frame) 혹은 윈도우를 설정한다고 말합니다. 만약, 3일 이동 평균을 구하고 싶다면 해당 날짜와 이전 이틀 날짜만 평균값으로 계산 될 수 있도록 그들의 앞뒤를 '창'으로 막는 것이죠. 그리고, 윈도우 함수가 행을 가로질러 그 행 안에 있는 값들을 집계한다고 말했는데, 이는 각 행마다 창을 설정한 후 그 범위 내에서만 계산을 한다는 의미입니다. 그래서 윈도우 함수는 테이블의 마지막 행에 다다를 때까지 매 행마다 새로이 실행됩니다.

윈도우 함수와 창을 이용해 3일 이동 평균을 구하는 쿼리문은 다음과 같습니다.

SELECT
*,
AVG( price ) OVER( ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW ) AS moving_average
FROM stock_price;

쿼리문을 뜯어서 살펴보도록 하죠. 첫째, 우리는 OVER 절을 사용함으로써 윈도우 함수를 실행한다는 것을 알 수 있습니다. 둘째, 우리의 창의 범위는 3입니다. 3일 이동 평균을 구하고 싶으니까요. 이는, 각 행마다 자기 자신과 이전 2개 행에 관한 평균을 구해야 한다는 의미입니다. 우리는 창을 설정하고자 ROW 키워드를 사용했습니다. ROWS BETWEEN 2 PRECEIDING AND CURRENT ROW 라는 문장을 통해 윈도우 함수의 창이 3이라는 것을 말해주었습니다. 해당 문장을 번역하면 "이전 2개의 행과 현재 행 사이" 정도로 나타낼 수 있는데, 이게 곧 우리가 바라는 창의 범위를 말해주고 있습니다. 셋째, 앞에서도 말했듯이 각 행마다 창이 생깁니다. 각 행마다 창이 설정되기 때문에, 그 범위 내에서만 계산을 할 수 있습니다. 아래 그림을 통해 우리 예시 속 1월 9일(초록색 영역)과 6월 28일(파란색 영역)의 창이 어떤 식으로 제한되는지 보실 수 있습니다.

해당 그림에서 몇 가지 언급드리고 싶은 것이 있습니다.

첫째, 날짜 간의 공백이 없는 것이 중요합니다. 각 날짜마다 자기 자신과 이틀 전의 값의 평균을 구하는 것이기 때문에 날짜에 공백이 생기면 정확한 이동 평균을 구할 수 없게 되고, 분석 자체가 말이 안 됩니다. 날짜에 공백이 있는데 어떻게 N일 이동 평균이라고 부를 수 있겠습니까?

둘째, OVER절 안의 ORDER BY는 날짜를 시간 순서대로 정렬시켜 줍니다. 이를 실행하지 않는다면, 날짜별로 정렬이 되지 않은 데이터베이스에서는 정확한 N일 이동 평균을 구할 수 없습니다. 따라서 여러분이 이동 평균을 구한다면, 반드시 OVER절에 ORDER BY를 사용하여 날짜를 제대로 정렬시켜 주세요.

이제 SQL에서 이동 평균을 구하는 법을 아시겠죠? 해당 쿼리문은 여러분이 그대로 가져가 활용할 수 있습니다. 그저 테이블 명, 열 이름, 창의 범위를 여러분이 희망하는 대로 바꿔만 주시면 됩니다. 아무래도 윈도우 함수가 이동 평균을 구하는데 아주 핵심적인 역할을 하다보니, 윈도우 함수를 배우지 않은 분께는 이동 평균을 구하는 방법이 쉽지 않을 수 있습니다.

특정 기간 동안의 이동평균 구하기

지금까지는 3일 이동 평균을 구해보았습니다. 3일 이외에도 다른 N일 이동 평균을 구할 수 있습니다. N의 숫자가 커질수록, 그래프는 완만해집니다. N의 숫자가 작아질수록, 그래프는 기존 값의 그래프와 비슷한 형상을 가지게 됩니다. 그래서 똑같은 데이터를 다룬다 하더라도, 그것으로 2일 이동 평균을 구하느냐 혹은 30일 이동 평균을 구하느냐에 따라 그래프의 모양이 확연히 달라집니다. 얼마나 확연한 차이가 있는지 직접 구해보도록 합시다.

SELECT
*,
AVG( price ) OVER( ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ) AS 2day_moving_average,
AVG( price ) OVER(
ORDER BY date ROWS BETWEEN 29 PRECEDING AND CURRENT ROW ) AS 30day_moving_average
FROM stock_price;

그리고 각각의 이동 평균을 그래프로 나타내 보도록 하죠.

초록색 그래프는 30일 이동 평균을 나타내는 반면, 빨간색 그래프는 2일 이동 평균을 나타냅니다. 2일 이동 평균 그래프는 거의 로우 데이터를 그래프로 나타낸 파란색 그래프와 별반 차이가 없습니다. 하지만 초록색 그래프는 훨씬 부드럽고 장기간 트렌드를 읽어내기에 훨씬 수월합니다. N일 이동 평균에서 N의 숫자가 커질수록 그래프는 부드러워집니다. 그렇다면 이상적인 N값은 무엇일까요? 사실 이건 답이 없습니다. 이은 여러분의 비즈니스 상황과 필요에 따라 달라지는 부분이니까요.

7일 이동 평균 구하기

이번에는 COVID 19의 확진자 수 데이터를 통해 확진자 수의 7일 이동 평균을 구해볼 것입니다. 아래 confirmed_covid 테이블은 특정 나라의 일자별 확진자 수를 담고 있습니다. 테이블을 보시면서 어떻게 하면 확진자 수의 7일 평균을 구할 수 있을지 고민해보세요.

country date confirmed
. . .
Croatia 2020-02-20 0
Croatia 2020-02-21 0
Croatia 2020-02-22 0
Croatia 2020-02-23 0
Croatia 2020-02-24 0
Croatia 2020-02-25 1
Croatia 2020-02-26 2
Croatia 2020-02-27 0
Croatia 2020-02-28 2
Croatia 2020-02-29 1
. . .
Croatia 2020-03-12 0
Croatia 2020-03-13 13
Croatia 2020-03-14 6
Croatia 2020-03-15 11
Croatia 2020-03-16 8
. . .
Croatia 2020-07-18 116
Croatia 2020-07-19 92
Croatia 2020-07-20 25
Croatia 2020-07-21 52
Croatia 2020-07-22

확진자 수의 7일 이동 평균을 구하는 쿼리문은 다음과 같습니다.

SELECT
*,
AVG( confirmed ) OVER(
ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) AS 7day_moving_avgerage
FROM confirmed_covid;

우리는 7일 이동 평균을 구하고 싶기 때문에 창의 범위를 현재 행과 이전 6개의 행으로 정의하였습니다.

확실히 이동 평균의 장점이 보이지 않나요? 튀는 부분을 부드럽게 만들어줌으로써 확진자 수의 장기적인 트렌드를 보다 확인하기 쉽도록 만들어 주었습니다. 이것이 바로 이동 평균을 분석에 활용하는 이유라는 것을 잊지 마세요.

이동 평균[MA] 에 대한 방법 및 공식

이동 평균[MA]을 계산하기 위해 Minitab에서 계열 내 관측치의 연속적 그룹의 평균을 구합니다. 예를 들어, 계열이 숫자 4, 5, 8, 9, 10으로 시작하고 길이가 3인 이동 평균[MA]을 사용한다고 가정합니다. 이동 평균의 세 번째 값은 4, 5, 8의 평균, 네 번째 값은 5, 8, 9의 평균, 다섯 번째 값은 8, 9, 10의 평균입니다.

중심화된 이동 평균[MA]

기본적으로 이동 평균[MA] 값은 해당 값이 계산되는 기간에 배치됩니다. 예를 들어, 이동 평균[MA] 길이가 3인 경우 첫 번째 숫자 이동 평균[MA] 값은 기간 3에 배치되고 그 다음 이동 평균[MA] 값은 기간 4에 배치되는 식입니다.

이동 평균[MA]을 중심화하면 범위의 끝이 아니라 중심에 이동 평균[MA]이 배치됩니다. 이동 평균[MA]의 중심화는 이동 평균[MA] 값을 중심이 되는 시점에 배치하기 위해 수행됩니다.

이동 평균[MA] 길이가 홀수인 경우

이동 이동 평균 교차 평균[MA] 길이가 3이라고 가정합니다. 이 경우, Minitab에서는 첫 번째 숫자 이동 평균[MA] 값을 기간 2, 다음 값을 기간 3에 배치하고, 이런 식으로 계속합니다. 이 경우 첫 번째 기간과 마지막 기간의 이동 평균[MA] 값은 결측값( *)이 됩니다.

이동 평균[MA] 길이가 짝수인 경우

이동 평균[MA] 길이가 4라고 가정합니다. 기간 2.5에는 이동 평균[MA] 값을 배치할 수 없기 때문에 Minitab에서는 처음 네 값의 평균을 계산하고 MA1 이름을 지정합니다. 그런 다음 Minitab에서는 다음 네 값의 평균을 계산하고 MA2 이름을 지정합니다. 이 두 값의 평균이 Minitab에서 기간 3에 배치하는 숫자입니다 이 경우 처음 두 기간과 마지막 두 기간의 이동 평균[MA] 값은 결측값( *)이 됩니다.

시간 t에서의 적합치는 시간 t – 1에서의 중심화되지 않은 이동 평균[MA]입니다. 예측값은 예측시점에서의 적합치입니다. 10 시간 단위 이후를 예측할 경우 각 시간에 대해 예측된 값은 예측시점에서의 적합치가 됩니다. 이동 평균[MA]을 계산하는 데는 예측시점까지의 데이터가 사용됩니다.

연속적 이동 평균[MA]으로 선형 이동 평균[MA] 방법을 사용할 수 있습니다. 이 방법은 데이터에 추세 성분이 있는 경우에 자주 사용됩니다. 먼저 원래 계열의 이동 평균[MA]을 계산하고 저장합니다. 그런 다음 이전에 저장한 열의 이동 평균[MA]을 계산하고 저장하여 두 번째 이동 평균[MA]을 구합니다.

단순 예측에서 시간 t에 대한 예측값은 시간 t – 1에서의 데이터 값입니다. 이동 평균[MA] 길이를 1로 하여 이동 평균[MA] 절차를 사용하면 단순 예측이 됩니다.

예측 한계

상한 = 예측값 + 1.96 ×

하한 = 예측값 – 1.96 ×

Microsoft Excel에서 이동 평균을 계산하는 방법

Excel의 이동 평균 차트

주식이나 투자를 예측하기 위해 이동 평균을 생각할 수 있습니다. 그러나 이를 사용하여 재고, 판매 또는 유사한 데이터의 추세를 볼 수도 있습니다. 방정식이나 함수 없이 Excel에서 쉽게 이동 평균을 계산할 수 있습니다.

관련된: Microsoft Excel에서 기본 제공 주식 기능을 사용하는 방법

Excel에 데이터 분석 도구 추가

동안 ~ 할 수있다 계산을 수행하고 Excel에서 이동 평균을 표시하는 선 그래프를 만드는 더 쉬운 방법이 있습니다.

Microsoft는 Excel에 추가할 수 있는 무료 분석 도구를 제공합니다. 이 도구를 사용하면 다양한 기능으로 통계 또는 엔지니어링 분석을 개발할 수 있습니다. 그러한 옵션 중 하나는 이동 평균입니다.

분석 도구가 이미 있는지 확인하려면 데이터 탭으로 이동하여 리본의 분석 섹션에서 데이터 분석 버튼을 찾으십시오.

데이터 탭의 데이터 분석

버튼이 있는 경우 아래로 이동 평균 계산으로 넘어갈 수 있습니다. 그렇지 않은 경우 여기에 빠르게 추가할 수 있습니다.

Excel 상단의 검색 상자로 이동하여 “추가 기능”을 입력합니다. 목록에 이동 평균 교차 추가 기능이 표시되면 선택합니다.

Excel에서 추가 기능 검색

또는 파일 > 옵션을 클릭하고 왼쪽에서 “추가 기능”을 선택합니다. 창 하단의 관리 옆에 있는 “Excel 추가 기능”을 선택하고 “이동”을 클릭합니다.

파일, 옵션, 추가 기능으로 이동

추가 기능 창이 표시되면 Analysis ToolPak 옆의 확인란을 선택하고 “확인”을 클릭합니다.

분석 도구 선택

이제 데이터 탭으로 이동하면 리본에 데이터 분석 버튼이 표시되어야 합니다.

관련된: 불확실성을 계산하기 위해 Microsoft Excel을 얻는 방법

이동 평균 계산

이동 평균을 계산할 준비가 되면 데이터 탭에서 데이터 분석 버튼을 클릭합니다. 목록에서 “이동 평균 교차 이동 평균”을 선택하고 “확인”을 클릭합니다.

이동 평균 선택

이동 평균 창 상단에서 해당 상자에 입력 범위를 입력합니다. 상자 내부를 클릭한 다음 데이터 범위를 드래그할 수도 있습니다. 선택적으로 “첫 번째 행의 레이블” 확인란을 선택하고 간격을 포함할 수 있습니다.

입력 범위 입력

그런 다음 셀 참조를 입력하거나 상자 내부를 클릭하고 시트에서 셀을 선택하여 출력 범위를 입력합니다. 선택적으로 표준 오류 확인란을 선택할 수 있습니다. 그리고 이동 평균의 그래프를 생성하고 결과를 받기 위해서는 차트 출력 체크박스를 체크합니다.

출력 범위 입력

이동 평균 설정을 마치면 “확인”을 클릭하면 출력이 표시됩니다. 출력을 위해 선택한 셀에서 시작하는 값이 있습니다. 차트 출력을 선택한 경우 데이터를 표시하는 편리한 선 그래프도 표시됩니다.

이동 평균 결과 및 차트를 Excel로 수신

팁: Excel에서 만든 다른 차트와 마찬가지로 이동 평균 그래프를 사용자 지정할 수 있습니다. 그래프를 선택하고 차트 디자인 탭을 사용하여 레이아웃, 색상, 범례 등을 조정합니다.

Analysis ToolPak에서 사용할 수 있는 다른 옵션을 확인하십시오. 히스토그램 생성, 상관 관계 찾기, 난수 생성기 사용 등의 작업을 이동 평균 교차 수행할 수 있습니다.

이동 평균 교차

우리는 계산에 대해 이야기했습니다. 데이터 목록의 이동 평균 Excel에서하지만 Excel 차트에 이동 평균 선을 추가하는 방법을 알고 있습니까? 실제로 Excel 차트는이를 달성하기위한 매우 쉬운 기능을 제공합니다.

Excel 차트에 이동 평균 선 추가

예를 들어, 아래 스크린 샷과 같이 Excel에서 세로 막 대형 차트를 만들었습니다. 다음과 같이 열 차트에 이동 평균 선을 쉽게 추가 할 수 있습니다.

열 차트를 클릭하여 차트 도구다음을 클릭합니다 디자인 > 차트 요소 추가 > 추세선 > Media móvil. 스크린 샷보기 :

주의 사항: Excel 2010 또는 이전 버전을 사용하는 경우 차트를 클릭하여 차트 도구다음을 클릭합니다 레이아웃 > 추세선 > 두 기간 이동 평균.

이제 이동 평균 선이 세로 막 대형 차트에 즉시 추가됩니다. 스크린 샷보기 :

주의 사항: 이동 평균선의 기간을 변경하려면 차트에서 이동 평균선을 더블 클릭하여 추세선 형식 창에서 추세선 옵션 아이콘을 클릭 한 다음 필요에 따라 기간을 변경합니다. 스크린 샷보기 :

한 번의 클릭으로 Excel 차트에 평균 선 추가

일반적으로 Excel의 차트에 평균 선을 추가하려면 평균 값을 파악하고 원본 데이터 범위에 평균 열을 추가 한 다음 차트에 새 데이터 시리즈를 추가하고 새 데이터의 차트 유형을 변경해야합니다. 라인에 시리즈. 너무 이동 평균 교차 복잡합니다! 여기에서 차트에 선 추가 특징 Excel 용 Kutools 클릭 한 번으로 차트에 평균 선을 추가 할 수 있습니다! 30 일 전체 기능 무료 평가판!

Excel 용 Kutools -300 개 이상의 Excel 용 편리한 도구가 포함되어 있습니다. 30 일 전체 기능 무료 평가판, 신용 카드 필요 없음! 이제 그것을 잡아

관련 기사 :

Excel에서 이동 / 롤링 평균 계산
예를 들어, 과거에 주식의 가격이 크게 변동 한 경우 이러한 변동을 기록하고 Excel에서 가격 추세를 예측하려는 경우 이동 평균 또는 롤링 평균을 시도 할 수 있습니다. 이 기사에서는 특정 범위에 대한 이동 평균을 계산하고 Excel에서 이동 평균 차트를 만드는 몇 가지 방법을 소개합니다.

Excel의 가중 평균
예를 들어 가격, 무게 및 금액이 포함 된 쇼핑 목록이 있습니다. Excel의 AVERAGE 함수를 사용하여 평균 가격을 쉽게 계산할 수 있습니다. 그러나 가중 평균 가격은 어떨까요? 이 기사에서는 Excel에서 특정 기준을 충족하는 경우 가중 평균을 계산하는 방법과 가중 평균을 계산하는 방법을 소개합니다.

Excel에서 평균 / 복합 연간 성장률 계산
이 기사에서는 Excel에서 연간 평균 성장률 (AAGR) 및 복합 연간 성장률 (CAGR)을 계산하는 방법에 대해 설명합니다.

누계 / 평균 계산
예를 들어 Excel에 판매 테이블이 있고 매일 판매 합계 / 총계를 가져 오려는 경우 Excel에서 어떻게 처리 할 수 ​​있습니까? 그리고 매일 실행 평균을 계산하면 어떨까요? 이 기사에서는 수식을 적용하여 Excel에서 누계와 평균을 쉽게 계산하는 방법을 안내합니다.


0 개 댓글

답장을 남겨주세요