Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations...

33
Forecasting: principles and practice 1 Forecasting: principles and practice Rob J Hyndman 2.2 Transformations

Transcript of Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations...

Page 1: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Forecasting: principles and practice 1

Forecasting: principlesand practice

Rob J Hyndman

2.2 Transformations

Page 2: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Outline

1 Variance stabilization

2 Box-Cox transformations

3 Back-transformation

4 Lab session 9

Forecasting: principles and practice Variance stabilization 2

Page 3: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilizationIf the data show different variation at different levels ofthe series, then a transformation can be useful.Denote original observations as y1, . . . , yn andtransformed observations as w1, . . . ,wn.Mathematical transformations for stabilizing variation

Square root wt =√yt ↓

Cube root wt = 3√yt Increasing

Logarithm wt = log(yt) strength

Logarithms, in particular, are useful because they are moreinterpretable: changes in a log value are relative (percent)changes on the original scale.

Forecasting: principles and practice Variance stabilization 3

Page 4: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilizationIf the data show different variation at different levels ofthe series, then a transformation can be useful.Denote original observations as y1, . . . , yn andtransformed observations as w1, . . . ,wn.Mathematical transformations for stabilizing variation

Square root wt =√yt ↓

Cube root wt = 3√yt Increasing

Logarithm wt = log(yt) strength

Logarithms, in particular, are useful because they are moreinterpretable: changes in a log value are relative (percent)changes on the original scale.

Forecasting: principles and practice Variance stabilization 3

Page 5: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilizationIf the data show different variation at different levels ofthe series, then a transformation can be useful.Denote original observations as y1, . . . , yn andtransformed observations as w1, . . . ,wn.Mathematical transformations for stabilizing variation

Square root wt =√yt ↓

Cube root wt = 3√yt Increasing

Logarithm wt = log(yt) strength

Logarithms, in particular, are useful because they are moreinterpretable: changes in a log value are relative (percent)changes on the original scale.

Forecasting: principles and practice Variance stabilization 3

Page 6: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilizationIf the data show different variation at different levels ofthe series, then a transformation can be useful.Denote original observations as y1, . . . , yn andtransformed observations as w1, . . . ,wn.Mathematical transformations for stabilizing variation

Square root wt =√yt ↓

Cube root wt = 3√yt Increasing

Logarithm wt = log(yt) strength

Logarithms, in particular, are useful because they are moreinterpretable: changes in a log value are relative (percent)changes on the original scale.

Forecasting: principles and practice Variance stabilization 3

Page 7: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilization

4000

8000

12000

16000

1960 1970 1980 1990

Year

Electricity production

Forecasting: principles and practice Variance stabilization 4

Page 8: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilization

50

75

100

125

1960 1970 1980 1990

Year

Square root electricity production

Forecasting: principles and practice Variance stabilization 5

Page 9: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilization

15

20

25

1960 1970 1980 1990

Year

Cube root electricity production

Forecasting: principles and practice Variance stabilization 6

Page 10: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilization

8

9

1960 1970 1980 1990

Year

Log electricity production

Forecasting: principles and practice Variance stabilization 7

Page 11: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Variance stabilization

−8e−04

−6e−04

−4e−04

−2e−04

1960 1970 1980 1990

Year

Inverse electricity production

Forecasting: principles and practice Variance stabilization 8

Page 12: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Outline

1 Variance stabilization

2 Box-Cox transformations

3 Back-transformation

4 Lab session 9

Forecasting: principles and practice Box-Cox transformations 9

Page 13: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Box-Cox transformations

Each of these transformations is close to a member of thefamily of Box-Cox transformations:

wt = log(yt), λ = 0;(yλt − 1)/λ, λ 6= 0.

λ = 1: (No substantive transformation)λ = 1

2 : (Square root plus linear transformation)λ = 0: (Natural logarithm)λ = −1: (Inverse plus 1)

Forecasting: principles and practice Box-Cox transformations 10

Page 14: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Box-Cox transformations

Each of these transformations is close to a member of thefamily of Box-Cox transformations:

wt = log(yt), λ = 0;(yλt − 1)/λ, λ 6= 0.

λ = 1: (No substantive transformation)λ = 1

2 : (Square root plus linear transformation)λ = 0: (Natural logarithm)λ = −1: (Inverse plus 1)

Forecasting: principles and practice Box-Cox transformations 10

Page 15: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Box-Cox transformations

Forecasting: principles and practice Box-Cox transformations 11

Page 16: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Box-Cox transformations

autoplot(BoxCox(elec,lambda=1/3))

30

40

50

60

70

1960 1970 1980 1990

Time

Box

Cox

(ele

c, la

mbd

a =

1/3

)

Forecasting: principles and practice Box-Cox transformations 12

Page 17: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Box-Cox transformationsyλt for λ close to zero behaves like logs.If some yt = 0, then must have λ > 0if some yt < 0, no power transformation is possibleunless all yt adjusted by adding a constant to allvalues.Choose a simple value of λ. It makes explanationeasier.Results are relatively insensitive to value of λOften no transformation (λ = 1) needed.Transformation often makes little difference toforecasts but has large effect on PI.Choosing λ = 0 is a simple way to force forecasts tobe positiveForecasting: principles and practice Box-Cox transformations 13

