MacroLens

Operacijos su laiko eilutėmis

Šiame puslapyje

Šiame skyriuje aprašytos visos MacroLens operacijos su laiko eilutėmis (Techninės specifikacijos 2.11 p.) ir pateikta pavyzdžių. Kiekvieną operaciją galima atlikti trimis būdais:

  • analizės lange pasirinkus eilutę ir operaciją iš meniu (parametrai įvedami formoje);
  • formulių kalba – kiekviena operacija turi funkcijos pavadinimą (pvz., yoy(s));
  • per Excel priedą, įkeliant duomenis su pertvarkymu.

Visų operacijų rezultatus galima išsaugoti, vaizduoti diagramose ir lentelėse bei naudoti ataskaitose ir pateiktyse. Tikslūs parametrų sąrašai ir numatytosios reikšmės pateikti funkcijų žinyne.

Kaip pridėti operaciją

  1. Analizėje pasirinkite eilutę ir spauskite Pridėti operaciją.
  2. Pasirinkite operaciją iš grupių sąrašo arba suraskite ją pagal pavadinimą.
  3. Patikrinkite ar pakeiskite parametrus (numatytosios reikšmės tinka daugeliu atvejų) ir patvirtinkite.

Operacija pridedama eilutės operacijų sekos pabaigoje; eilutės aprašyme nurodoma, kokie žingsniai atlikti (pvz., „dažnis → Q (vidurkis); metinis pokytis, %“). Bet kurį žingsnį galite pakeisti ar pašalinti. Operacijos atliekamos iš eilės, todėl jų tvarka svarbi.

Laikotarpiai visur žymimi taip: metai 2024, pusmetis 2024-S2, ketvirtis 2024-Q3, mėnuo 2024-07, savaitė 2024-W27, diena 2024-07-15. Dažniai: A – metinis, S – pusmetinis, Q – ketvirtinis, M – mėnesinis, W – savaitinis, D – dieninis.

Praeities reikšmių keitimas ir ateities reikšmių pridėjimas

TS 2.11.1. Pasirinkę eilutės veiksmą Keisti reikšmes, pakeiskite bet kurią reikšmę arba įrašykite reikšmes laikotarpiams po paskutinio stebinio (pvz., savo prognozę 2026–2027 m.). Ištrinta reikšmė tampa trūkstama. Pakeitimai galioja tik analizėje, duomenų bazė nesikeičia, o operacijų seka taikoma jau pakeistiems duomenims. Daugiau – Analizės.

Dažnio keitimas

TS 2.11.2. Funkcija convert(s, dažnis, metodas).

Dažnio mažinimas (pvz., mėnesinis → ketvirtinis → metinis):

Metodas Rezultatas Tinka
average laikotarpio vidurkis lygiams ir santykiniams rodikliams: nedarbo lygiui, kainų indeksams, palūkanų normoms
sum laikotarpio suma srautams: eksportui, BVP (mln. EUR), biudžeto pajamoms
last paskutinė laikotarpio reikšmė laikotarpio pabaigos būklės rodikliams: skolai, gyventojų skaičiui metų pabaigoje
first pirmoji laikotarpio reikšmė laikotarpio pradžios būklės rodikliams
max, min didžiausia ar mažiausia reikšmė pvz., didžiausiam mėnesio kursui per metus

Dažnio didinimas (pvz., metinis → ketvirtinis):

Metodas Rezultatas
linear tiesinė interpoliacija; metų reikšmė priskiriama paskutiniam naujo dažnio laikotarpiui (IV ketvirčiui)
cubic glodi (kubinė) interpoliacija
constant ta pati reikšmė kartojama kiekviename laikotarpyje
distribute metų suma padalijama po lygiai (pvz., metinis srautas į ketvirtinius)

