Szereg czasowy (time series), to ciąg wartości w kolejnych jednostkach czasu. Co oznacza, że nie jest to zbiór tylko właśnie ciąg (tj. zbiór uporządkowany)
Szereg czasowy: momentów/okresów. Szeregi momentów rejestrują pewien stan (liczba chorych w szpitalu na ostatni dzień miesiąca) szeregi czasowe rejestrują pewien zasób (liczba przyjętych do szpitala w miesiącu).
Częstotliwość szeregu czasowego: dzienna, tygodniowa, miesięczna, kwartalna, roczna. Mogą być dane rejestrowane jeszcze częściej: godzinowe albo nawet minutowe.
Porównanie dynamiki (najprostsza analiza): kiedy rośnie/kiedy spada. Jak rośnie/jak spada (szybciej/wolniej/cyklicznie itd.) Należy zwrócić uwagę na: 1) porównujemy to samo (w długim okresie czasu zjawisko może być różnie definiowane/mierzone); 2) porównujemy jednakowe przedziały czasowe (realnie nie formalnie – luty/marzec to różnica 10% z definicji jeżeli chodzi o liczbę dni); 3) uwzględniamy naturalne cykle dynamiki zjawiska (lato/jesień; grudzień/styczeń; wakacje itd)
Poziom przeciętny średnia (szereg czasowy okresów); średnia chronologiczna (szereg czasowy momentów.) Średnia chronologiczna jest liczona jak normalna średnia z tą różnicą, że pierwszy/ostatni element średniej jest dzielony przez 2 (czyli dodajemy pół pierwszego/ostatniego elementu a nie cały) oraz że nie dzielimy przez \(N\) tylko przez \(N-1\).
Przyrosty absolutne (\(P_a\)): różnica między poziomem zjawiska w okresie badanym do okresu podstawowego (bazowego); \(P_a = P_t - P_0\) gdzie \(P_t\) oznacza wielkość w okresie badanym a \(P_0\) wielkość w okresie podstawowym. Np. liczba pacjentów na oddziala wzrosła w grudniu w porównaniu do listopada 40 (albo spadła o 31)
Można liczyć \(P_a\) biorąc za podstawę wybrany okres/moment – takie \(P_a\) nazywa się jednopodstawowe (fixed base); lub biorąc za podstawę poprzedni okres/moment – łańcuchowe (chain).
Przyrosty względne (\(P_w\)) : względna różnica czyli iloraz \(P_a\) do poziomu w okresie podstawowym, zwykle w procentach; \(P_w = (P_t - P_0)/P_0\). Liczba pacjentów wzrosła 15% w porównaniu do okresu podstawowego.
Mogą być łańcuchowe jak jednopodstawowe.
Wskaźniki dynamiki (\(W_d\)) zwane też indeksami:względna miara dynamiki – iloraz poziomu zjawiska w okresie badanym do poziomu w okresie podstawowym, zwykle w procentach; \(W_d = P_t/P_0\) Zachodzi zależność: \(W_d = 100 + P_w\).
Interpretacja (oczywista): odejmujemy od wartości \(W_d\) 100%. Jeżeli wartość jest mniejsza od zera interpretujemy jako spadek.
Np. liczba pacjentów na oddziala wzrosła o 15% w grudniu w porównaniu do listopada. (Interpretacja jest ta sama co przyrostów względnych)
Objaśnienia w języku (fixed-base index vs chain index): https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:Chain_index
Średnie tempo zmian
Coś w rodzaju średniej wartości indeksów; interpretowane jako przeciętna zmiana wartości. Pierwiastek stopnia \(N-1\) z iloczyny \(P_{w1} \cdot P_{w2} \cdot ... \cdot P_{wN}\); takie coś nazywa się także średnią geometryczną.
Liczba pacjentów na oddziale w pierwszym półroczy rosła przeciętnie o 5% z miesiąca na miesiąc.
Chcemy porównać zmiany wydatków na żywność. Prosta sprawa: \(W = w^1 + w^2 + ... + w^n\) gdzie \(w^k\) (\(k=1,...,n\)) jest wartością wydatków na określony produkt. Oczywiście \(i_w = W_t/W_0\) będzie wskaźnikiem dynamiki. Ale…
\(W = p \cdot q\) (gdzie \(p\) oznacza cenę a \(q\) ilość):
\(i_w = (q^1_t \cdot p^1_t + q^2_t \cdot p^2_t + ... q^n_t \cdot p^n_t) / (q^1_0 \cdot p^1_0 + q^2_0 \cdot p^2_0 + ... q^n_0 \cdot p^n_0)\)
Albo używając znaku sumowania \(\sum\):
\(i_w = (\sum q_t * p_t) / (\sum q_0 * p_0)\)
Jeżeli chcemy oszacować oddzielny wpływ zmian cen i ilości to musimy przyjąć stałą wielkość tego czynnika, którego wpływ chcemy pominąć.
Przykładowo badając wpływ zmiany cen ustalamy jednakową wielkość ilości.
Dwa najcześciej stosowane sposoby to przyjęcie poziomu cen/ilości z okresu bazowego (indeks Laspeyresa; https://pl.wikipedia.org/wiki/%C3%89tienne_Laspeyres) lub badanego (indeks Paaschego; https://pl.wikipedia.org/wiki/Hermann_Paasche). Każdy z wariantów ma dwa indeksy: ilości i ceny.
Agregatowy indeks Laspeyresa ceny:
\(I_p^L = (\sum q_0 \cdot p_t) / (\sum q_0 \cdot p_0) \cdot 100\)
(zmienia się cena; ilość jest ta sama na poziomie okresu bazowego)
Interpretacja: odejmujemy od wartości \(I_w\), \(I_p\), \(I_q\) 100%. Jeżeli wartość jest mniejsza od zera interpretujemy jako spadek.
Przykładowo: przy założeniu, że ilości w okresie badanym są identyczne jak w okresie podstawowym, wydatki na żywność wzrosły o x% z powodu zmiany cen.
Podobnie: przy założeniu, że ceny w okresie badanym są identyczne jak w okresie podstawowym, wydatki na żywność wzrosły o x% z powodu zmiany ilości kupowanych produktów.
Można udowodnić że: \(I_w = I_p^L \cdot I_q^P\) oraz \(I_w = I_p^P \cdot I_q^L\) (Indeks agregatowy jest iloczynem indeksów ilości oraz ceny liczonych według różnych formuł)
W przypadku szeregów czasowych wykres liniowy (ewentualnie punktowy lub słupkowy) jest najpopularniejszy. Przykład: z bazy danych WHO (https://www.who.int/data/gho) pobrano informacje nt odsetka osób dorosłych z nadwagą (BMI 30 i więcej; Prevalence of obesity among adults…) dla Polski w latach 1975–2016.
Uwaga: WHO podaje wskaźniki surowe (crude) i standaryzowane; pobrano surowe
Wykres liniowy
Interpretacja: czy zjawisko rośnie czy spada; jak szybko rośnie jak szybko spada.
Uwaga: można manipulować wykresem poprzez zmianę proporcji (współczynnika proporcji czyli po angielsku aspect ratio)
Teraz (optycznie) wolniej rośnie (proporcja wysokość/szerokość jest większa)…
Oraz (albo raczej pośrednio) zakresem na osi OY;
Jeżeli oś OY nie zaczyna się od zera to krzywa będzie bardziej stroma bo efektywnie wykres będzie miał większe proporcje wysokość/szerokość:
Puryści uważają że każdy wykres powinien zaczynać się od zera. Są przykłady zeznań przed komisją senacją w USA gdzie dowody prezentowane na wykresach z niezerową linią bazową były dyskwalifikowane jako manipulacja.
Słynna książka How to lie with statistics zawiera rozdział na temat zatytułowany The Gee-Whiz Graphs; https://en.wikipedia.org/wiki/Misleading_graph
Można umieścić wiele krzywych celem porównania:
Jeżeli krzywe się dobrze zachowują (czytaj: nie przecinają się) na to sens; w innym przypadku trudno jest porównać krzywe. Nie należy też przesadzać z liczbą krzywych na wykresie. Na pewno coś co wygląda jak splątany makaron będzie bezużyteczne…
Punktowy:
Nie uważam za dobry pomysł. Nie podkreśla ciągłości zjawisk w czasie
Słupkowy:
Jest OK. Ale wielosłupki zamiast wielu linii prowadzą do problemów:
Oba dla mnie nieczytelne a do tego ten drugi wykres daje mylne wrażenie że łącznie otyłych jest 3/4 ludności (jak ktoś nieuważnie czyta)
W szeregu czasowym można zwykle wyróżnić długookresową tendencję (trend); powtarzalne wahania (sezonowość); resztę traktuje się jako wartości przypadkowe. Reasumując:
\[TS = T + S + E\]
lub
\[TS = T \cdot S \cdot E\]
Pierwszy wariant nazywa się addytywny drugi multiplikatywny. W wariancie addytywnym zmiany (trendu/sezonowości) okres/okres są stałe; w wariancie multiplikatywnym tempo zmiany jest stałe, tj. zjawisko okres/okres rośnie/spada o x%. W jednostkach bezwzględnych oznacza to, że rośnie/spada coraz szybciej.
Problem: oszacowanie T oraz S
Średnia ruchoma (moving average MA). Idea tego wygładzania jest prosta: sumujemy kolejne wartości szeregu i dzielimy przez liczbę elementów sumy (średnia \(k\)-okresowa); Ile elementów sumujemy jest dobieramy metodą prób/błędów…
Przykład dzienne dane nt. liczby zgonów z powodu COVID (w okresie 1.10.2020–5.2.2021; źródło komunikaty MZ via Twitter a od 28.01.2021 https://www.gov.pl/web/koronawirus/wykaz-zarazen-koronawirusem-sars-cov-2; strona reklamowana przez Google!):
Na powyższym wykresie mamy 4 średnie ruchome 3, 7, 14, 28 okresową. Średnia trzy okresowa jest za mało wygładzona. Średnie 7, 14, 28 są podobne ale każda kolejna jest krótsza.
Najlepsza średnia ruchoma: 7 okresów. (Dostatecznie wygładza trend i jest najdłuższa)
Polega na dopasowaniu określonej funkcji matematycznej; w najprostszym przypadku prostej przy użyciu metody najmniejszych kwadratów, czyli zakłada się że trend jest postaci:
\[Y = a + b \cdot t + e\]
gdzie \(e\) oznacza składnik losowy; Parametry \(a\) i \(b\) są wyznaczane w taki sposób aby suma kwadratów różnic pomiędzy punktami na prostej a odpowiadającymi im obserwacjami empirycznymi była jak najmniejsza. Wielkość tej sumy (lub pierwiastek kwadratowy z sumy) jest miarą dokładności dopasowania (wariancja składnika losowego; albo średni błąd składnika losowego/resztowego–dla pierwiastka kwadratowego)
Udział wariancji składnika losowego w całości wariancji zmiennej \(Y\) jest inną miarą dopasowania (znaną jako współczynnik determinacji \(\Phi^2\); por. wykład nt korelacji/regresji); im ten udział jest mniejszy tym lepiej (lub jeżeli współczynnik zdefiniujemy jako 1 minus ww udział to im większy tym lepiej – współczynnik zbieżności czyli \(R^2\))
Przykład Dane nt zgonów z powodu COVID w okresie 1.10.2020–5.2.2021 (linia niebieska trend dopasowany metodą NK)
Współczynnik kierunkowy trendu liniowego wynoszący 1.5583885 jest interpretowany jako przeciętna zmiana z okresu na okres. Równanie prostej można zapisać jako:
zgony = 1.5583885 czas + 182.7417569
Interpretacja: w omawianym okresie przeciętnie umierało 1,5 osoby więcej dziennie. Ale dopasowanie linii prostej do danych jest słabe co widać oraz o czym świadczą wartości \(R^2\) (9.2613784%, tj. 9.2613784% zmienności jest objaśniane przez model) oraz średni błąd składnika losowego \(S_e\) (181.6602058). Ten błąd warto porówać do średniej wartości zmiennej objaśmnianej (liczby zgonów), która w omawianym okresie wynosi 283.2578125. Zatem błąd jaki popełniamy stanowi 64.1324609% średniej. Dużo (coś jakby średnio 1 \(\pm\) 0,6)
Inny przykład (nadwaga w PL):
Współczynnik kierunkowy trendu liniowego wynoszący 0.3502796 jest interpretowany jako przeciętna zmiana z okresu na okres. Równanie prostej można zapisać jako:
nadwaga = 0.3502796 czas + 9.8785134
Interpretacja: w omawianym okresie przeciętnie przybywało 0.3502796% osób z nadwagą rocznie. Dopasowanie linii prostej do danych jest bardzo dobre co widać oraz o czym świadczą wartości \(R^2\) (99.4245443%, tj. 99.4245443% zmienności jest objaśniane przez model) oraz średni błąd składnika losowego \(S_e\) (0.3309818). Ten błąd warto porówać do średniej wartości zmiennej objaśmnianej (liczby zgonów), która w omawianym okresie wynosi 17.4095238. Zatem błąd jaki popełniamy stanowi 1.9011537% średniej.
Plik MZM.csv
zawiera dane miesięczne dotyczące liczby
zwiedzających Muzeum Zamkowe w Malborku w podziale na
ogółem oraz gości krajowych i zagranicznych. Przy czym podział na
krajowych/zagranicznych jest mocno umowny–wg wyjaśnień pracownika MZM
zwiedzający jest pytany przy zakupie biletu na tę okoliczność.
Dane zostały udostępnione przez biuro MZM w kwietniu 2019 roku.
Szacujemy linię trendu liniowego
Interpretacja: w omawianym okresie miesięczna liczba zwiedzających rosła o 174.4149321 osób. Dopasowanie linii prostej jest bardzo słabe (\(R^2\) = 0.3610404% oraz \(S_e\) = 43511.4403132).
Sezonowość uwzględniamy dodając do równania \(d -1\) zmiennych zero-jedynkowych, gdzie \(d\) jest liczbą podokresów (dla danych kwartalnych \(d=4\), dla miesięcznych \(d=12\)). Dla \(k\)-tej zmiennej zero-jedynkowej:
\(z=1\) jeżeli podokres jest równy k, albo zero w każdej innej sytuacji
Czyli pierwsza zmienna zerojedynkowa będzie miała wartość 1 dla stycznia, druga wartość 1 dla lutego itd…
Wygląda to dość pracochłonnie ale np. jeżeli korzystamy z Gretla jest banalnie proste (Gretl sam się połapie ile wynosi \(d\) i doda do równiania tyle zmiennych ile trzeba i jeszcze je odpowiednio przekoduje)
Wynik jest taki:
##
## Call:
## lm(formula = razem ~ trend + miesiac, data = z0)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16360 -3824 -794 3377 21154
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5018.67 3945.68 -1.272 0.21112
## trend 353.06 65.76 5.369 0.0000041754 ***
## miesiac01 455.48 4596.24 0.099 0.92158
## miesiac02 2076.82 4592.01 0.452 0.65365
## miesiac03 1685.77 4588.71 0.367 0.71538
## miesiac04 16594.69 4861.00 3.414 0.00154 **
## miesiac05 77617.14 4854.33 15.989 < 0.0000000000000002 ***
## miesiac06 71807.58 4848.53 14.810 < 0.0000000000000002 ***
## miesiac07 112205.03 4843.63 23.166 < 0.0000000000000002 ***
## miesiac08 113808.97 4839.61 23.516 < 0.0000000000000002 ***
## miesiac09 33420.17 4836.48 6.910 0.0000000326 ***
## miesiac10 11508.11 4834.24 2.381 0.02241 *
## miesiac11 1193.81 4832.90 0.247 0.80623
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6834 on 38 degrees of freedom
## Multiple R-squared: 0.9809, Adjusted R-squared: 0.9749
## F-statistic: 163 on 12 and 38 DF, p-value: < 0.00000000000000022
Interpretacja: w omawianym okresie miesięczna liczba zwiedzających rosła o 353.0555556 osób. Dopasowanie linii prostej jest znakomite (\(R^2\) = 98.0937719% oraz \(S_e\) = 6834.1190407).
Przypominamy: do równania dodajemy \(d-1\) zmiennych (jak dodamy \(d\) to równanie nie da się oszacować); W
powyższym przykładzie dodano zmienne styczeń–listopad
(miesiac01
–miesiac12
) a nie ma zmiennej
grudzień.
Jeżeli wszystkie zmienne zero-jedynkowe mają wartość zero, to
równanie opisuje grudzień. Zatem interpretacja współczynników przy
zmiennych miesiac01
–miesiac12
sprowadza się do
porównania względem grudnia, np. W styczniu jest przeciętnie 455.48 osób
więcej niż w grudniu a sierpniu 113808.97 osób więcej niż w grudniu.
(Por wydruk powyżej)
Oczywiście jeżeli grudzień nam nie pasuje jako baza do porównań możemy wybrać inny miesiąc czyli usunąć go z równania a dodać zamiast niego grudzień.