Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Vergleich der Mittelwerte Zweier Verschiedener Datensätze | Testing of Statistical Hypotheses
Fortgeschrittene Wahrscheinlichkeitstheorie
course content

Kursinhalt

Fortgeschrittene Wahrscheinlichkeitstheorie

Fortgeschrittene Wahrscheinlichkeitstheorie

1. Zusätzliche Aussagen Aus Der Wahrscheinlichkeitstheorie
2. Die Grenzwertsätze der Wahrscheinlichkeitstheorie
3. Schätzung von Populationsparametern
4. Testing of Statistical Hypotheses

book
Vergleich der Mittelwerte Zweier Verschiedener Datensätze

Eine ziemlich wichtige angewandte Aufgabe ist es, die mathematischen Erwartungen von zwei verschiedenen unabhängigen numerischen Datensätzen zu vergleichen.
Im Allgemeinen wird diese Aufgabe eher nicht-trivial gelöst, aber unter bestimmten Bedingungen kann dies relativ einfach durchgeführt werden. Betrachten wir die folgenden Bedingungen:

Wir haben zwei unabhängige numerische Datensätze mit Gaußschen Verteilungen und gleichen Varianzen (wir kennen möglicherweise nicht den tatsächlichen Wert der Varianz, aber wir müssen sicherstellen, dass die Varianzen gleich sind). Wir möchten die folgende Hypothese testen:

Haupthypothese: Die Erwartungen dieser Datensätze sind gleich.

Alternative Hypothese: Die Erwartung des X-Datensatzes ist größer als die des Y-Datensatzes.

Statistisches Kriterium

Wenn die oben beschriebenen Bedingungen erfüllt sind, können wir das folgende Kriterium verwenden, um diese Hypothese zu überprüfen:

Python-Implementierung

Lassen Sie uns zwei unabhängige Datensätze mit unterschiedlichen Mittelwerten generieren und versuchen, die Hypothese zu überprüfen:

123456789101112131415161718192021222324252627282930313233
import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt # Generate two independent Gaussian datasets with different means and variances np.random.seed(123) # Set seed for reproducibility data1 = np.random.normal(loc=5, scale=2, size=500) # Generate first dataset data2 = np.random.normal(loc=4.7, scale=2, size=500) # Generate second dataset # Compute the two-sample t-test. By default, it checks the two-tailed hypothesis t_stat, p_value = stats.ttest_ind(data1, data2) # Define the significance level alpha = 0.05 # Compare the p-value with the significance level and print the result if p_value < alpha: print('Reject the null hypothesis that the means are equal') else: print('Fail to reject the null hypothesis that the means are equal') # Plot the critical regions of the t-test fig, ax = plt.subplots() # Create figure and axis objects x = np.linspace(-4, 4, 1000) # Generate x values for plotting y = stats.t.pdf(x, df=len(data1)+len(data2)-2) # Compute t-distribution PDF ax.plot(x, y, label='t-distribution') # Plot t-distribution t_crit_left = stats.t.ppf(alpha/2, len(data1)+len(data2)-2) # Compute left critical value t_crit_right = stats.t.ppf(1-alpha/2, len(data1)+len(data2)-2) # Compute right critical value ax.axvline(t_crit_left, color='r', linestyle='--', label='t-critical left') # Plot left critical value ax.axvline(t_crit_right, color='g', linestyle='--', label='t-critical right') # Plot right critical value ax.axvline(t_stat, color='k', linestyle='--', label='t-statistic') # Plot t-statistic ax.legend() # Add legend to the plot plt.show() # Show the plot
copy

Wir sehen, dass der Wert des Kriteriums in die rechte kritische Region gefallen ist, daher schließen wir, dass der mathematische Erwartungswert des ersten Datensatzes größer ist als der mathematische Erwartungswert des zweiten.

Datensätze mit unterschiedlichen Varianzen

Es gibt auch eine Verallgemeinerung dieses Kriteriums für den Fall, dass die Varianzen der Datensätze unterschiedlich sind, schauen wir uns ein Beispiel an, wie dies im Code implementiert werden kann:

1234567891011121314151617181920
import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt # Generate two independent Gaussian datasets with different means and variances np.random.seed(123) data1 = np.random.normal(loc=5, scale=2, size=100) data2 = np.random.normal(loc=4.95, scale=4, size=100) # Compute the two-sample t-test t_stat, p_value = stats.ttest_ind(data1, data2, equal_var=False) # Define the significance level alpha = 0.05 # Compare the p-value with the significance level and print the result if p_value < alpha: print('Reject the null hypothesis that the means are equal') else: print('Fail to reject the null hypothesis that the means are equal')
copy

Im obigen Code haben wir equal_var=False als Argument der Methode stats.ttest_ind verwendet, um Hypothesentests für Datensätze mit unterschiedlichen Varianzen bereitzustellen.

Können wir den Student's t-Test mit nicht-gaußschen Daten verwenden?

Können wir den Student's t-Test mit nicht-gaußschen Daten verwenden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 3
We're sorry to hear that something went wrong. What happened?
some-alt