Wolfram Language

Matrices aléatoires

Lois matricielles normales et lois matricielles T

Les lois matricielles normales et les lois matricielles sont des distributions normales de la variante de la matrice et des distributions matricielles avec des matrices d'échelle de rangée et de colonne spécifiées. L'analyse des séries temporelles, les processus aléatoires et la régression multivariée font partie des utilisations typiques.

Étant donné les matrices d'échelle Σrow et Σcol, la loi matricielle normale a une densité de probabilité proportionnelle à . Échantillonn d'une loi matricielle normale.

In[1]:=
Click for copyable input
Subscript[\[CapitalSigma], row] = {{1, 0.9}, {0.9, 1}}; Subscript[\[CapitalSigma], col] = {{1, -0.9}, {-0.9, 1}};
In[2]:=
Click for copyable input
RandomVariate[ MatrixNormalDistribution[Subscript[\[CapitalSigma], row], Subscript[\[CapitalSigma], col]]]
Out[2]=

Visualisez les vecteurs de rangées échantillonnés sur un diagramme de dispersion et comparez-les à la fonction de densité.

In[3]:=
Click for copyable input
sample = RandomVariate[ MatrixNormalDistribution[Subscript[\[CapitalSigma], row], Subscript[\[CapitalSigma], col]], 10^4]; firstrows = sample[[All, 1]];
Afficher l'entrée complète de Wolfram Language
In[4]:=
Click for copyable input
Show[ContourPlot[ PDF[MultinormalDistribution[{0, 0}, Subscript[\[CapitalSigma], col] ], {x, y}], {x, -4.5, 4.5}, {y, -4.5, 4.5}, PlotPoints -> 30, PlotTheme -> "Detailed", ImageSize -> Medium], ListPlot[firstrows, ImageSize -> Medium, PlotTheme -> "Detailed", PlotStyle -> Black]]
Out[4]=

Visualisez les vecteurs de colonnes échantillonnées sur un histogramme et comparez-les avec la fonction de densité.

In[5]:=
Click for copyable input
firstcols = sample[[All, All, 1]];
Afficher l'entrée complète de Wolfram Language
In[6]:=
Click for copyable input
Show[Histogram3D[firstcols, Automatic, "PDF", ImageSize -> Medium, PlotTheme -> "Detailed", ChartStyle -> "Pastel"], Plot3D[PDF[ MultinormalDistribution[{0, 0}, Subscript[\[CapitalSigma], row] ], {x, y}], {x, -5, 5}, {y, -5, 5}, PlotRange -> All, ImageSize -> Medium, PlotTheme -> "Detailed", PlotLegends -> None]]
Out[6]=

Semblable aux lois de Student et multivariée, la loi matricielle est un mélange de loi normale matricielle avec un paramètre d'échelle distribué à l'inverse de la loi de Wishart. Échantillon d'une loi matricielle .

In[7]:=
Click for copyable input
RandomVariate[ MatrixTDistribution[Subscript[\[CapitalSigma], row], Subscript[\[CapitalSigma], col], 3]]
Out[7]=

Générez un ensemble de matrices distribuées .

In[8]:=
Click for copyable input
sample = RandomVariate[ MatrixTDistribution[Subscript[\[CapitalSigma], row], Subscript[\[CapitalSigma], col], 3], 10^4];

Les projections en dimension inférieure des variables distribuées de la matrice sont distribuées de Student et multivariées . Projetez l'échantillon sur des vecteurs bidimensionnels et vérifiez la qualité de l'ajustement.

In[9]:=
Click for copyable input
v = {1, 2}; vecs = sample.v;
In[10]:=
Click for copyable input
DistributionFitTest[vecs, MultivariateTDistribution[ Subscript[\[CapitalSigma], row] (v.Subscript[\[CapitalSigma], col].v)/3, 3]]
Out[10]=

Visualisez les données projetées sur un diagramme de dispersion et comparez-les avec la fonction de densité.

Afficher l'entrée complète de Wolfram Language
In[11]:=
Click for copyable input
Show[ContourPlot[ PDF[MultivariateTDistribution[ Subscript[\[CapitalSigma], row] (v.Subscript[\[CapitalSigma], col].v)/3, 3], {x, y}], {x, -5, 5}, {y, -5, 5}, PlotPoints -> 30, PlotTheme -> "Detailed", ImageSize -> Medium], ListPlot[vecs, ImageSize -> Medium, PlotTheme -> "Detailed", PlotStyle -> Black]]
Out[11]=

Exemples connexes

de en es ja ko pt-br ru zh