ANALIZA DANYCH W STATA 8.0 CZĘŚĆ II ZAJĘCIA 4 (CZĘŚĆ II) Będziemy pracować na pliku bory tucholskie.dta Wszystkie przykłady najlepiej jest robić w Do-file Editor (wejście: doedit) Wygładzanie szeregów średnia ruchoma help tssmooth help tssmooth_ma Średnia ruchoma z takimi samymi wagami: tssmooth ma Nazwa nowej zmiennej = Wyrażenie do wygładzenia (np. nazwa zmiennej do wygładzenia), window(liczba1 liczba2 liczba3) o liczba1 liczba okresów wstecz (ELEMENT WYMAGANY) o liczba2 (0 lub 1) czy uwzględniamy okres bieżący (0 = nie, 1 = tak) o liczba3 liczba okresów naprzód Średnia ruchoma z różnymi wagami: tssmooth ma Nazwa nowej zmiennej = Wyrażenie do wygładzenia (np. nazwa zmiennej do wygładzenia), weights(a_wag1 <liczba> a_wag2) o a_wag1 wagi przypisane obserwacjom wcześniejszym o liczba waga przypisana bieżącej obserwacji (ELEMENT WYMAGANY) o a_wag2 wagi przypisane obserwacjom przyszłym CZĘŚĆ II ZAJĘCIA 4: 1/6
Przykład 1: generate t = _n tsset t tssmooth ma klewki = pkb, window(2 1) describe tssmooth ma klewki = pkb, window(1 1 1) replace tssmooth ma klewki = pkb, weights(1 2 3 <4> 3 2 1) replace describe tssmooth ma klewki = pkb, weights(<3> 0 4 0 3) replace tssmooth ma klewki2 = pkb-han, window(3 0 3) Wygładzanie szeregów wyrównywanie wykładnicze help tssmooth_exponential Wzór na wyrównywanie wykładnicze: o S szereg wykładzony o X szereg rzeczywisty ( 1 α) S = αx + S t t 1 t 1 tssmooth exponential Nazwa nowej zmiennej = Wyrażenie do wygładzenia (np. nazwa zmiennej do wygładzenia), Przykładowe opcje: parms(liczba) samp0(liczba) s0(liczba) replace parametr wygładzania α, liczba z przedziału (0;1) (domyślnie: parametr minimalizujący sumę kwadratów błędów prognozy w istniejącej próbie) liczba obserwacji do wyznaczenia wartości początkowej szeregu wygładzonego (domyślnie: połowa liczby wszystkich obserwacji) wartość początkowa szeregu wygładzonego (domyślnie: średnia wartość wyrażenia do wygładzania dla połowy liczby wszystkich obserwacji) Opcja samp0() nie może być połączona z opcją s0() CZĘŚĆ II ZAJĘCIA 4: 2/6
Przykład 2: tssmooth exponential szeroki_bor = pkb pkb szeroki_bor in 1/3 summarize pkb in 1/54 tssmooth exponential szeroki_bor = pkb, parms(0.3) replace quietly summarize pkb in 1/54 generate karwica_mazurska = r(mean) in 1 forvalues marcinkowo = 2/108 { quietly replace karwica_mazurska = 0.3*l.pkb + /// 0.7*l.karwica_mazurska in `marcinkowo' } generate roznica = szeroki_bor - karwica_mazurska roznica Przykład 3: tssmooth exponential pisz = han+pkb, s0(10) pisz in 1/3 tssmooth exponential pisz = han+pkb, samp0(25) replace generate ruciane_nida = han+pkb summarize ruciane_nida in 1/25 pisz in 1/3 tssmooth exponential pisz = han+pkb, samp0(54) replace tssmooth exponential pisz2 = han+pkb pisz* in 1/3 summarize ruciane_nida in 1/54 Wygładzanie szeregów pozostałe help tssmooth_dexponential help tssmooth_hwinters help tssmooth_shwinters help tssmooth_nl CZĘŚĆ II ZAJĘCIA 4: 3/6
help var help varfcast_compute help varfcast_graph help vargranger Modele VAR Ogólna postać modelu VAR stopnia p: y = v+ A1y 1 +... + A y + Bx + u t t p t p t t o y wektor zmiennych y (zmiennych zależnych) o A macierze parametrów o x wektor zmiennych egzogenicznych Model VAR składa się z równań, w których każda ze zmiennych y jest liniową funkcją: p swoich opóźnień p opóźnień pozostałych zmiennych y zmiennych egzogenicznych var Lista zmiennych y, Przykładowe opcje: lags(a_opóźnień) exog(a_zmiennych) Jakie opóźnienia są zawarte w modelu (domyślnie: lags(1 2), co oznacza opóźnienie t 1 oraz t 2) Lista zmiennych egzogenicznych Przykład 4: keep pkb - t capture drop in 109/l var pkb han rol var pkb han rol, lags(2/4) var pkb han rol, lags(1 3) exog(bud) var pkb han, lags(2) exog(bud) regress pkb l2.pkb l2.han bud CZĘŚĆ II ZAJĘCIA 4: 4/6
Przykład 5: keep pkb - t keep in 1/108 var pkb han rol varfcast compute varfcast compute, clear step(10) generate spychowo = [rol]_coef[_cons] + /// [rol]_coef[l.pkb] * l.pkb + /// [rol]_coef[l2.pkb] * l2.pkb + /// [rol]_coef[l.han] * l.han + /// [rol]_coef[l2.han] * l2.han + /// [#3]_coef[l.rol] * l.rol + /// [#3]_coef[l2.rol] * l2.rol generate roznica = rol_f - spychowo in 109 roznica in 109 varfcast graph pkb han rol Przykład 6: keep pkb-t keep in 1/108 var pkb han rol in 1/100 varfcast compute, step(8) varfcast graph pkb han rol, observed Test przyczynowości Grangera test Walda Zmienna x wpływa w sensie Grangera (Granger causes) na zmienną y, jeśli mając dane przeszłe wartości y przeszłe wartości x są pomocne w prognozowaniu y Przykład 7: keep pkb-t keep in 1/108 H 0 : Parametry przy opóźnionych wartościach zmiennych x są równe 0, tzn. x nie wpływa na y w sensie Grangera var bud rol han, lags(2/3) vargranger test ([bud]l2.rol = 0) ([bud]l3.rol=0) test [bud]l2.han [bud]l3.han test [bud]l2.rol [bud]l3.rol [bud]l2.han [bud]l3.han CZĘŚĆ II ZAJĘCIA 4: 5/6
Granger causality Wald tests Equation Excluded chi2 df Prob > chi2 bud rol 0.3898 2 0.8229 bud han 7.1321 2 0.0283 bud ALL 11.2174 4 0.0242 rol bud 4.1635 2 0.1247 rol han 4.9937 2 0.0823 rol ALL 6.5418 4 0.1622 han bud 8.3891 2 0.0151 han rol 8.4959 2 0.0143 han ALL 15.0564 4 0.0046 p = 0.8229: nie ma podstaw do odrzucenia hipotezy zerowej mówiącej, że rol nie wpływa na bud w sensie Grangera p = 0.0283: odrzucamy hipotezę zerową mówiącą, że han nie wpływa na bud w sensie Grangera (przy poziomie istotności = 5%) p = 0.0242: odrzucamy hipotezę zerową mówiącą, że han i rol (łącznie) nie wpływają na bud w sensie Grangera (przy poziomie istotności = 5%) CZĘŚĆ II ZAJĘCIA 4: 6/6