まず、A、B、C、Dというラベルの付いた4つの時系列から始めます。
私は以下を生成します:
- 平均の4x1行列。
- 標準偏差の4x1行列。
- 各時系列から30個のサンプルを取得することによる4x4相関行列。
時系列間の相関をそのまま維持して、確率変数の4x1行列を生成するMatlabコードとは何ですか?
(理由:これはモンテカルロシミュレーションの最初の段階です)。
まず、A、B、C、Dというラベルの付いた4つの時系列から始めます。
私は以下を生成します:
時系列間の相関をそのまま維持して、確率変数の4x1行列を生成するMatlabコードとは何ですか?
(理由:これはモンテカルロシミュレーションの最初の段階です)。
m
平均ベクトル ( と呼ぶ) と共分散行列 ( と呼ぶ)だけが必要ですC
。式を使用して相関から共分散行列を取得できることに注意してくださいC = R - m*m'
(または、平均を減算した後にシーケンスの相関を計算することで直接計算できます)。
次に、共分散 C のベクトルを取得するには、IID ランダム ベクトル (たとえばガウス) を生成します。
w = randn(4,1)
次に、共分散行列の平方根(Q と呼びます) を掛けて、平均を追加します。
v = Q*w + m
Matlab の sqrt 関数を使用して sqrt(C) を計算するか、SVD または EIG を使用して計算することができます。
[u,d] = eig(C)
Q = u*sqrt(d)*u'
の共分散はv
( Q*Q'
= C
) になり、平均はm
共分散行列のプロパティについては、ウィキペディアの記事を参照してください。
統計ツールボックスにアクセスできる場合は、 を使用mvnrnd
して数値を生成できます。
まず、または nimrodm の回答で説明されている方法C
を使用して、共分散行列 を計算します。cov
次に、単に呼び出す
mvnrnd(m, C)
m
手段のベクトルはどこにありますか。