Multivariater Normalitätstest
BaringhausHenzeTest ist ein Test auf multivariate Normalverteilung, dessen Teststatistik auf der empirischen charakteristischen Funktion basiert. Er ist auch bekannt als Baringhaus–Henze–Epps–Pulley-(BHEP-)Test.
In[1]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_92.png)
data = RandomVariate[NormalDistribution[], {10^3, 3}];
In[2]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_93.png)
BaringhausHenzeTest[data]
Out[2]=
![](assets.de/multivariate-normality-test/O_71.png)
Die Teststatistik ist affin invariant.
In[3]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_94.png)
data2 = AffineTransform[{RandomReal[1, {3, 3}], RandomReal[1, 3]}][
data];
{BaringhausHenzeTest[data2, "TestStatistic"],
BaringhausHenzeTest[data, "TestStatistic"]}
Out[3]=
![](assets.de/multivariate-normality-test/O_72.png)
Die Testfolge ist außerdem konsistent für alle Alternativverteilungen, d.h. die Power der Folge konvergiert bei größer werdender Stichprobe gegen 1, außer bei Testdaten einer Gauß-Verteilung.
In[4]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_95.png)
covm = {{2, 1, 0}, {1, 3, -1}, {0, -1, 2}};
ng\[ScriptCapitalD] = MultivariateTDistribution[covm, 12];
g\[ScriptCapitalD] = MultinormalDistribution[{0, 0, 0}, covm];
Entnehmen Sie Stichproben aus einer multivariaten t-Verteilung und einer multivariaten Normalverteilungn.
In[5]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_96.png)
nongaussianData = RandomVariate[ng\[ScriptCapitalD], 2^14];
gaussianData = RandomVariate[g\[ScriptCapitalD], 2^14];
Berechnen und visualisieren Sie die BHEP-Teststatistik als eine Funktion der Stichprobengröße.
In[6]:=
![Click for copyable input](assets.de/multivariate-normality-test/In_97.png)
sizes = 2^Range[3, 14];
{nonGaussianTestStatistic, GaussianTestStatistic} =
ParallelTable[{size,
BaringhausHenzeTest[Take[d, size],
"TestStatistic"]}, {d, {nongaussianData, gaussianData}}, {size,
sizes}];
Den kompletten Wolfram Language-Input zeigen
Out[7]=
![](assets.de/multivariate-normality-test/O_73.png)