auto (numatytasis) – būdas parenkamas pagal rodiklio pobūdį (matavimo vienetą, pavadinimą ir duomenų rinkinį): srauto rodikliai (pvz., BVP, eksportas) mažinant dažnį sumuojami, didinant – paskirstomi po lygiai; laikotarpio pabaigos būklės rodikliams (pvz., skolai, indėliams) imama paskutinė reikšmė (laikotarpio pradžios būklės rodikliams, pvz., gyventojų skaičiui mėnesio pradžioje, – pirmoji), didinant dažnį jie interpoliuojami tiesiškai; normos, indeksai, kainos, valiutų kursai ir neaiškūs atvejai mažinant dažnį vidurkinami, didinant – interpoliuojami tiesiškai. Taikytas būdas nurodomas laiko eilutės istorijoje (pvz., „suma; automatiškai: srauto rodiklis“); aiškiai pasirinktas būdas niekada nekeičiamas. Nepilni laikotarpiai (pvz., ketvirtis, kurio turimi tik du mėnesiai) atmetami, nebent pasirenkate partial (tuomet skaičiuojama iš turimų reikšmių).

Pavyzdžiai:

  • Mėnesinis nedarbo lygis: 2025-01 – 6,8; 2025-02 – 7,0; 2025-03 – 7,2. convert(s, "Q", "average") → 2025-Q1 = 7,0.
  • Mėnesinis eksportas: 100; 110; 120 mln. EUR. convert(s, "Q", "sum") → 2025-Q1 = 330.
  • Metinė vertė 2024 m. – 400. convert(s, "Q", "distribute") → kiekvienas 2024 m. ketvirtis = 100.
  • Metinės reikšmės: 2023 m. – 100, 2024 m. – 104. convert(s, "Q", "linear") → 2024-Q1 = 101, Q2 = 102, Q3 = 103, Q4 = 104.
convert(s1, "A", "sum")
convert(s1, "Q", "last")

Svertinis vidurkis

TS 2.11.3. Funkcija wavg(s1, s2, …, weights=[w1, w2, …]) sudaro kelių eilučių svertinio vidurkio eilutę. Eilutės turi būti vienodo dažnio (jei ne – pirmiau pakeiskite dažnį). Kai normalize įjungta (numatytasis), svoriai padalijami iš jų sumos, todėl svoriai [3, 1] reiškia 75 % ir 25 %. Svoriai yra pastovūs skaičiai. Jei kurios nors eilutės reikšmės tam laikotarpiui nėra, rezultato reikšmės tam laikotarpiui taip pat nėra (kitų eilučių svoriai neperskaičiuojami). Laikui bėgant kintančius svorius (pvz., BVP dalis) pritaikysite formule: (lt*bvp_lt + lv*bvp_lv) / (bvp_lt + bvp_lv).

Pavyzdys: s1 = 2,0, s2 = 5,0, svoriai 0,6 ir 0,4 → 0,6 × 2,0 + 0,4 × 5,0 = 3,2. Su svoriais [3, 1]: (3 × 2,0 + 1 × 5,0) / 4 = 2,75.

wavg(lv, ee, pl, weights=[0.5, 0.3, 0.2])

Taip galima apskaičiuoti, pavyzdžiui, pagrindinių prekybos partnerių BVP augimą, pasvertą eksporto dalimis.

Vėlinimas ir ankstinimas

TS 2.11.4. lag(s, n) – vėlinimo operatorius: reikšmė laikotarpiu t lygi pradinei reikšmei laikotarpiu t − n. lead(s, n) – ankstinimo operatorius: reikšmė laikotarpiu t lygi pradinei reikšmei laikotarpiu t + n. n matuojamas eilutės laikotarpiais (ketvirtinei eilutei lag(s, 4) – vieneri metai).

Laikotarpis s lag(s, 1) lead(s, 1)
2024-Q1 100 – 102
2024-Q2 102 100 105
2024-Q3 105 102 –

Vėlinimai dažnai naudojami formulėse:

  • s - lag(s, 4) – metinis absoliutus pokytis ketvirtiniams duomenims;
  • lead(pmi, 3) – rodiklio reikšmė po 3 mėnesių (patogu tikrinant, ar rodiklis pirmauja).

Tos pačios eilutės skirtingų laikotarpių palyginimas

TS 2.11.5. Yra keli būdai:

  • shiftyears(s, 1) – perkelia eilutę vieneriais metais pirmyn laiko ašyje. Diagramoje pridėjus ir pradinę, ir perkeltą eilutę, matysite, kaip šių metų mėnesiai atrodo praėjusių metų fone.
  • window(s, "2008-Q1", "2012-Q4") – apriboja eilutę pasirinktu laikotarpiu. Kelios tos pačios eilutės kopijos su skirtingais laikotarpiais leidžia palyginti, pvz., dvi krizes.
  • Palyginti laikotarpių formą patogu juos perskaičiavus į indeksus nuo laikotarpio pradžios:
