Wolfram言語

ランダム行列

ベクトル自己回帰過程のシミュレーション

MatrixNormalDistributionを使ってベクトル自己回帰過程のシミュレーションを行う.

In[1]:=
Click for copyable input
sigR = Covariance[ARProcess[{a}, 1][Range[0, 100]]]; sigC = {{s11, s12}, {s12, s22}};
In[2]:=
Click for copyable input
rules = {a -> 1/2, s11 -> 1, s12 -> 1/2, s22 -> 3};
In[3]:=
Click for copyable input
\[ScriptCapitalD] = MatrixNormalDistribution[sigR, sigC] /. rules;

行列分布からのランダムサンプルのシミュレーションを行う.

In[4]:=
Click for copyable input
vals = RandomVariate[\[ScriptCapitalD], 10^4];

サンプルとして取った値からTemporalDataを構築する.

In[5]:=
Click for copyable input
td = TemporalData[vals, {0, Length[sigR] - 1, 1}, ValueDimensions -> 2]
Out[5]=

対角ベクトル自己回帰過程を推定する.

In[6]:=
Click for copyable input
proc = ARProcess[{a IdentityMatrix[2]}, sigC];
In[7]:=
Click for copyable input
sol = FindProcessParameters[td, proc]
Out[7]=

もとの値と比較する.

In[8]:=
Click for copyable input
sol[[All, 2]] - rules[[All, 2]]
Out[8]=

関連する例

de en es fr ko pt-br ru zh