1

おそらく、これは MATLAB の問題というよりも数学の問題であり、よくわかりません。私は MATLAB を使用して経済モデル (New Hybrid ISLM モデル) を計算していますが、作成者がソリューションの符号を切り替えるという紛らわしい手順があります。

最初に、著者はシンボリック変数を宣言し、差分方程式系を設定します。接尾辞「a」と「2t」はどちらも「時間 t+1」を意味し、「2a」は「時間 t+2」を意味し、「t」は「時間 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];  

編集:教科書に表示されるように、マトリックスに入る方程式は次のとおりです(中括弧は期間の値を示し、ギリシャ文字はパラメーターです):

最初の方程式:

y{t+1} = rho*y{t+2} + (1-rho)*y{t} - sigma*(i{t+1}-pi{t+2})

2 番目の式:

pi{t+1} = beta*pi{t+2} + (1-beta)*pi{t} + alpha*y{t+1} + v{t+1}

3 番目と 4 番目はダミーです。

y{t+1} = y{t+1}
pi{t+1} = pi{t+1}

5番目は簡単です:

v{t+1} = phi*v{t}

次に、著者は行列 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 ) 

私が理解している限りでは、この A はシステムに対するソリューションです。これは、時間 t+1 および t+2 変数を t および t+1 変数に変換する行列です (これは前向きモデルです)。私の質問は、基本的に、この解を得るために B のすべての偏導関数の符号を逆にする必要があるのはなぜですか? 私はこのステップについて話している:

B =  [ -coef(:,1:5)  ] ;

ここで符号を反転すると、明らかに A のすべてのコンポーネントの符号が反転しますが、なぜそれが必要なのか明確に理解していません。質問が不明確な場合、またはこれが質問するのに最適な場所でない場合は、お詫び申し上げます。

4

1 に答える 1

2

重要なのは、モデルが将来を見据えていることだと思います。そのため、時間を遡るには勾配 (偏導関数) を逆にする必要があります。これを考える 1 つの方法は、jacobian() 関数は常に順方向の導関数を計算すると言うことです。

optcon = [IS;AS;dum1;dum2;MPs] という状態の出力ベクトルと、入力状態の 2 つのベクトル [y2 pi2 y pi v] があります。時刻 t+1 での入力ベクトルは [y2a pi2a ya pia va] であり、時刻 t での入力ベクトルは [y2t pi2t yt pit vt] です。これら 2 つは、jacobian() の呼び出し用に 1 つのベクトルに連結され、後で分離されます。同じことを 2 回の呼び出しで実行できた可能性があります。jacobian() の出力の最初の 5 列は、時間 t+1 での入力ベクトルに関する optcon の偏導関数であり、次の 5 列は、時間 t での入力ベクトルに関するものです。

簡約形式を取得するには、時間 t+1 での optcon の 2 つの方程式を考え出す必要があります。coef の後半はまさに必要なものです。ただし、coef の前半は、時間 t+2 での optcon の式です。秘訣は、t+1 での入力ベクトルを t+1 での出力 optcon にする線形化された係数を取得するために、偏導関数の符号を逆にすることです。

于 2010-05-20T21:53:58.200 に答える