rebase(window(bvp, "2008-Q1", "2012-Q4"), "2008-Q1")
rebase(window(bvp, "2020-Q1", "2024-Q4"), "2020-Q1")
  • Statistinė analizė Laikotarpių palyginimas pateikia pasirinktų laikotarpių vidurkius, standartinius nuokrypius ir vidutinį augimą greta – žr. Statistinė analizė.

Agregavimas

TS 2.11.6.

Funkcija Aprašymas Pavyzdys
rolling(s, langas, funkcija) slankioji suma, vidurkis, minimumas, maksimumas, mediana arba standartinis nuokrypis per paskutinius langas laikotarpių rolling(s, 12, "sum") – 12 mėnesių suma
cumulative(s, funkcija, "year") kaupiamoji suma (ar kt.) nuo eilutės pradžios arba nuo kiekvienų metų pradžios cumulative(s, "sum", "year")
ytd(s, "sum") suma ar vidurkis nuo metų pradžios ytd(biudzetas, "sum")
sum(s1, s2, …), mean(…), min(…), max(…) kelių eilučių suma, vidurkis, minimumas ar maksimumas kiekvienu laikotarpiu sum(eksp_prek, eksp_pasl)

Pavyzdys: mėnesio biudžeto pajamos sausį–kovą – 10, 12, 11. cumulative(s, "sum", "year") → 10, 22, 33; kitų metų sausį kaupimas prasideda iš naujo.

Kelių eilučių funkcijose, trūkstant bet kurios eilutės reikšmės, pagal numatytuosius nustatymus trūksta ir rezultato reikšmės; parinktis skipna leidžia skaičiuoti iš turimų reikšmių. Laikotarpio sumą ar vidurkį (pvz., ketvirčio sumą iš mėnesių) gausite dažnio keitimu.

Pokyčiai

TS 2.11.7.

Funkcija Skaičiuoja
mom(s) mėnesinį pokytį, % (tik mėnesiniams duomenims)
qoq(s) ketvirtinį pokytį, % (ketvirtiniams duomenims; mėnesiniams – pokytį per 3 mėnesius); annualize=true – perskaičiuotą metiniu tempu
yoy(s) metinį pokytį, % – palyginti su tuo pačiu praėjusių metų laikotarpiu (bet kokio dažnio duomenims)
diff(s, n) absoliutų pokytį per n laikotarpių
logdiff(s, n) logaritminį pokytį: 100 × (ln s(t) − ln s(t − n))
changeref(s, "2019-Q4", "pct") pokytį pasirinkto atskaitos taško atžvilgiu (%, absoliutų, santykį ar logaritminį)
change(s, rūšis, horizontas, n, annualize) bendrą pokyčio funkciją: rūšis abs, pct, log, log_pct, ratio; horizontas period, month, quarter, year arba custom (n laikotarpių)

Pavyzdys (ketvirtinis indeksas):

Laikotarpis Reikšmė
2019-Q4 95,0
2023-Q1 98,0
2023-Q4 100,0
2024-Q1 101,5

2024-Q1 rezultatai:

  • ketvirtinis pokytis qoq(s): (101,5 / 100,0 − 1) × 100 = 1,50 %;
  • ketvirtinis pokytis metiniu tempu qoq(s, annualize=true): ((101,5 / 100,0)⁴ − 1) × 100 = 6,14 %;
  • metinis pokytis yoy(s): (101,5 / 98,0 − 1) × 100 = 3,57 %;
  • absoliutus pokytis diff(s, 1): 101,5 − 100,0 = 1,5;
  • logaritminis pokytis logdiff(s, 1): 100 × ln(101,5 / 100,0) = 1,49;
  • pokytis atskaitos taško 2019-Q4 atžvilgiu changeref(s, "2019-Q4", "pct"): (101,5 / 95,0 − 1) × 100 = 6,84 %.

mom(s) taikant ne mėnesinei eilutei rodoma klaida – tokiu atveju naudokite qoq, yoy arba change.

Konvertavimas į indeksus

