11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

WBOY
Freigeben: 2023-12-14 20:50:54
nach vorne
1332 Leute haben es durchsucht

Im Bereich der Datenwissenschaft und des maschinellen Lernens gehen viele Modelle davon aus, dass die Daten normalverteilt sind oder dass die Daten bei einer Normalverteilung besser abschneiden. Beispielsweise geht die lineare Regression davon aus, dass die Residuen normalverteilt sind, und die lineare Diskriminanzanalyse (LDA) wird auf der Grundlage von Annahmen wie der Normalverteilung abgeleitet. Daher ist es für Datenwissenschaftler und Praktiker des maschinellen Lernens von entscheidender Bedeutung zu verstehen, wie die Normalität von Daten getestet werden kann wie man geeignete Analysemethoden anwendet. Dies kann die Auswirkungen der Datenverteilung auf die Modellleistung besser bewältigen und den Prozess des maschinellen Lernens und der Datenmodellierung komfortabler gestalten Die Verteilung entspricht einer Normalverteilung. Im QQ-Diagramm werden die Quantile der Daten mit den Quantilen der Standardnormalverteilung verglichen. Wenn die Datenverteilung nahe an der Normalverteilung liegt, liegen die Punkte im QQ-Diagramm nahe an einer geraden Linie QQ-Diagramm: Der Beispielcode generiert einen Satz Zufallsdaten, die einer Normalverteilung folgen. Nachdem Sie den Code ausgeführt haben, können Sie das QQ-Diagramm zusammen mit der entsprechenden Normalverteilungskurve sehen. Indem Sie die Verteilung der Punkte im Diagramm beobachten, können Sie zunächst beurteilen, ob die Daten einer Normalverteilung nahe kommen.

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

2 was helfen kann Wir haben die Daten auf Normalität getestet. Im KDE-Plot hilft es uns, die Verteilungsform der Daten zu beobachten, indem wir die Dichte der Daten schätzen und sie in eine glatte Kurve zeichnen Normalverteilung. Nachdem Sie den Code ausgeführt haben, können Sie das KDE-Diagramm und die entsprechende Normalverteilungskurve sehen und mithilfe der Visualisierung erkennen, ob die Datenverteilung der Normalität entspricht

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen3. Violin-Diagramm

Sie können die Verteilung der Daten ermitteln durch Beobachtung der Violin-Plot-Form, um zunächst festzustellen, ob die Daten einer Normalverteilung nahe kommen. Wenn der Violin Plot eine glockenkurvenartige Form annimmt, sind die Daten wahrscheinlich annähernd normalverteilt. Wenn Ihr Violin-Plot stark verzerrt ist oder mehrere Spitzen aufweist, sind die Daten möglicherweise nicht normalverteilt.

Der folgende Beispielcode wird verwendet, um Zufallsdaten nach einer Normalverteilung zu generieren, um Violin Plot zu demonstrieren. Nachdem Sie den Code ausgeführt haben, können Sie das Violindiagramm und die entsprechende Normalverteilungskurve sehen. Erkennen Sie die Form der Datenverteilung durch Visualisierung, um zunächst zu beurteilen, ob die Daten einer Normalverteilung nahe kommen Methode. Histogramme können uns helfen, die Verteilung von Daten intuitiv zu verstehen, und können vorab feststellen, ob die Daten einer Normalverteilung nahe kommen mit der entsprechenden Normalverteilung. Wenn die Kurvenformen ähnlich sind, sind die Daten wahrscheinlich normalverteilt. Natürlich ist die Visualisierung nur eine vorläufige Beurteilung. Wenn eine genauere Erkennung erforderlich ist, können statistische Methoden wie Normalitätstests zur Analyse verwendet werden.

Statistische Methoden

5. Shapiro-Wilk-Test

Der Shapiro-Wilk-Test ist eine statistische Methode zum Testen, ob die Daten der Normalverteilung entsprechen, auch bekannt als W-Test. Bei der Durchführung des Shapiro-Wilk-Tests konzentrieren wir uns normalerweise auf zwei Hauptindikatoren: 11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

Statistik W: Berechnen Sie die Statistik W basierend auf der Korrelation zwischen den beobachteten Daten und dem erwarteten Wert unter der Normalverteilung und dem Wertebereich von W Dazwischen 0 und 1, wenn W nahe bei 1 liegt, bedeutet dies, dass die beobachteten Daten besser zur Normalverteilung passen.

P-Wert: Der P-Wert gibt die Wahrscheinlichkeit der Beobachtung dieser Korrelation an. Wenn der P-Wert größer als das Signifikanzniveau (normalerweise 0,05) ist, deutet dies darauf hin, dass die beobachteten Daten wahrscheinlich aus einer Normalverteilung stammen.

Wenn die Statistik W nahe bei 1 liegt und der P-Wert größer als 0,05 ist, können wir daraus schließen, dass die beobachteten Daten die Normalverteilung erfüllen.

11 grundlegende Methoden zur Bestimmung der Normalität von DatenverteilungenIm folgenden Code wird zunächst ein Satz zufälliger Daten generiert, die der Normalverteilung entsprechen, und dann wird der Shapiro-Wilk-Test durchgeführt, um die Teststatistik und den P-Wert zu erhalten. Anhand des Vergleichs zwischen dem P-Wert und dem Signifikanzniveau können Sie feststellen, ob die Stichprobendaten aus einer Normalverteilung stammen.

