R에서 지수 이동 평균을 계산하는 방법
시계열 분석에서 이동 평균은 단순히 여러 이전 기간의 평균 값입니다.
지수 이동 평균은 최근 관측치에 더 많은 가중치를 두는 이동 평균 유형으로, 이는 최근 추세를 더 빠르게 포착할 수 있음을 의미합니다.
이 튜토리얼에서는 R에서 지수 이동 평균을 계산하는 방법을 설명합니다.
예: R의 지수 이동 평균
R에 다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame df <- data.frame(period=1:10, sales=c(25, 20, 14, 16, 27, 20, 12, 15, 14, 19)) #view data frame df period sales 1 1 25 2 2 20 3 3 14 4 4 16 5 5 27 6 6 20 7 7 12 8 8 15 9 9 14 10 10 19
pracma 패키지의 movavg() 함수를 사용하여 이전 기간의 지수 가중 이동 평균을 계산할 수 있습니다.
이 함수는 다음 구문을 사용합니다.
movavg(x, n, 유형=c(“s”, “t”, “w”, “m”, “e”, “r”))
금:
- x: 디지털 벡터 형태의 시계열
- n: 평균에 사용할 이전 기간 수
- type: 계산할 이동 평균의 유형입니다. 지수가중이동평균에 “e”를 사용하겠습니다.
예를 들어 이전 4개 기간을 사용하여 지수 가중 이동 평균을 계산하는 방법은 다음과 같습니다.
library (pracma) #create new column to hold 4-day exponentially weighted moving average df$EWM_4day <- movavg (df$sales, n=4, type=' e ') #view DataFrame df period sales 4dayEWM 0 1 25 25.000000 1 2 20 23.000000 2 3 14 19.400000 3 4 16 18.040000 4 5 27 21.624000 5 6 20 20.974400 6 7 12 17.384640 7 8 15 16.430784 8 9 14 15.458470 9 10 19 16.875082
또한 ggplot2 시각화 라이브러리를 사용하여 4일 지수 가중 이동 평균을 기준으로 매출을 시각화할 수 있습니다.
library (ggplot2)
library (reshape2)
#melt data into format for easy plotting
df <- melt (df, id.vars = ' period ', variable.name = ' series ')
#plot sales vs. 4-day exponentially weighted moving average
ggplot(df, aes (period, value)) +
geom_line( aes (color=series))
빨간색 선은 각 기간의 매출을 나타내고 파란색 선은 지수가중이동평균을 나타냅니다.