TS 2.11.8. rebase(s, bazės_pradžia, bazės_pabaiga, reikšmė) apskaičiuoja indeksą: reikšmė × s(t) / (eilutės vidurkis baziniu laikotarpiu). Numatytoji bazinė reikšmė – 100. Jei bazinio laikotarpio pabaiga nenurodyta, bazė – vienas laikotarpis.

Pavyzdys: ketvirtinės reikšmės 2015 m. – 78, 79, 81, 82 (vidurkis 80). Kai 2024-Q1 reikšmė yra 100, rebase(s, "2015-Q1", "2015-Q4") duoda 100 × 100 / 80 = 125,0.

  • rebase(s, "2015") – metiniams duomenims: 2015 = 100;
  • rebase(s, "2015-Q1", "2015-Q4") – ketvirtiniams duomenims: 2015 m. vidurkis = 100;
  • rebase(s, "2021-12", "", 1) – mėnesiniams duomenims: 2021 m. gruodis = 1.

Trendo išskyrimas

TS 2.11.9. trend(s, metodas):

Metodas Trendas
linear tiesinis trendas (mažiausių kvadratų metodu)
quadratic kvadratinis trendas
loglinear eksponentinis (pastovaus augimo tempo) trendas
hp Hodriko ir Preskoto filtro trendas (numatytasis)
moving_average centruotas slankusis vidurkis (window laikotarpių)

Hodriko ir Preskoto parametras λ, jei nenurodytas, parenkamas pagal dažnį: metiniams duomenims – 100, ketvirtiniams – 1600, mėnesiniams – 129 600. Didesnis λ – glodesnis trendas.

Hodriko ir Preskoto trendas paskutiniuose eilutės taškuose yra mažiau patikimas („galų problema“) ir gali keistis atsiradus naujiems duomenims.

Ciklo komponento išskyrimas

TS 2.11.10. cycle(s, metodas) grąžina ciklo komponentą – eilutės nuokrypį nuo trendo:

Metodas Aprašymas
hp Hodriko ir Preskoto filtras (numatytasis)
bk Baxterio ir Kingo juostinis filtras: išskiria svyravimus, kurių trukmė nuo low iki high metų (numatytoji 1,5–8 m.); eilutės pradžioje ir pabaigoje prarandama po k stebinių
cf Christiano ir Fitzgeraldo juostinis filtras (tie patys low/high), apima visą laikotarpį
hamilton Hamiltono (2018) regresinis filtras – alternatyva HP filtrui be galų problemos
linear nuokrypis nuo tiesinio trendo

output="pct" – nuokrypis procentais nuo trendo (logaritmais); output="abs" (numatytasis) – absoliutus nuokrypis.

Pavyzdys – BVP atotrūkis: realaus (palyginamosiomis kainomis), sezoniškai koreguoto BVP nuokrypis nuo potencialo, %:

cycle(bvp_real, "hp", output="pct")

Ciklo analizei naudokite sezoniškai koreguotas realias eilutes.

Sezono įtakos pašalinimas

TS 2.11.11. sa(s, metodas):

  • x13 (numatytasis) – X-13ARIMA-SEATS – JAV surašymų biuro programa, kurią naudoja daugelis statistikos institucijų. MacroLens leidžia programai automatiškai parinkti regARIMA modelį ir nustatyti išskirtis ir taiko jos X-11 išskaidymą (be koregavimo dėl darbo dienų skaičiaus); SEATS išskaidymas ir X-13 diagnostinės lentelės (parinktas ARIMA modelis, išskirtys, M ir Q statistikos) nepateikiami;
  • stl – sezoninis ir trendo išskaidymas LOESS metodu (STL);
  • classical – klasikinis išskaidymas slankiaisiais vidurkiais.

Jei X-13ARIMA-SEATS skaičiavimas konkrečiai eilutei neįmanomas (pvz., eilutė per trumpa), naudojamas STL metodas ir tai aiškiai nurodoma eilutės žingsnių aprašyme.

mode – multiplicative (sezoniniai svyravimai proporcingi lygiui; tik teigiamoms reikšmėms), additive arba auto (parenkama automatiškai). output – sa (sezoniškai koreguota eilutė, numatytoji), seasonal (sezoninis komponentas), trend (trendo ir ciklo komponentas) arba irregular (atsitiktinis komponentas).

