
Praca magisterska z ekonometrii różni się zasadniczo od prac opisowych czy przeglądowych. Tu nie wystarczy zebrać literatury i ją zreferować. Musisz postawić hipotezę, dobrać dane, uruchomić model, zinterpretować wyniki i obronić każdy krok metodologicznie. Promotorzy na wydziałach ekonomii i zarządzania oczekują, że pokażesz tok myślenia ilościowca: co mierzysz, dlaczego ta metoda, co mówią testy diagnostyczne i co z tego wynika dla rzeczywistości.
Ten przewodnik przechodzi przez cały proces – od wyboru tematu i danych, przez budowę modelu, po prezentację wyników i pisanie rozdziałów. Skupiam się na tym, co studenci najczęściej robią źle, i na konkretnych narzędziach, z których naprawdę korzystają ekonometrycy.
Zanim zaczniesz: wybór typu pracy i metody
Pierwsza decyzja, którą podejmujesz z promotorem, to typ danych i odpowiadająca im klasa modeli. To nie jest kwestia gustu – dostępność danych wymusza wybór metody.
Dane przekrojowe (cross-sectional) to jeden moment w czasie, wiele jednostek – np. 3000 gospodarstw domowych z badania GUS w 2023 roku. Standardowe modele to OLS, ale przy zmiennej zależnej binarnej (kupił/nie kupił, pracuje/nie pracuje) idziesz w stronę modeli probitowych lub logitowych. Przy zmiennej porządkowej (ocena 1-5) – ordered probit.
Szeregi czasowe (time series) to jedna jednostka obserwowana przez wiele okresów – np. miesięczna inflacja w Polsce 2000-2024. Tu pracujesz z ARIMA, SARIMA (gdy dane są sezonowe), GARCH (gdy modelujesz zmienność, np. kursy walut), VAR (gdy chcesz modelować kilka zmiennych jednocześnie) i kointegrację Johansena, gdy szukasz długookresowych zależności między zmiennymi.
Dane panelowe łączą oba wymiary – wiele jednostek w wielu okresach. Badasz np. eksport 25 krajów UE przez 15 lat. Tu wchodzi pakiet plm w R, efekty stałe (fixed effects) albo losowe (random effects), a wybór między nimi robisz testem Hausmana.
Decyzja o typie danych powinna paść na pierwszym spotkaniu z promotorem – najlepiej jeszcze przed zapisaniem się na seminarium. Zmiana metody w połowie pisania kosztuje cię 2-3 tygodnie.
Gdzie szukać danych i jak je przygotować
Dane to fundament. Zły zbiór danych = niemożliwa do obrony praca, niezależnie od tego, jak pięknie napiszesz resztę.
Najbardziej wiarygodne źródła to:
- Eurostat (ec.europa.eu/eurostat) – dane dla krajów UE, zharmonizowane metodologicznie, łatwe do pobrania w CSV lub przez API
- NBP (nbp.pl/statystyka) – kursy walut, stopy procentowe, agregaty pieniężne M1/M2/M3, bilans płatniczy
- GUS (stat.gov.pl, BDL) – krajowe dane społeczno-gospodarcze, badania ankietowe, dane REGON
- FRED (fred.stlouisfed.org) – baza Rezerwy Federalnej USA, setki tysięcy szeregów makroekonomicznych, idealna do prac porównawczych
- World Bank Open Data – dane dla krajów rozwijających się, PKB per capita, wskaźniki rozwoju
- OECD.Stat – dane dla krajów OECD, szczególnie rynek pracy i edukacja
Po pobraniu danych musisz je wyczyścić zanim cokolwiek policzysz. W R rób to pakietem dplyr i tidyr. W Pythonie – pandas. Sprawdź: braki danych (NA), wartości odstające (outliers), jednostki (czy PKB jest w mln PLN czy mld EUR – pomyłka tu niszczy wyniki), stacjonarność szeregów czasowych (test ADF lub KPSS przed każdym modelem szeregów czasowych).
Typowy błąd: student pobiera dane z Eurostatu dla 27 krajów, ale 4 kraje mają braki za 3 lata i zamiast to omówić, po prostu usuwa wiersze bez komentarza. Promotor to widzi i pyta. Miej odpowiedź.
Budowa modelu regresji – OLS i co po nim
Regresja OLS (Ordinary Least Squares) to punkt wyjścia dla większości prac przekrojowych i panelowych. Estymacja jest prosta, ale obrona założeń modelu wymaga solidnych testów diagnostycznych.
Po oszacowaniu modelu musisz sprawdzić:
- Heteroskedastyczność – testem White’a (
lmtest::bptestw R z opcjątype="Chisq"lub test White’a ręcznie) albo testem Breusch-Pagana. Gdy ją znajdziesz, stosujesz błędy standardowe odporne na heteroskedastyczność (HC3 z pakietusandwichw R). W STATA:robustporegress. - Autokorelację reszt – test Durbina-Watsona dla szeregów, test Breusch-Godfreya dla wyższych rzędów (
bgtestw lmtest). Gdy autokorelacja istnieje, a używasz danych panelowych, rozważ błędy klastrowane - Wielokoliniowość – VIF (Variance Inflation Factor) dla każdej zmiennej objaśniającej. VIF powyżej 10 to sygnał alarmowy, powyżej 5 – warty dyskusji. W R:
car::vif(model). Powyżej progu albo usuwasz jedną ze skorelowanych zmiennych, albo używasz PCA - Normalność reszt – test Jarque-Bera (
tseries::jarque.bera.testw R). Przy dużych próbach (n > 100) możesz się powołać na CLT i nie panikować przy lekkim odchyleniu
Bardzo ważna kwestia: interpretacja współczynników. Nie piszesz „współczynnik przy PKB per capita wynosi 0,42”. Piszesz: „wzrost PKB per capita o 1000 EUR wiąże się ze wzrostem wydatków na edukację o 0,42 punktu procentowego, przy pozostałych zmiennych na stałym poziomie”. Promotorzy i recenzenci czytają te zdania dokładnie.
Przy zmiennych logarytmowanych elastyczność odczytujesz bezpośrednio. Przy zmiennych dummy pamiętaj, że interpretacja jest względem grupy bazowej, którą musisz wyraźnie zdefiniować.
Wyślij fragment tekstu, bezpłatną wycenę otrzymasz w 24 h. Poprawki bez limitu w cenie usługi.
Endogenność i zmienne instrumentalne
To temat, który rozdziela prace przeciętne od dobrych. Endogenność pojawia się, gdy zmienna objaśniająca jest skorelowana z składnikiem losowym – czyli gdy masz problem odwrotnej przyczynowości lub pominiętych zmiennych.
Klasyczny przykład: badasz wpływ wykształcenia na wynagrodzenie. Ale i wykształcenie, i wynagrodzenie mogą zależeć od zdolności poznawczych, których nie obserwujesz. OLS da wynik obciążony.
Rozwiązanie to metoda zmiennych instrumentalnych (IV) lub 2SLS (dwuetapowa MNK). Instrument musi spełniać dwa warunki: musi być skorelowany z endogeniczną zmienną objaśniającą (warunek istotności – sprawdzasz F-statystyką w pierwszym etapie, F > 10 to minimum) i nieskorelowany ze składnikiem losowym (warunek egzogeniczności – testowalny tylko częściowo, np. testem Sargana/Hansena przy nadidentyfikacji).
W R używasz pakietu AER z funkcją ivreg. W STATA: ivregress 2sls. Endogenność jako taką testujesz testem Hausmana lub Durbin-Wu-Hausmana.
Jeśli nie masz dobrego instrumentu, napisz o tym wprost. Lepiej przyznać ograniczenie i omówić je, niż użyć słabego instrumentu i dostać pytanie na obronie.
Szeregi czasowe: ARIMA, VAR i kointegracja
Przy danych szeregów czasowych pierwszym krokiem jest zawsze sprawdzenie stacjonarności. Niestacjonarny szereg (z trendem lub dryftem) prowadzi do regresji pozornych – R-squared blisko 1, ale wyniki bez sensu ekonomicznego.
Test ADF (Augmented Dickey-Fuller) sprawdzasz funkcją ur.df z pakietu urca w R. Podobnie KPSS (ur.kpss). Jeśli szereg jest niestacjonarny I(1), różnicujesz go jeden raz i sprawdzasz ponownie. Przy kointegracji możesz modelować na poziomach (bo kombinacja liniowa jest stacjonarna), ale musisz to udowodnić testem Johansena (ca.jo z urca).
ARIMA(p,d,q) budujesz patrząc na ACF i PACF – wykresy autokorelacji i autokorelacji cząstkowej. Automatyczny wybór rzędów daje funkcja auto.arima z pakietu forecast. Dopasowanie oceniasz kryterium AIC/BIC, nie R-squared (dla szeregów czasowych R-squared jest myląca). Prognozy generujesz funkcją forecast i rysujesz z przedziałami ufności.
VAR (Vector Autoregression) stosujesz, gdy modelujesz kilka powiązanych zmiennych makroekonomicznych – np. PKB, inflację i stopę bezrobocia jednocześnie. Pakiet vars w R. Wybór długości opóźnień przez VARselect, szacowanie przez VAR, diagnostyka przez serial.test i arch.test.
GARCH (Generalized Autoregressive Conditional Heteroskedasticity) jest niezbędny przy danych finansowych, gdzie wariancja reszt zmienia się w czasie – „klastry zmienności”. Pakiet rugarch w R. Standardowe specyfikacje to GARCH(1,1) i EGARCH gdy zmienność reaguje asymetrycznie na wzrosty i spadki.
Narzędzia: R, Python, STATA, EViews, Gretl
Wybór oprogramowania zależy od tego, czego wymagają na twoim wydziale i czego uczysz się na zajęciach.
R jest darmowy i ma największy ekosystem pakietów ekonometrycznych. Kluczowe pakiety:
– lm, glm – regresja liniowa i uogólniona
– plm – dane panelowe
– lmtest, sandwich – testy diagnostyczne i odporne błędy standardowe
– vars – modele VAR
– urca – testy pierwiastka jednostkowego i kointegracja
– forecast – ARIMA, prognozy
– rugarch – modele GARCH
– stargazer – generowanie tabel wynikowych w LaTeX lub HTML
Python z bibliotekami statsmodels i scikit-learn sprawdza się przy dużych zbiorach danych i gdy chcesz łączyć ekonometrię z uczeniem maszynowym. statsmodels.formula.api daje podobny interfejs do formuł jak R. Przy szeregach czasowych: statsmodels.tsa.arima, przy danych panelowych – linearmodels.
STATA jest standardem na wielu wydziałach ekonomicznych i w instytucjach finansowych. Składnia jest prosta, wyniki dobrze udokumentowane. Przy regresji piszesz regress y x1 x2 x3, robust i masz od razu odporne błędy. Panele: xtreg ... fe lub re.
EViews jest popularny przy szeregach czasowych i prognozowaniu makroekonomicznym. Interfejs graficzny ułatwia budowę modeli VAR i VECM.
Gretl jest darmowy i ma przyjazny interfejs. Dobry jako narzędzie do nauki, mniej używany w pracach naukowych.
Niezależnie od narzędzia: zapisuj cały kod w pliku skryptu, nie rób analiz klikając w menu GUI. Promotor może poprosić o kod. Komentuj każdy krok.
Prezentacja wyników
Tabele wynikowe muszą być czytelne i kompletne. Każda tabela regresji powinna zawierać: wartości współczynników, błędy standardowe (lub t-statystyki) w nawiasach, gwiazdki istotności (p<0,1; p<0,05; **p<0,01), R-squared i jego korektę, liczbę obserwacji, wyniki kluczowych testów diagnostycznych.
W LaTeX generujesz to pakietem stargazer w R:
library(stargazer)
stargazer(model1, model2, model3,
type = "latex",
se = list(se_robust1, se_robust2, se_robust3),
title = "Wyniki estymacji OLS",
label = "tab:regresja")
Jeśli nie używasz LaTeX, piszesz pracę w Wordzie – eksportuj tabelę przez stargazer(..., type="html") i wklej do dokumentu, albo ręcznie formatuj w Wordzie zachowując spójny format.
Wykresy diagnostyczne robisz w R funkcją plot(model) – dostaniesz 4 podstawowe wykresy: residuals vs fitted, Q-Q plot, scale-location, residuals vs leverage. Zamieszczasz je w aneksie lub rozdziale metodologicznym i krótko komentujesz.
Przy szeregach czasowych musisz zamieścić wykresy ACF i PACF, wykres szeregu w czasie oraz wykres reszt modelu. Przy prognozach – wykres z przedziałami ufności.
Jak pisać rozdziały pracy
Rozdział teoretyczny to przegląd literatury i ram teoretycznych. Musisz się tu odnieść do oryginalnych prac metodologicznych – nie tylko podręczników. Np. jeśli stosujesz test White’a, zacytuj White (1980). Jeśli model logitowy, McFadden (1974). Rób to przez Google Scholar, JSTOR lub bazy EBSCOhost dostępne przez bibliotekę uczelni.
Rozdział metodologiczny opisuje: jakie dane, skąd, za jaki okres, dlaczego te zmienne (uzasadnienie ekonomiczne, nie tylko statystyczne), jakie metody i dlaczego te a nie inne. Tu nie unikaj trudnych słów – ale każde pojęcie techniczne wyjaśniasz.
Rozdział empiryczny to serce pracy. Zaczynasz od statystyk opisowych (tabela ze średnią, odchyleniem standardowym, min, max dla każdej zmiennej). Potem wyniki estymacji z tabelami i ich interpretacją. Następnie testy diagnostyczne i co z nich wynika. Na koniec dyskusja wyników w kontekście hipotez.
Rozdział z wnioskami to nie streszczenie rozdziału empirycznego. Tu piszesz: co potwierdziłeś/obaliłeś, jakie to ma implikacje dla polityki gospodarczej lub dalszych badań, jakie są ograniczenia twojej pracy (danych, metody, okresu).
Ograniczenia to nie słabość – to dojrzałość naukowa. Każda praca ma ograniczenia i lepiej je nazwać samemu niż słyszeć o nich na obronie.
FAQ
Ile obserwacji potrzebuję do regresji OLS?
Nie ma jednej reguły, ale powszechna zasada mówi o minimum 10-20 obserwacji na każdy szacowany parametr. Jeśli masz 5 zmiennych objaśniających plus stałą, potrzebujesz co najmniej 60-120 obserwacji, żeby wyniki były wiarygodne. Przy małych próbach (n < 30) wyniki są bardzo wrażliwe na wartości odstające. Przy danych panelowych liczy się łączna liczba obserwacji (n x T), nie tylko liczba jednostek.
Czy mogę zmienić model po tym, jak zobaczę wyniki?
Możesz, ale musisz to zrobić świadomie i uczciwie. „Data mining” (testowanie dziesiątek specyfikacji i wybranie tej, która daje najlepsze R-squared) jest metodologicznie nierzetelny. Specyfikację modelu powinieneś uzasadnić przed estymacją na podstawie teorii ekonomicznej. Jeśli zmienisz model po zobaczeniu danych, napisz o tym i uzasadnij, dlaczego zmiana jest sensowna ekonomicznie, nie tylko statystycznie.
Czym różni się efekt stały od losowego w danych panelowych?
Efekt stały (fixed effects, FE) zakłada, że nieobserwowane cechy jednostek są skorelowane ze zmiennymi objaśniającymi. Eliminujesz je przez „demeanowanie” (odjęcie średniej dla każdej jednostki). Efekt losowy (random effects, RE) zakłada brak tej korelacji i traktuje nieobserwowane cechy jako część składnika losowego. Który wybrać? Testem Hausmana. W R: phtest(model_fe, model_re). Jeśli p-wartość testu jest mała (np. < 0,05), stosujesz FE. Efekt stały eliminuje zmienność między jednostkami, więc nie możesz estymować współczynników przy zmiennych, które nie zmieniają się w czasie (np. kraj, płeć).
Jak interpretować wyniki modelu probitowego?
Bezpośrednich współczynników modelu probit nie interpretujesz jak OLS – nie mówią, o ile zmienia się prawdopodobieństwo przy zmianie zmiennej o jednostkę. Musisz policzyć efekty krańcowe (marginal effects). W R używasz mfx::probitmfx albo margins::margins. W STATA: margins, dydx(*) po probit. Efekt krańcowy mówi: przy wzroście x o 1 jednostkę, prawdopodobieństwo zdarzenia zmienia się o β punktów procentowych (oceniane zazwyczaj w średnich wartościach zmiennych lub jako uśrednione efekty krańcowe). Przy zmiennych zero-jedynkowych efekt krańcowy to różnica prawdopodobieństwa między grupą 0 i 1.
Co zrobić gdy test ADF nie odrzuca hipotezy o pierwiastku jednostkowym, ale dane wyglądają stacjonarnie na wykresie?
Test ADF ma małą moc przy krótkich szeregach (T < 50) i przy procesach bliskich granicy stacjonarności. Zrób dodatkowe testy: KPSS (w R: ur.kpss z urca) i PP (Phillips-Perron: PP.test w R). KPSS ma odwróconą hipotezę zerową (H0: stacjonarność), więc porównanie wyników ADF i KPSS daje pełniejszy obraz. Jeśli wyniki testów są sprzeczne, opisz to w pracy, podaj statystyki testowe i wartości krytyczne, i wyjaśnij, jaką decyzję podjąłeś i dlaczego. Promotorzy doceniają, gdy student rozumie ograniczenia metody, a nie ślepo aplikuje test.


