Wolfram Language

Zufallsmatritzen

TracyWidom-Verteilung

Die TracyWidom-Verteilung ist die Grenzverteilung der skalierten größten Eigenwerte einer Zufallsmatrix, die zu Gaußschen Ensembles gehört. Solche Verteilungen treten auch in zahlreichen anderen Disziplinen, wie bei Buchhaltungsproblemen, Modellen zufälligen Wachstums, Phasenübergängen etc. auf und liefern akkurate Prognosen.

Die TracyWidom-Verteilung besteht aus drei Klassen , und . Jede entspricht einem anderen Gaußschen Ensemble; beachten Sie auch die entsprechenden WDFs.

Den kompletten Wolfram Language-Input zeigen
In[1]:=
Click for copyable input
Plot[Table[ PDF[TracyWidomDistribution[\[Beta]], x], {\[Beta], {1, 2, 4}}] // Evaluate, {x, -5, 2}, Filling -> Axis, PlotLegends -> {"\[Beta] = 1", "\[Beta] = 2", "\[Beta] = 4"}, ImageSize -> Medium, PlotTheme -> "Detailed"]
Out[1]=

Verwenden Sie MatrixPropertyDistribution, um den skalierten größten Eigenwert einer Matrix eines GUE darzustellen.

In[2]:=
Click for copyable input
ev\[ScriptCapitalD][2, n_] := MatrixPropertyDistribution[(Max[Eigenvalues[x]] - 2 Sqrt[n]) n^(1/6), x \[Distributed] GaussianUnitaryMatrixDistribution[n]]

Nehmen Sie eine Stichprobe aus der Verteilung und vergleichen Sie das Histogramm mit der WDF.

In[3]:=
Click for copyable input
sample = RandomVariate[ev\[ScriptCapitalD][2, 250], 2000];
Den kompletten Wolfram Language-Input zeigen
In[4]:=
Click for copyable input
Show[Histogram[sample, {0.2}, PDF, PlotTheme -> "Detailed"], Plot[PDF[TracyWidomDistribution[2], x ], {x, -5, 2}, PlotStyle -> Thick, PlotTheme -> "Detailed", PlotLegends -> None], ImageSize -> Medium]
Out[4]=

Die TracyWidom-Verteilung kann gut durch eine Gammaverteilung im mittleren Bereich approximiert werden.

In[5]:=
Click for copyable input
gdist = GammaDistribution[k, s, 1, a]; PDF[gdist, x]
Out[5]=

Führen Sie eine Kurvenanpassung der Gammaverteilung mit der TracyWidom-Verteilung von durch, so dass die ersten drei Momente übereinstimmen.

In[6]:=
Click for copyable input
moments = Through[{Mean, Variance, Skewness}[gdist]]; nmoments = N[Through[{Mean, Variance, Skewness}[TracyWidomDistribution[1]]]]; sol = FindRoot[Thread[moments == nmoments], {{k, 1}, {s, 1}, {a, 1}}]
Out[6]=

Vergleichen Sie die WDFs.

Den kompletten Wolfram Language-Input zeigen
In[7]:=
Click for copyable input
Plot[{PDF[gdist /. sol, x], PDF[TracyWidomDistribution[1], x]} // Evaluate, {x, -5, 2}, PlotLegends -> {"Gamma distribution", "Tracy-Widom distribution"}, Filling -> Axis, PlotTheme -> "Detailed", ImageSize -> Medium]
Out[7]=

Verwandte Beispiele

en es fr ja ko pt-br ru zh