from scipy import statsimport numpy as np# 生成一组服从正态分布的随机数据data = np.random.normal(0, 1, 100)# 执行Shapiro-Wilk检验stat, p = stats.shapiro(data)print('Shapiro-Wilk Statistic:', stat)print('P-value:', p)# 根据P值判断正态性alpha = 0.05if p > alpha:print('样本数据可能来自正态分布')else:print('样本数据不符合正态分布')
Nach dem Login kopieren

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

6.KS检验

KS检验(Kolmogorov-Smirnov检验)是一种用于检验数据是否符合特定分布(例如正态分布)的统计方法。它通过计算观测数据与理论分布的累积分布函数(CDF)之间的最大差异来评估它们是否来自同一分布。其基本步骤如下:

  • 对两个样本数据进行排序。
  • 计算两个样本的经验累积分布函数(ECDF),即计算每个值在样本中的累积百分比。
  • 计算两个累积分布函数之间的差异,通常使用KS统计量衡量。
  • 根据样本的大小和显著性水平,使用参考表活计算p值判断两个样本是否来自同一分布。

Python中使用KS检验来检验数据是否符合正态分布时,可以使用Scipy库中的kstest函数。下面是一个简单的示例,演示了如何使用Python进行KS检验来检验数据是否符合正态分布。

from scipy import statsimport numpy as np# 生成一组服从正态分布的随机数据data = np.random.normal(0, 1, 100)# 执行KS检验statistic, p_value = stats.kstest(data, 'norm')print('KS Statistic:', statistic)print('P-value:', p_value)# 根据P值判断正态性alpha = 0.05if p_value > alpha:print('样本数据可能来自正态分布')else:print('样本数据不符合正态分布')
Nach dem Login kopieren

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

7.Anderson-Darling检验

Anderson-Darling检验是一种用于检验数据是否来自特定分布(例如正态分布)的统计方法。它特别强调观察值在分布尾部的差异,因此在检测极端值的偏差方面非常有效

下面的代码使用stats.anderson函数执行Anderson-Darling检验,并获取检验统计量、临界值以及显著性水平。然后通过比较统计量和临界值,可以判断样本数据是否符合正态分布

from scipy import statsimport numpy as np# 生成一组服从正态分布的随机数据data = np.random.normal(0, 1, 100)# 执行Anderson-Darling检验result = stats.anderson(data, dist='norm')print('Anderson-Darling Statistic:', result.statistic)print('Critical Values:', result.critical_values)print('Significance Level:', result.significance_level)# 判断正态性if result.statistic <p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/170255826239547.png" alt="11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen"></p><h4>8.Lilliefors检验</h4><p>Lilliefors检验(也被称为Kolmogorov-Smirnov-Lilliefors检验)是一种用于检验数据是否符合正态分布的统计检验方法。它是Kolmogorov-Smirnov检验的一种变体,专门用于小样本情况。与K-S检验不同,Lilliefors检验不需要假定数据的分布类型,而是基于观测数据来评估是否符合正态分布</p><p>在下面的例子中,我们使用lilliefors函数进行Lilliefors检验,并获得了检验统计量和P值。通过将P值与显著性水平进行比较,我们可以判断样本数据是否符合正态分布</p><pre class="brush:php;toolbar:false">import numpy as npfrom statsmodels.stats.diagnostic import lilliefors# 生成一组服从正态分布的随机数据data = np.random.normal(0, 1, 100)# 执行Lilliefors检验statistic, p_value = lilliefors(data)print('Lilliefors Statistic:', statistic)print('P-value:', p_value)# 根据P值判断正态性alpha = 0.05if p_value > alpha:print('样本数据可能来自正态分布')else:print('样本数据不符合正态分布')
Nach dem Login kopieren

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

9.距离测量Distance Measures

距离测量(Distance measures)是一种有效的测试数据正态性的方法,它提供了更直观的方式来比较观察数据分布与参考分布之间的差异。

11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen

下面是一些常见的距离测量方法及其在测试正态性时的应用:

(1) "巴氏距离(Bhattacharyya distance)"的定义是:

  • 测量两个分布之间的重叠,通常被解释为两个分布之间的接近程度。
  • 选择与观察到的分布具有最小Bhattacharyya距离的参考分布,作为最接近的分布。

(2) 「海林格距离(Hellinger distance)」:

  • 用于衡量两个分布之间的相似度,类似于Bhattacharyya距离。
  • 与Bhattacharyya距离不同的是,Hellinger距离满足三角不等式,这使得它在一些情况下更为实用。

(3) "KL 散度(KL Divergence)":

  • 它本身并不是严格意义上的“距离度量”,但在测试正态性时可以用作衡量信息丢失的指标。
  • 选择与观察到的分布具有最小KL散度的参考分布,作为最接近的分布。

运用这些距离测量方法,我们能够比对观测到的分布与多个参考分布之间的差异,进而更好地评估数据的正态性。通过找出与观察到的分布距离最短的参考分布,我们可以更精确地判断数据是否符合正态分布

Das obige ist der detaillierte Inhalt von11 grundlegende Methoden zur Bestimmung der Normalität von Datenverteilungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage