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))

R의 지수 가중 이동 평균

빨간색 선은 각 기간의 매출을 나타내고 파란색 선은 지수가중이동평균을 나타냅니다.

추가 리소스

R에서 여러 열을 그리는 방법
R의 열을 평균하는 방법
R에서 그룹당 평균을 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다