Stosowane modele równowagi ogólnej (CGE)
ogólnej (CGE)
Wykład 2
Zasady linearyzacji równań
Linearyzacja
• W pakiecie GEMPACK domyślnie zapisuje się równania w postaci zlinearyzowanej.
• Zmienne wyrażone są domyślnie w kategoriach procentowych przyrostów.
• Korzyści z linearyzacji – wygodna interpretacja
• Korzyści z linearyzacji – wygodna interpretacja równań, stosunkowo prosty algorytm
rozwiązywania modelu.
• Przyjmujemy konwencję zapisu:
– poziomy zmiennych – wielkie litery.
– procentowe przyrosty zmiennych – małe litery.
Różniczka zupełna
gdzie
n n
X dX dX Y
X dX Y
X dY Y
∂ + ∂
∂ + + ∂
∂
= ∂ K
2 2
1 1
) ,
, ,
(X X X
Y
Y = K
gdzie
są różniczkami, tj. nieskończenie małymi przyrostami poszczególnych zmiennych.
) ,
, ,
(X1 X 2 X n Y
Y = K
dX n
dX dX
dY , 1, 2,K,
Definicja
• Nieskończenie mały procentowy przyrost zmiennej (np.
zmiennej Y) definiujemy jako:
⋅100
≡ Y y dY
• Przypomnijmy: Y – poziom zmiennej, y – procentowy przyrost.
Y
Różniczka – raz jeszcze
• Z definicji podanej na poprzednim slajdzie wynika tożsamość:
• co po podstawieniu do wyrażenia różniczki zupełnej
100 y dY Y ⋅
=
• co po podstawieniu do wyrażenia różniczki zupełnej pozwala przekształcić wyjściowe równanie „na
poziomach” do postaci „na procentowych przyrostach”.
• Równanie w postaci zlinearyzowanej może służyć do wyznaczenia procentowej zmiany zmiennej
endogenicznej, następującej pod wpływem zadanych procentowych zmian zmiennych egzogenicznych.
Linearyzacja iloczynu
• Dane jest równanie „na poziomach”:
• Różniczka zupełna:
Z X
Y = ⋅
Z dZ dX Y
X dY Y
∂ + ∂
∂
= ∂
• Po przekształceniach otrzymujemy:
• Uwaga! Powyższe równanie jest spełnione
w przybliżeniu (dokładnie – tylko dla nieskończenie małych procentowych przyrostów zmiennych).
dZ X
dX Z
dY = ⋅ + ⋅
z x
y = +
„Linearyzacja” sumy
• Dane jest równanie „na poziomach”:
• Różniczka zupełna:
Z X
Y = +
Z dZ dX Y
X dY Y
∂ + ∂
∂
= ∂
• Po przekształceniach otrzymujemy:
• a dalej:
dZ dX
dY = +
z Z x
X y
Y ⋅ = ⋅ + ⋅ Y z
x Z Y
y = X ⋅ + ⋅
Zadania
Zlinearyzować (tj. przekształcić do postaci „na
procentowych przyrostach”) następujące równania:
• Y=X/Z
• Y= α·X gdzie α – stała.
• Y=X–Z
• Y=X–Z
• Y=Xα gdzie α – stała.
• V=PK·K+PL·L
• Y=β·Kα·L(1–α) gdzie α, β – stałe.
• Y=2·X2+3/Z
• Y=(2·X·Z–5·W)3
Błąd linearyzacji (1)
Przykład:
• Równanie „na poziomach”: Y=X2+Z
• Postać zlinearyzowana:
y=2X2/Y·x + Z/Y·z y=2X2/Y·x + Z/Y·z
gdzie małe litery wyrażają procentowe przyrosty (krańcowe), a duże – poziomy zmiennych (ich wartości wyrażające początkowe rozwiązanie równania „na poziomach”).
• W równaniu zlinearyzowanym x, y, z są
zmiennymi; X, Y, Z – współczynnikami (stałymi).
Błąd linearyzacji (2)
• Mając następujące rozwiązanie
początkowe: X=3, Z=6, Y=15 równanie zlinearyzowane przyjmuje postać:
y=6/5·x + 2/5·z
• Zakładając, że X↑20%, Z↓10%, tj. x=20, z=–10, otrzymujemy:
y=6/5·20 + 2/5·(–10)=20 [Y↑20%]
• Jest to wynik przybliżony. Dokładny wynik to Y↑22,4%.
Błąd linearyzacji – ćwiczenie
• Równanie „na poziomach”:
• Rozwiązanie początkowe: X=4, Y=2.
• Równanie zlinearyzowane: ………….
X Y =
• Zakładamy wzrost X z 4 do 16 (o 300%).
• Wynik dokładny: Y rośnie o …………%.
• Aproksymacja: y=………..
Y 1 step YJ
dY
Błąd linearyzacji – ilustracja
Exact
X0 X X
Y0
Yexact
dX F
Yexact – rozw. dokładne; YJ – rozw. przybliżone (metoda Johansena).
Źródło: dokumentacja modelu MINIMAL.
Y 1 step
3 step Exact Y1
Y3 Yexact Y2
YJ
Jak zmniejszyć błąd linearyzacji? (1)
Exact
X0 X1 X2 X3 X
Y0
Y Yexact
XF
Podział zmiany X na kilka mniejszych kroków (dla mniejszych kroków błędy linearyzacji są proporcjonalnie mniejsze) – metoda Eulera (wielokrokowa – multistep).
Źródło: dokumentacja modelu MINIMAL.
Jak zmniejszyć błąd linearyzacji? (2)
• Dzieląc zmiany X na nieskończoną (a w praktyce – bardzo dużą) liczbę kroków otrzymalibyśmy dokładne rozwiązanie…
• …ale takie podejście jest nieefektywne (relatywnie długi czas obliczeń)…
(relatywnie długi czas obliczeń)…
• …dlatego zaproponowano wykorzystanie ekstrapolacji.
Ekstrapolacja rozwiązań (1)
• Rozw. w 2 krokach – w każdym zwiększamy X o 100%
• Rozw. w 4 krokach – w każdym zwiększamy X o 41,42%
·
Metoda y Błąd
Johansena (1 krok) 150% 50 p.p.
• W tym przykładzie podwojenie liczby kroków zmniejsza błąd ok. dwukrotnie – więc np. dla 8 kroków y≈106% itd.
Źródło: dokumentacja modelu MINIMAL.
·
Eulera (2 kroki) 125% 25 p.p.
Eulera (4 kroki) 112,3% 12,3 p.p.
Eulera (∞ kroków) 100% 0
Ekstrapolacja rozwiązań (2)
• Faktycznie GEMPACK dzieli zmianę X nieco inaczej, tak że otrzymamy:
·
Metoda y Błąd
Johansena (1 krok) 150% 50 p.p.
Eulera (2 kroki) · 127,5% 27,5 p.p.
Eulera (2 kroki) 127,5% 27,5 p.p.
Eulera (4 kroki) 114,16% 14,16 p.p.
Eulera (∞ kroków) 100% 0
Rozw. wielokrokowe a współczynniki (1)
• W poprzednim przykładzie
zlinearyzowane równanie nie zawierało współczynników.
• Inny przykład: Y=X2+1
( Y = X )
• Po linearyzacji: y=2·X2/Y·x
• Lub y=C·x gdzie C=2·X2/Y
• W powyższym równaniu występuje współczynnik C.
Rozw. wielokrokowe a współczynniki (2)
• Zał. rozw. początkowe: X=1, Y=2.
• Symulujemy zmianę X=1→X=4, dzieląc ją na 2 kroki: X=1→X=2→X=4.
• W punkcie X=1 współczynnik C=...
• W punkcie X=1 współczynnik C=...
• Ale w punkcie X=2 współczynnik C=...
• Zatem w symulacji wielokrokowej (inaczej niż w 1-krokowej) współczynniki nie są
stałe i powinny być aktualizowane z każdym krokiem symulacji.
Rozw. wielokrokowe a współczynniki (3)
• W kodzie modelu (TABLO) do aktualizacji współczynników służy polecenie Update.
Rodzaje Update
• Jeśli w modelu jest zmienna p_x
wyrażająca procentowy przyrost X:
Update X = p_x;
• Jeśli X=X1·X2·X3:
• Jeśli X=X1·X2·X3:
Update X = p_x1*p_x2*p_x3;
• W pozostałych przypadkach potrzebna formuła na zwykły przyrost (krańcowy) X.
Update (change) X = ...;