Prognozowanie metodą średniej ruchomej – średnia prosta i ważona
Średnia ruchoma jest jedną z najprostszych metod analizy i prognozowania szeregów czasowych. Jej wartość oblicza się na podstawie określonej liczby ostatnich obserwacji, tworzących tak zwane okno średniej ruchomej. Po pojawieniu się nowej obserwacji okno przesuwa się o jeden okres, najstarsza wartość zostaje pominięta, a do obliczeń włączana jest wartość najnowsza.
Średnie ruchome mogą służyć zarówno do wygładzania szeregu czasowego, jak i do sporządzania krótkookresowych prognoz. Pozwalają ograniczyć wpływ przypadkowych wahań, ułatwiają rozpoznanie tendencji rozwojowej oraz mogą być wykorzystywane do wyznaczania prognoz na kolejny okres.
W artykule omawiamy prostą średnią ruchomą, ważoną średnią ruchomą, wpływ długości okna na wyniki, zastosowanie średnich do wygładzania sezonowości oraz sposoby wyznaczania prognoz wielookresowych po zakończeniu zbioru obserwacji empirycznych.
Spis treści
- Czym jest średnia ruchoma?
- Prosta średnia ruchoma
- Związek z metodą naiwną
- Jak dobrać długość okna?
- Dlaczego dla pierwszych okresów nie ma średniej?
- Ważona średnia ruchoma
- Zasada postarzania informacji
- Średnia ruchoma a sezonowość
- Centrowana średnia ruchoma
- Prognoza na jeden okres naprzód
- Prognoza na kilka okresów naprzód
- Przykład obliczeniowy
- Ocena dokładności prognoz
- Zalety i ograniczenia
- Podsumowanie
Czym jest średnia ruchoma?
Średnia ruchoma jest średnią obliczaną dla kolejnych, przesuwających się fragmentów szeregu czasowego. Każdy taki fragment obejmuje ustaloną liczbę obserwacji, nazywaną długością okna.
Jeżeli okno obejmuje \(k\) obserwacji, w okresie \(t\) wykorzystujemy wartości:
\[ y_t,\ y_{t-1},\ y_{t-2},\ldots,y_{t-k+1} \]
Po przejściu do następnego okresu najstarsza obserwacja wypada z okna, a do obliczeń włączana jest nowa wartość. Okno „porusza się” więc wraz z upływem czasu.
Podstawowe informacje o szeregach czasowych oraz ich budowie zostały przedstawione w artykule poświęconym szeregom statystycznym.
Średnia ruchoma nie wykorzystuje jednego stałego zestawu danych. Jej okno jest regularnie przesuwane, dlatego każda kolejna średnia uwzględnia nowszy fragment szeregu.
Prosta średnia ruchoma
W prostej średniej ruchomej każda obserwacja znajdująca się w oknie ma jednakowe znaczenie. Dla okna długości \(k\) średnia ruchoma w okresie \(t\) wynosi:
\[ MA_t(k) = \frac{1}{k} \sum_{j=0}^{k-1}y_{t-j} \]
W zapisie rozwiniętym:
\[ MA_t(k) = \frac{ y_t+y_{t-1}+y_{t-2}+\ldots+y_{t-k+1} }{k} \]
Jest to, po prostu, średnia arytmetyczna \(k\) obserwacji bezpośrednio poprzedzających okres, dla którego liczymy średnią ruchomą.
Jeżeli stosujemy średnią czterookresową, otrzymujemy:
\[ MA_t(4) = \frac{ y_t+y_{t-1}+y_{t-2}+y_{t-3} }{4} \]
Przykładowo dla wartości:
\[ 98,\quad102,\quad105,\quad103 \]
średnia wynosi:
\[ MA_t(4) = \frac{98+102+105+103}{4} = 102 \]
Jeżeli średnią wykorzystujemy do prognozowania, wartość \(102\) może stanowić prognozę na kolejny okres.
Związek z metodą naiwną
Prosta metoda naiwna poziomu bez zmian jest szczególnym przypadkiem średniej ruchomej. Jeżeli długość okna zmniejszymy do jednej obserwacji, otrzymujemy:
\[ MA_t(1)=y_t \]
Prognoza na następny okres wynosi wtedy:
\[ \widehat{y}_{t+1\mid t}=y_t \]
Jest to dokładnie metoda naiwna poziomu bez zmian.
Metoda naiwna poziomu bez zmian odpowiada średniej ruchomej z oknem \(k=1\).
Jak dobrać długość okna?
Długość okna jest jednym z najważniejszych parametrów metody. Decyduje o tym, jak szybko średnia reaguje na nowe informacje i jak silnie wygładza przypadkowe wahania.
Krótkie okno
Średnia ruchoma z krótkim oknem:
- szybko reaguje na nowe obserwacje,
- zachowuje znaczną część krótkookresowych wahań,
- jest mniej wygładzona,
- może silniej reagować na pojedyncze wartości nietypowe.
Średnia trzyokresowa \(MA(3)\) zwykle szybciej dostosowuje się do zmiany poziomu szeregu niż średnia pięcio- lub siedmiookresowa.
Długie okno
Średnia ruchoma z dłuższym oknem:
- silniej wygładza przypadkowe wahania,
- reaguje wolniej na nowe zmiany,
- może pozostawać w tyle za rosnącym lub malejącym szeregiem,
- wykorzystuje większą liczbę starszych obserwacji.

