3

私はおそらく少し密集していますが、数学があまり得意ではなく、多変量データを作成する際の共分散要素を理解できないようです。

ランダム データの 2 つの列 (相関する 2 つの変数を表す) を求めています。

mvnrnd 関数を使用する必要があるのは正しいと思います。「mu」は平均ベクトルの列でなければならないことを理解しています。データ内に 4 つの異なるクラスが必要なため、これらは (1, 1) (-1 1) (1 -1) および (-1 -1) になります。毎回平均ベクトルの異なる列で関数 4x を実行し、それらを組み合わせて完全なデータセットを取得する必要があると思います。

SIGMA に何を入力すればよいかわかりません - Matlab のヘルプによると、「d 行 d 列の対称正半正定行列、または d x d x n 配列」、つまり共分散でなければなりません。マトリックス。まだ生成していない数値の共分散行列を作成する方法がわかりません。

どんなアドバイスでも大歓迎です!

4

2 に答える 2

1

私があなたのケースを適切に理解していると仮定すると、私は次のようになります。

data = [normrnd(0,1,5000,1),normrnd(0,1,5000,1)]; %% your starting data series
MU = mean(data,1);
SIGMA = cov(data);

mvnrndこれで、MUandでフィードできるはずですSIGMA:

r = mvnrnd(MU,SIGMA,5000);
plot(r(:,1),r(:,2),'+') %% in case you wanna plot the results

これが役立つことを願っています。

于 2013-04-18T12:02:42.687 に答える