Page 18: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Automated Box-Cox transformations

(BoxCox.lambda(elec))

## [1] 0.2654076

This attempts to balance the seasonal fluctuationsand random variation across the series.Always check the results.A low value of λ can give extremely large predictionintervals.

Forecasting: principles and practice Box-Cox transformations 14

Page 19: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Automated Box-Cox transformations

(BoxCox.lambda(elec))

## [1] 0.2654076

This attempts to balance the seasonal fluctuationsand random variation across the series.Always check the results.A low value of λ can give extremely large predictionintervals.

Forecasting: principles and practice Box-Cox transformations 14

Page 20: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Outline

1 Variance stabilization

2 Box-Cox transformations

3 Back-transformation

4 Lab session 9

Forecasting: principles and practice Back-transformation 15

Page 21: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformation

Wemust reverse the transformation (or back-transform) toobtain forecasts on the original scale. The reverse Box-Coxtransformations are given by

yt = exp(wt), λ = 0;(λWt + 1)1/λ, λ 6= 0.

Forecasting: principles and practice Back-transformation 16

Page 22: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformation

fit <- snaive(elec, lambda=1/3)autoplot(fit)

5000

10000

15000

1960 1970 1980 1990

Time

elec

level

80

95

Forecasts from Seasonal naive method

Forecasting: principles and practice Back-transformation 17

Page 23: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformation

autoplot(fit, include=120)

10000

12000

14000

16000

1987.5 1990.0 1992.5 1995.0 1997.5

Time

elec

level

80

95

Forecasts from Seasonal naive method

Forecasting: principles and practice Back-transformation 18

Page 24: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back transformation

Back-transformed point forecasts are medians.Back-transformed PI have the correct coverage.

Back-transformed meansLet X be have mean µ and variance σ2.

Let f(x) be back-transformation function, and Y = f(X).

E[Y] = E[f(X)] = f(µ) + 12σ

2[f′′(µ)]2.

Forecasting: principles and practice Back-transformation 19

Page 25: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back transformation

Back-transformed point forecasts are medians.Back-transformed PI have the correct coverage.

Back-transformed meansLet X be have mean µ and variance σ2.

Let f(x) be back-transformation function, and Y = f(X).

E[Y] = E[f(X)] = f(µ) + 12σ

2[f′′(µ)]2.

Forecasting: principles and practice Back-transformation 19

Page 26: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back transformationBox-Cox back-transformation:

yt = exp(wt) λ = 0;(λWt + 1)1/λ λ 6= 0.

f(x) =

ex λ = 0;(λx + 1)1/λ λ 6= 0.

f′′(x) =

ex λ = 0;(1− λ)(λx + 1)1/λ−2 λ 6= 0.

E[Y] =

eµ[1 + σ2

2

]λ = 0;

(λµ + 1)1/λ[1 + σ2(1−λ)

2(λµ+1)2

]λ 6= 0.

Forecasting: principles and practice Back-transformation 20

Page 27: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back transformationBox-Cox back-transformation:

yt = exp(wt) λ = 0;(λWt + 1)1/λ λ 6= 0.

f(x) =

ex λ = 0;(λx + 1)1/λ λ 6= 0.

f′′(x) =

ex λ = 0;(1− λ)(λx + 1)1/λ−2 λ 6= 0.

E[Y] =

eµ[1 + σ2

2

]λ = 0;

(λµ + 1)1/λ[1 + σ2(1−λ)

2(λµ+1)2

]λ 6= 0.

Forecasting: principles and practice Back-transformation 20

Page 28: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformationelec %>% snaive(lambda=1/3, biasadj=FALSE) %>%

autoplot(include=120)

10000

12000

14000

16000

1987.5 1990.0 1992.5 1995.0 1997.5

Time

.

level

80

95

Forecasts from Seasonal naive method

Forecasting: principles and practice Back-transformation 21

Page 29: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformationelec %>% snaive(lambda=1/3, biasadj=TRUE) %>%

autoplot(include=120)

10000

12000

14000

16000

1987.5 1990.0 1992.5 1995.0 1997.5

Time

.

level

80

95

Forecasts from Seasonal naive method

Forecasting: principles and practice Back-transformation 22

Page 30: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformationeggs %>% ses(lambda=1/3, biasadj=FALSE) %>%

autoplot

100

200

300

1920 1950 1980

Time

.

level

80

95

Forecasts from Simple exponential smoothing

Forecasting: principles and practice Back-transformation 23

Page 31: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Back-transformationeggs %>% ses(lambda=1/3, biasadj=TRUE) %>%

autoplot

100

200

300

1920 1950 1980

Time

.

level

80

95

Forecasts from Simple exponential smoothing

Forecasting: principles and practice Back-transformation 24

Page 32: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Outline

1 Variance stabilization

2 Box-Cox transformations

3 Back-transformation

4 Lab session 9

Forecasting: principles and practice Lab session 9 25

Page 33: Forecasting: principles and practice · Outline 1Variance stabilization 2Box-Cox transformations 3Back-transformation 4Lab session 9 Forecasting: principles and practice Variance

Lab Session 9

Forecasting: principles and practice Lab session 9 26