Przeskocz nawigację.
Strona główna

Analiza szeregów czasowych

Ustalanie stopnia trendu wielomianowego

Jedna z technik ustalania trendu w szeregu czasowym polega na wykorzystaniu funkcji wielomianowych. Za wartość średnią procesu przyjmuje się w takiej sytuacji wielomian odpowiedniego stopnia.

$P_{t}=\alpha_{0}+\alpha_{1} t+\ldots +\alpha_{r} t^{r}$

Sam proces którego realizacją jest szereg czasowy ma wtedy postać

$Y_{t}=P_{t}+\epsilon_{t}$

albo w rozpisanej wersji

$Y_{t}=\alpha_{0}+\alpha_{1} t+\ldots +\alpha_{r} t^{r}+\epsilon_{t}$

Wykorzystując funkcje wielomianowe do ustalenia wartości średniej procesu problemem przed jakim stajemy jest ustalenie stopnia trendu r.

Procedura przedstawiona w skrypcie trend.r polega na takim wyborze stopnia trendu, że:

  • współczynnik przy zmiennej t w najwyższej potędze jest statystycznie istotny,
  • spadek wariancji resztowej między trendem stopnia r-1 a r jest statystycznie istotny.

Procedura ustalania stopnia trendu zaimplementowna zostanie w funkcji trend(). Funkcja ta wymaga 3 argumentów: szeregu czasowego y, poziomu istotnści wykorzystywanego w testach istotności oraz zmiennej sygnalizującącej o fakcie wyśwatlania komunikatów albo jego braku.

Żeby swobodnie korzystać z funkcji trend() należy pobrać ją na dysk lokalny i załadować w tworzonym skrypcie (ważne żeby tworzony skrypt i plik trend.r znajdowały się w tym samym katalogu, w przeciwnym wypadku należy wsazać ścieżkę względno albo absolutną to pliku trend.r)

source("trend.r")

W celu zademonstrowania działania funkcji trend() wygenerujemy zestaw danych (szereg czasowy).

#zakładamy, że szereg czasowy ma długość 20

n <- 20

#zakładamy, że składnik losowy ma rozkład normalny N(0,5)

epsilon <- rnorm(n, mean=0, sd=5)

# zmienna czasowa

t <- 1:n

#zakładamy, że prawdziwy trend ma postać P = 100 - 0.2*t +0.5*t^2 + epsilon

y <- 100 -0.2*t + 0.5*t^2 + epsilon

#ustalenie stopnia trendu

r <- trend(y)

Najbardziej odpowiedni stopień trendu zwracany jest przez funkcję trend() i podstawiany pod zmienną r.

Przypisanie zmiennej kom wartości TRUE spowoduje wyświetlenie wszystkich budowanych pośrednio modeli wraz ze stosownymi komentarzami.

r <- trend(y, kom=F)

Pod zmienną r podstawiony zostanie stopień trentu, a na konsoli nie pojawi się żaden komunikat.

ZałącznikWielkość
trend.r1.13 KB