équations de différence dans Matlab - pourquoi la nécessité de signes de changement?
-
03-10-2019 - |
Question
Peut-être est plus d'une question mathématique qu'un d'une Matlab, pas vraiment sûr. J'utilise Matlab pour calculer un modèle économique - le nouveau modèle hybride ISLM -. Et il y a un pas confondre où l'auteur passe le signe de la solution
Tout d'abord, l'auteur déclare des variables symboliques et met en place un système d'équations de différence. On notera que les suffixes "a" et "2t" à la fois moyen "temps t + 1", "2a" signifie "temps t + 2" et "t" signifie "temps t":
%% --------------------------[2] MODEL proc-----------------------------%%
% Define endogenous vars ('a' denotes t+1 values)
syms y2a pi2a ya pia va y2t pi2t yt pit vt ;
% Monetary policy rule
ia = q1*ya+q2*pia;
% ia = q1*(ya-yt)+q2*pia; %%option speed limit policy
% Model equations
IS = rho*y2a+(1-rho)*yt-sigma*(ia-pi2a)-ya;
AS = beta*pi2a+(1-beta)*pit+alpha*ya-pia+va;
dum1 = ya-y2t;
dum2 = pia-pi2t;
MPs = phi*vt-va;
optcon = [IS ; AS ; dum1 ; dum2; MPs];
Edit: Les équations qui vont dans la matrice, comme ils apparaissent dans un manuel sont les suivants (accolades indiquent les valeurs de la période de temps, les lettres grecques sont des paramètres):
Première équation:
y{t+1} = rho*y{t+2} + (1-rho)*y{t} - sigma*(i{t+1}-pi{t+2})
Deuxième équation:
pi{t+1} = beta*pi{t+2} + (1-beta)*pi{t} + alpha*y{t+1} + v{t+1}
troisième et quatrième mannequins:
y{t+1} = y{t+1}
pi{t+1} = pi{t+1}
Cinquième est simple:
v{t+1} = phi*v{t}
Sur la route, l'auteur calcule la matrice A:
%% ------------------ [3] Linearization proc ------------------------%%
% Differentiation
xx = [y2a pi2a ya pia va y2t pi2t yt pit vt] ; % define vars
jopt = jacobian(optcon,xx);
% Define Linear Coefficients
coef = eval(jopt);
B = [ -coef(:,1:5) ] ;
C = [ coef(:,6:10) ] ;
% B[c(t+1) l(t+1) k(t+1) z(t+1)] = C[c(t) l(t) k(t) z(t)]
A = inv(C)*B ; %(Linearized reduced form )
Pour autant que je comprends, ce A est la solution au système. Il est la matrice qui transforme le temps t + 1 et t + 2 variables en t et t + 1 variables (c'est un modèle prospectif). Ma question est essentiellement pourquoi est-il nécessaire d'inverser les signes de toutes les dérivées partielles en B afin d'obtenir cette solution? Je parle de cette étape:
B = [ -coef(:,1:5) ] ;
Inverser le signe ici renverse évidemment le signe de tous les composants de A, mais je n'ai pas une compréhension claire des raisons pour lesquelles il est nécessaire. Je présente mes excuses si la question ne sait pas ou si ce n'est pas le meilleur endroit pour demander.
La solution
Je pense que la clé est que le modèle est tourné vers l'avenir, de sorte que les pentes (les dérivées partielles) doivent être inversées pour revenir en arrière dans le temps. Une façon de penser est-à-dire que la fonction jacobian () calcule toujours les dérivés dans le sens de l'avant-temps.
Vous avez un vecteur de sortie des états appelés optcon = [IS, AS, dum1, dum2, députés], et deux vecteurs d'états d'entrée [y2 EP2 y pi v]. Le vecteur d'entrée à l'instant t + 1 est [Y2A pi2a ya pia va], et le vecteur d'entrée à l'instant t est [y2t pi2t yt vt pit]. Ces deux sont concaténés dans un seul vecteur pour l'appel à jacobienne (), puis séparée après. La même chose aurait pu être fait en deux appels. Les 5 premières colonnes de la sortie du jacobien () sont les dérivées partielles de optcon par rapport au vecteur d'entrée à l'instant t + 1, et le second 5 colonnes sont par rapport au vecteur d'entrée à l'instant t.
Afin d'obtenir la forme réduite, vous devez venir avec deux équations pour optcon à l'instant t + 1. La seconde moitié de coef est juste ce qu'il faut. Mais la première moitié de coef est l'équation pour optcon à l'instant t + 2. L'astuce consiste à inverser les signes des dérivées partielles pour obtenir des coefficients linéarisés qui prennent le vecteur d'entrée à l'instant t + 1 à l'optcon de sortie à t + 1.