Hantera trend och heteroskedasticitet
Här ska vi omvandla icke-stationär data till stationär data genom att beräkna avkastningen eller tillväxttakten enligt följande.
Tidsserier genereras ofta som $$X_t = (1 + p_t) X_{t-1}$$, vilket innebär att värdet vid tidpunkten \(t\) är lika med värdet vid tidpunkten \(t-1\) plus en liten procentuell förändring \(p_t\) vid tidpunkten \(t\).
Ett enkelt deterministiskt exempel är att sätta in pengar på ett bankkonto med en fast ränta \(p\). I det fallet är \(X_t\) kontots värde vid tidsperiod \(t\), med en initial insättning på \(X_0\).
Vanligtvis kallas \(p_t\) för avkastning eller tillväxttakt för en tidsserie, och denna process är ofta stabil.
Av skäl som ligger utanför kursens scope kan man visa att tillväxttakten \(p_t\) kan approximeras av $$Y_t = \log X_t - \log X_{t-1} \approx p_t.$$
I R beräknas \(p_t\) ofta som diff(log(x)), och du kan plotta resultatet på en enda rad: plot(diff(log(x))).
Den här övningen är en del av kursen
ARIMA-modeller i R
Övningsinstruktioner
- Precis som tidigare är paketen astsa och xts förinstallerade.
- Skapa en figur med flera paneler för att (1) plotta de kvartalsvisa USA BNP-data (
gnp) och notera att de inte är stationära, och (2) plotta den approximativa tillväxttakten för USA:s BNP med hjälp avdiff()ochlog(). - Använd en figur med flera paneler för att (1) plotta de dagliga DJIA-stängningskurserna (
djia$Close) och notera att de inte är stationära. Datan är ettxts-objekt. Sedan (2) plottar du den approximativa DJIA-avkastningen med hjälp avdiff()ochlog(). Hur förhåller sig detta till BNP:s tillväxttakt?
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# astsa and xts are preloaded
# Plot GNP series (gnp) and its growth rate
par(mfrow = c(2,1))
plot(gnp)
# Plot DJIA closings (djia$Close) and its returns
par(mfrow = c(2,1))
plot(djia$Close)