W szeregu rosnącym średnia o długim oknie może być systematycznie niższa od bieżących obserwacji. W szeregu malejącym może być od nich wyższa. Zjawisko to jest określane jako opóźnienie średniej ruchomej.
Dlaczego dla pierwszych okresów nie ma średniej?
Do obliczenia średniej ruchomej potrzebna jest pełna liczba obserwacji określona przez długość okna. Jeżeli stosujemy średnią \(k\)-okresową, pierwszą wartość można wyznaczyć dopiero po zgromadzeniu \(k\) obserwacji.
Dla średniej \(MA(3)\) pierwszą wartość wyznaczamy z obserwacji:
\[ y_1,\quad y_2,\quad y_3 \]
Jeżeli średnią przypisujemy do końca okna, pierwsza średnia pojawia się w okresie \(3\). Dla okresów \(1\) i \(2\) brakuje dostatecznej liczby wcześniejszych danych.
Dla średniej \(MA(5)\) pierwsza wartość pojawia się dopiero w okresie \(5\). Oznacza to, że dla czterech pierwszych okresów średnia nie może zostać wyznaczona.
Ogólnie dla średniej o oknie \(k\) pomijamy na początku:
\[ k-1 \]
obserwacji, jeżeli średnia jest wyrównana do końca okna.
Ma to znaczenie przy porównywaniu błędów różnych metod. Średnia o dłuższym oknie tworzy mniej historycznych prognoz jednookresowych, ponieważ część początkowych obserwacji służy jedynie do zbudowania pierwszego pełnego okna.
Dla porównania:
- metoda naiwna poziomu bez zmian wymaga jednej wcześniejszej obserwacji,
- metoda naiwna przyrostu bez zmian wymaga co najmniej dwóch wcześniejszych obserwacji,
- średnia ruchoma \(MA(k)\) wymaga co najmniej \(k\) obserwacji do wyznaczenia pierwszej średniej.
Przy porównywaniu dokładności modeli należy wykorzystywać wspólny zakres okresów, dla których każda z ocenianych metod może wyznaczyć prognozę.
Ważona średnia ruchoma
W prostej średniej ruchomej wszystkie obserwacje mają jednakowy wpływ na wynik. W ważonej średniej ruchomej poszczególnym obserwacjom przypisuje się różne wagi.
Dla okna długości \(k\) ważona średnia ruchoma ma postać:
\[ WMA_t = \sum_{j=0}^{k-1}w_jy_{t-j} \]
W zapisie rozwiniętym:
\[ WMA_t = w_0y_t+w_1y_{t-1}+\ldots+w_{k-1}y_{t-k+1} \]
Wagi powinny spełniać warunek:
\[ \sum_{j=0}^{k-1}w_j=1 \]
Najczęściej przyjmuje się również:
\[ w_j\geq0 \]
Dzięki temu ważona średnia pozostaje kombinacją wartości znajdujących się w oknie.
Przykład
Załóżmy, że wykorzystujemy trzy ostatnie obserwacje, uporządkowane od najstarszej do najnowszej:
\[ 104,\quad112,\quad118 \]
Przypisujemy im wagi:
\[ 0{,}2,\quad0{,}3,\quad0{,}5 \]
Suma wag wynosi:
\[ 0{,}2+0{,}3+0{,}5=1 \]
Ważona średnia ruchoma wynosi:
\[ WMA_t = 0{,}2\cdot104 + 0{,}3\cdot112 + 0{,}5\cdot118 \]
\[ WMA_t = 20{,}8+33{,}6+59 = 113{,}4 \]
Najnowsza obserwacja ma największą wagę, dlatego wynik jest bardziej zbliżony do wartości \(118\) niż w przypadku zwykłej średniej arytmetycznej.
Zasada postarzania informacji
W prognozowaniu często zakłada się, że najnowsze obserwacje zawierają więcej informacji o najbliższej przyszłości niż obserwacje starsze. Z tego powodu w ważonej średniej ruchomej stosuje się zasadę postarzania informacji.
Wagi są wtedy uporządkowane następująco:
\[ w_0>w_1>w_2>\ldots>w_{k-1} \]
gdzie \(w_0\) jest wagą obserwacji najnowszej, a \(w_{k-1}\) wagą obserwacji najstarszej.
Przykładowy układ wag dla średniej czterookresowej może mieć postać:
\[ 0{,}4,\quad0{,}3,\quad0{,}2,\quad0{,}1 \]
Najświeższa obserwacja otrzymuje wagę \(0{,}4\), a najstarsza wagę \(0{,}1\).
Malejące wagi są często uzasadnione, ale nie stanowią bezwzględnego wymogu matematycznego. Dobór wag powinien odpowiadać charakterowi zjawiska. W niektórych zastosowaniach większe znaczenie mogą mieć obserwacje pochodzące z analogicznych okresów sezonowych.
Średnia ruchoma a sezonowość
Średnie ruchome są często wykorzystywane do wygładzania wahań sezonowych. Jeżeli długość okna odpowiada długości pełnego cyklu sezonowego, wartości wysokie i niskie występujące w różnych częściach cyklu mogą się wzajemnie równoważyć.
Typowe długości okna to:
- \(k=4\) dla danych kwartalnych z cyklem rocznym,
- \(k=12\) dla danych miesięcznych z cyklem rocznym,
- \(k=7\) dla danych dziennych z cyklem tygodniowym,
- \(k=24\) dla danych godzinowych z cyklem dobowym.
Średnia czterokwartalna może ograniczyć regularne różnice pomiędzy poszczególnymi kwartałami i ułatwić rozpoznanie długookresowego trendu.
W tym zastosowaniu średnia ruchoma jest przede wszystkim narzędziem wygładzania i dekompozycji szeregu. Nie każda średnia służąca do wygładzania jest jednocześnie bezpośrednią prognozą przyszłej wartości.
Centrowana średnia ruchoma
Jeżeli długość okna jest nieparzysta, środek okna przypada na konkretny okres. Dla średniej trzyokresowej:
\[ \frac{y_{t-1}+y_t+y_{t+1}}{3} \]
wartość można przypisać do okresu \(t\).
Przy oknie parzystym, na przykład czterookresowym, środek okna znajduje się pomiędzy dwoma okresami. W analizie szeregu stosuje się wtedy centrowanie średniej ruchomej.
Najpierw oblicza się kolejne średnie czterookresowe:
\[ MA_{t-\frac12}(4), \qquad MA_{t+\frac12}(4) \]
Następnie oblicza się ich średnią:
\[ CMA_t(4) = \frac{ MA_{t-\frac12}(4)+MA_{t+\frac12}(4) }{2} \]
Centrowana średnia ruchoma jest szczególnie przydatna podczas wyodrębniania trendu i składnika sezonowego. Nie jest jednak klasyczną prognozą na końcu szeregu, ponieważ do jej obliczenia potrzebne są obserwacje leżące zarówno przed, jak i po analizowanym okresie.
Prognoza na jeden okres naprzód
Najbardziej naturalnym zastosowaniem średniej ruchomej jest prognoza na jeden okres naprzód. Dla prostej średniej o oknie \(k\):
\[ \widehat{y}_{T+1\mid T} = \frac{1}{k} \sum_{j=0}^{k-1}y_{T-j} \]
Dla ważonej średniej ruchomej:
\[ \widehat{y}_{T+1\mid T} = \sum_{j=0}^{k-1}w_jy_{T-j} \]
Po poznaniu rzeczywistej wartości \(y_{T+1}\) przesuwamy okno o jeden okres i wyznaczamy prognozę na okres \(T+2\).
Jest to przykład prognozowania stale aktualizowanego. Każda nowa prognoza korzysta z najnowszej dostępnej obserwacji.
Różnicę pomiędzy prognozami stale aktualizowanymi a prognozami rozwijanymi ze stałego momentu przedstawiono w artykule Prognozowanie – podstawowe pojęcia, metody i błędy prognoz.
Prognoza na kilka okresów naprzód
Po zakończeniu szeregu obserwacji pojawia się problem: aby przesunąć okno dalej, potrzebne są wartości, których jeszcze nie znamy. Można wtedy zastosować kilka procedur.
Stała prognoza dla wszystkich horyzontów
Najprostszym rozwiązaniem jest utrzymanie pierwszej wyznaczonej prognozy dla wszystkich kolejnych okresów:
\[ \widehat{y}_{T+h\mid T} = \widehat{y}_{T+1\mid T} \]
Ścieżka prognozy jest wtedy pozioma. Podejście jest proste, ale nie wykorzystuje konstrukcji przesuwającego się okna w kolejnych horyzontach.
Prognozowanie rekurencyjne
Drugim podejściem jest zastępowanie brakujących przyszłych obserwacji wcześniej wyznaczonymi prognozami. Procedurę tę można określić jako prognozowanie rekurencyjne albo iteracyjne.
Dla średniej trzyokresowej pierwsza prognoza wynosi:
\[ \widehat{y}_{T+1\mid T} = \frac{ y_T+y_{T-1}+y_{T-2} }{3} \]
W kolejnym kroku nie znamy wartości \(y_{T+1}\), dlatego zastępujemy ją prognozą:
\[ \widehat{y}_{T+2\mid T} = \frac{ \widehat{y}_{T+1\mid T} + y_T + y_{T-1} }{3} \]
Następnie:
\[ \widehat{y}_{T+3\mid T} = \frac{ \widehat{y}_{T+2\mid T} + \widehat{y}_{T+1\mid T} + y_T }{3} \]
W kolejnych krokach rzeczywiste obserwacje stopniowo wypadają z okna, a ich miejsce zajmują wartości prognozowane.
Rekurencyjne prognozy średniej ruchomej często stopniowo stabilizują się w pobliżu pewnego poziomu. Wraz z horyzontem maleje wpływ rzeczywistych obserwacji, a rośnie udział wcześniejszych prognoz.
Przy prognozowaniu wielookresowym trzeba zawsze wskazać, czy kolejne prognozy są utrzymywane na stałym poziomie, czy też są obliczane rekurencyjnie przez podstawianie wcześniejszych prognoz.
Przykład obliczeniowy
Załóżmy, że wartości szeregu wynoszą:
\[ 100,\quad106,\quad104,\quad112,\quad118 \]
Prosta średnia ruchoma \(MA(3)\)
Prognoza na okres \(6\) opiera się na trzech ostatnich obserwacjach:
\[ \widehat{y}_{6\mid5} = \frac{104+112+118}{3} = \frac{334}{3} \approx 111{,}33 \]
W prognozowaniu rekurencyjnym wartość ta zastępuje nieznaną obserwację z okresu \(6\).
Prognoza na okres \(7\):
\[ \widehat{y}_{7\mid5} = \frac{ 112+118+111{,}33 }{3} \approx 113{,}78 \]
Prognoza na okres \(8\):
\[ \widehat{y}_{8\mid5} = \frac{ 118+111{,}33+113{,}78 }{3} \approx 114{,}37 \]
Ważona średnia ruchoma
Przypiszmy trzem ostatnim obserwacjom wagi:
\[ 0{,}2,\quad0{,}3,\quad0{,}5 \]
Największa waga dotyczy wartości najnowszej. Prognoza wynosi:
\[ \widehat{y}_{6\mid5} = 0{,}2\cdot104 + 0{,}3\cdot112 + 0{,}5\cdot118 \]
\[ \widehat{y}_{6\mid5} = 20{,}8+33{,}6+59 = 113{,}4 \]
Ważona średnia daje wyższą prognozę niż prosta średnia \(MA(3)\), ponieważ najnowsza i najwyższa obserwacja otrzymała największą wagę.
Ocena dokładności prognoz
Dokładność średnich ruchomych można oceniać za pomocą błędów ex post i typowych miar, takich jak:
- \(ME\) — średni błąd,
- \(MAE\) — średni błąd bezwzględny,
- \(MSE\) — średni błąd kwadratowy,
- \(RMSE\) — pierwiastek średniego błędu kwadratowego,
- \(MAPE\) — średni bezwzględny błąd procentowy.
Wzory i interpretacje tych miar znajdują się w części Najważniejsze miary błędów prognoz.
Porównując kilka długości okna, należy używać tych samych okresów testowych. Jeżeli \(MA(5)\) nie może wyznaczyć prognoz dla pierwszych czterech obserwacji, nie należy porównywać jej błędu z \(MA(3)\) na innym, dłuższym zakresie.
Dobór okna może zostać przeprowadzony przez obliczenie błędów dla kilku wariantów, na przykład:
- \(MA(2)\),
- \(MA(3)\),
- \(MA(4)\),
- \(MA(5)\).
Następnie wybiera się wariant tworzący najmniejsze błędy na danych, które nie były wykorzystywane do arbitralnego dopasowania długości okna.
Zalety i ograniczenia
Zalety średnich ruchomych
- są łatwe do obliczenia i interpretacji,
- ograniczają wpływ przypadkowych wahań,
- mogą być szybko aktualizowane po pojawieniu się nowych danych,
- nie wymagają budowania złożonego modelu,
- są przydatne jako punkt odniesienia dla bardziej zaawansowanych metod,
- mogą pomagać w wyodrębnianiu trendu i ograniczaniu sezonowości.
Ograniczenia średnich ruchomych
- wymagają arbitralnego lub empirycznego wyboru długości okna,
- dłuższe okno powoduje opóźnienie reakcji,
- dla pierwszych \(k-1\) okresów nie można wyznaczyć średniej wyrównanej do końca okna,
- prosta średnia przypisuje takie samo znaczenie obserwacjom nowym i starszym,
- rekurencyjne prognozy wielookresowe opierają się coraz bardziej na wcześniejszych prognozach,
- metoda nie opisuje bezpośrednio zależności przyczynowych,
- może słabo radzić sobie z silnym trendem lub szybko zmieniającą się sezonowością.
Ograniczenia średnich ruchomych prowadzą do zastosowania metod adaptacyjnych, w których wpływ starszych obserwacji zmniejsza się w bardziej systematyczny sposób. Należą do nich między innymi proste wygładzanie wykładnicze, metoda Browna, metoda Holta oraz metoda Holta – Wintersa.
Podsumowanie
Prosta średnia ruchoma o oknie \(k\) jest średnią arytmetyczną z \(k\) ostatnich obserwacji:
\[ MA_t(k) = \frac{1}{k} \sum_{j=0}^{k-1}y_{t-j} \]
Metoda naiwna poziomu bez zmian jest jej szczególnym przypadkiem dla \(k=1\).
Krótkie okno szybciej reaguje na nowe informacje, lecz słabiej wygładza przypadkowe wahania. Długie okno daje bardziej stabilny przebieg, ale powoduje większe opóźnienie.
Ważona średnia ruchoma pozwala różnicować znaczenie obserwacji:
\[ WMA_t = \sum_{j=0}^{k-1}w_jy_{t-j}, \qquad \sum_{j=0}^{k-1}w_j=1 \]
W prognozowaniu często nadaje się większe wagi obserwacjom nowszym, zgodnie z zasadą postarzania informacji.
Po zakończeniu szeregu prognozę można utrzymać na stałym poziomie albo rozwijać rekurencyjnie, zastępując nieznane obserwacje wcześniejszymi prognozami. Wybrana procedura powinna być jasno wskazana, ponieważ wpływa na przebieg i błędy prognozy wielookresowej.
Średnie ruchome są prostymi i użytecznymi narzędziami, ale ich wyniki zależą od długości okna, sposobu doboru wag oraz charakteru badanego szeregu czasowego.
Utworzono: 15.07.2026
Powiązane artykuły
- Prognozowanie – podstawowe pojęcia, metody i błędy prognoz
- Metody naiwne prognozowania – poziom, przyrost i tempo zmian
- Szeregi statystyczne i formy prezentacji danych
Masz problem z tym tematem?
Wszechwiedza.pl pomaga zrozumieć matematykę, statystykę, ekonometrię, badania operacyjne, analizę danych, mechanikę, rachunkowość i wiele innych przedmiotów — spokojnie, konkretnie i krok po kroku.
Zapytaj o pomoc