Simule um processo de vetor autoregressivo
Use MatrixNormalDistribution para simular o processo de vetor autoregressivo.
In[1]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_109.png)
sigR = Covariance[ARProcess[{a}, 1][Range[0, 100]]];
sigC = {{s11, s12}, {s12, s22}};
In[2]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_110.png)
rules = {a -> 1/2, s11 -> 1, s12 -> 1/2, s22 -> 3};
In[3]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_111.png)
\[ScriptCapitalD] = MatrixNormalDistribution[sigR, sigC] /. rules;
Simule uma amostra aleatória da matriz de distribuição.
In[4]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_112.png)
vals = RandomVariate[\[ScriptCapitalD], 10^4];
Construa TemporalData de valores da amostra.
In[5]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_113.png)
td = TemporalData[vals, {0, Length[sigR] - 1, 1},
ValueDimensions -> 2]
Out[5]=
![](assets.pt-br/simulate-a-vector-ar-process/O_55.png)
Faça uma estimativa do processo de vetor autoregressivo diagonal.
In[6]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_114.png)
proc = ARProcess[{a IdentityMatrix[2]}, sigC];
In[7]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_115.png)
sol = FindProcessParameters[td, proc]
Out[7]=
![](assets.pt-br/simulate-a-vector-ar-process/O_56.png)
Compare com os valores originais.
In[8]:=
![Click for copyable input](assets.pt-br/simulate-a-vector-ar-process/In_116.png)
sol[[All, 2]] - rules[[All, 2]]
Out[8]=
![](assets.pt-br/simulate-a-vector-ar-process/O_57.png)