Taikoma mėnesiniams ir ketvirtiniams duomenims. X-13ARIMA-SEATS reikia bent trejų pilnų metų duomenų; visais atvejais reikia bent dvejų pilnų metų duomenų be spragų.

sa(s1)
sa(s1, "stl", output="seasonal")

Jei šaltinis skelbia oficialią sezoniškai koreguotą eilutę (metaduomenyse – SA ar SCA), paprastai geriau naudoti ją. Atsiradus naujiems duomenims sezoniniai veiksniai perskaičiuojami, todėl ankstesnės koreguotos reikšmės gali šiek tiek pasikeisti.

Glodinimas

TS 2.11.12. smooth(s, metodas, …):

Metodas Aprašymas Parametrai
ma slankusis vidurkis iš paskutinių window laikotarpių window (numatytasis 3)
centered_ma centruotas slankusis vidurkis window
ewma eksponentinis glodinimas alpha (0–1; didesnis – mažiau glodina)
loess lokalioji regresija (LOESS) frac – naudojamų stebinių dalis (0–1)
hp Hodriko ir Preskoto filtras lam
henderson Hendersono slankusis vidurkis (naudojamas sezoninio koregavimo programose) window (nelyginis, pvz., 13 mėnesiniams)

Hodriko ir Preskoto filtras atskirai: hp(s, λ, "trend") arba hp(s, λ, "cycle"). Dažniausios λ reikšmės: metiniams duomenims 100 (arba 6,25), ketvirtiniams – 1600, mėnesiniams – 129 600 (arba 14 400).

Pavyzdys: reikšmės 4, 6, 8, 10. smooth(s, "ma", 3) → trečiasis laikotarpis (4 + 6 + 8) / 3 = 6, ketvirtasis (6 + 8 + 10) / 3 = 8. Centruotas vidurkis smooth(s, "centered_ma", 3) antrajam laikotarpiui = 6, trečiajam = 8.

Aritmetiniai veiksmai

TS 2.11.13. Su viena eilute ir skaičiumi:

Funkcija Veiksmas Formulėje
add(s, 5), subtract(s, 5) pridėti, atimti s + 5, s - 5
multiply(s, 2), divide(s, 2) padauginti, padalyti s * 2, s / 2
power(s, 2) kelti laipsniu s ** 2
log(s), log10(s), exp(s) natūrinis, dešimtainis logaritmas, eksponentė
abs(s), sqrt(s), negate(s), reciprocal(s) modulis, kvadratinė šaknis, priešingas ženklas, 1/s -s, 1 / s
round(s, 1) apvalinti iki nurodyto skaitmenų po kablelio skaičiaus
scale(s, 0.001, "mlrd. EUR") padauginti iš daugiklio ir pakeisti matavimo vienetą

Veiksmai tarp kelių eilučių atliekami formulėmis, pvz., eksportas - importas arba skola / bvp * 100. Veiksmai atliekami su to paties laikotarpio reikšmėmis.

Kiti pertvarkymai

  • fill(s, metodas) – užpildo trūkstamas reikšmes: linear (tiesine interpoliacija), ffill (ankstesne reikšme), bfill (kita reikšme), zero (nuliu); limit – kiek daugiausia iš eilės trūkstamų reikšmių užpildyti.
  • annualize(s, būdas) – išreiškia laikotarpio reikšmes metiniu tempu: sum (numatytasis) – padaugina iš laikotarpių skaičiaus per metus (pvz., ketvirčio srautas × 4), compound – procentinį augimo tempą perskaičiuoja metams sudėtiniu principu, pvz., annualize(qoq(s), "compound").

Dažniausios klaidos

Pranešimas Ką daryti
Eilutės yra skirtingo dažnio Pakeiskite vienos eilutės dažnį (convert) arba nustatykite analizės bendrą dažnį
Operacija netinka šio dažnio duomenims Pvz., mom – tik mėnesiniams duomenims, sezoninis koregavimas – mėnesiniams ir ketvirtiniams
Per mažai stebinių Pailginkite laikotarpį arba pasirinkite kitą metodą
Neteisinga laikotarpio reikšmė Naudokite formatą 2024, 2024-Q3, 2024-07 ir pan.

Ar šis puslapis atsakė į jūsų klausimą? Jei ne, užduokite klausimą pagalbos tarnybai