Implementierung von Wahrscheinlichkeitsverteilungen in Python
Swipe um das Menü anzuzeigen
Binomialverteilung
Die Binomialverteilung modelliert die Wahrscheinlichkeit, genau k Erfolge in n unabhängigen Versuchen zu erzielen, wobei jeder Versuch die Erfolgswahrscheinlichkeit p hat.
123456789101112131415161718from scipy.stats import binom import matplotlib.pyplot as plt # number of trials n = 100 # probability of success p = 0.02 # number of successes k = 3 binom_prob = binom.pmf(k, n, p) # Vizualization x_vals = range(0, 15) y_vals = binom.pmf(x_vals, n, p) plt.bar(x_vals, y_vals, color='skyblue') plt.title(f'Binomial probability: {binom_prob:.4f}') plt.show()
n = 100– Testen von 100 Stäben;p = 0.02– 2% Wahrscheinlichkeit, dass ein Stab defekt ist;k = 3– Wahrscheinlichkeit, dass genau 3 defekt sind;binom.pmf()berechnet die Wahrscheinlichkeitsmassenfunktion.
Gleichverteilung
Die Gleichverteilung modelliert eine stetige Variable, bei der alle Werte zwischen $a$ und $b$ gleich wahrscheinlich sind.
1234567891011121314151617from scipy.stats import uniform import matplotlib.pyplot as plt import numpy as np a = 49.5 b = 50.5 low, high = 49.8, 50.2 uniform_prob = uniform.cdf(high, a, b - a) - uniform.cdf(low, a, b - a) # Vizualization x = np.linspace(a, b, 100) pdf = uniform.pdf(x, a, b - a) plt.plot(x, pdf, color='black') plt.fill_between(x, pdf, where=(x >= low) & (x <= high), color='lightgreen', alpha=0.5) plt.title(f'Uniform probability: {uniform_prob:.1f}') plt.show()
a, b– Gesamter Bereich der Stablängen;low, high– Interessierendes Intervall;- Das Subtrahieren der CDF-Werte ergibt die Wahrscheinlichkeit innerhalb des Intervalls.
Normalverteilung
Die Normalverteilung beschreibt Werte, die sich um einen Mittelwert $\mu$ gruppieren, wobei die Streuung durch die Standardabweichung $\sigma$ gemessen wird.
1234567891011121314151617181920import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm mu = 200 sigma = 5 lower, upper = 195, 205 norm_prob = norm.cdf(upper, mu, sigma) - norm.cdf(lower, mu, sigma) z1 = (lower - mu) / sigma z2 = (upper - mu) / sigma # Vizualization x = np.linspace(mu - 4*sigma, mu + 4*sigma, 200) pdf = norm.pdf(x, mu, sigma) plt.plot(x, pdf, color='black') plt.fill_between(x, pdf, where=(x >= lower) & (x <= upper), color='plum', alpha=0.5) plt.title(f'Normal probability: {norm_prob:.4f}\nZ-scores: {z1}, {z2}') plt.show()
mu– durchschnittliches Stangengewicht;sigma– Standardabweichung;- Wahrscheinlichkeit – Differenz der Kumulativen Verteilungsfunktion (CDF);
- Z-Werte zeigen, wie weit die Grenzen vom Mittelwert entfernt sind.
Anwendung in der Praxis
- Binomial – Wie wahrscheinlich ist eine bestimmte Anzahl defekter Stangen?
- Gleichverteilung – Liegen die Stangenlängen innerhalb der Toleranz?
- Normalverteilung – Liegen die Stangengewichte innerhalb der erwarteten Schwankung?
Durch die Kombination dieser Verteilungen werden bei der Qualitätskontrolle Fehler erkannt, Präzision sichergestellt und Produktkonsistenz gewährleistet.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Implementierung von Wahrscheinlichkeitsverteilungen in Python
Binomialverteilung
Die Binomialverteilung modelliert die Wahrscheinlichkeit, genau k Erfolge in n unabhängigen Versuchen zu erzielen, wobei jeder Versuch die Erfolgswahrscheinlichkeit p hat.
123456789101112131415161718from scipy.stats import binom import matplotlib.pyplot as plt # number of trials n = 100 # probability of success p = 0.02 # number of successes k = 3 binom_prob = binom.pmf(k, n, p) # Vizualization x_vals = range(0, 15) y_vals = binom.pmf(x_vals, n, p) plt.bar(x_vals, y_vals, color='skyblue') plt.title(f'Binomial probability: {binom_prob:.4f}') plt.show()
n = 100– Testen von 100 Stäben;p = 0.02– 2% Wahrscheinlichkeit, dass ein Stab defekt ist;k = 3– Wahrscheinlichkeit, dass genau 3 defekt sind;binom.pmf()berechnet die Wahrscheinlichkeitsmassenfunktion.
Gleichverteilung
Die Gleichverteilung modelliert eine stetige Variable, bei der alle Werte zwischen $a$ und $b$ gleich wahrscheinlich sind.
1234567891011121314151617from scipy.stats import uniform import matplotlib.pyplot as plt import numpy as np a = 49.5 b = 50.5 low, high = 49.8, 50.2 uniform_prob = uniform.cdf(high, a, b - a) - uniform.cdf(low, a, b - a) # Vizualization x = np.linspace(a, b, 100) pdf = uniform.pdf(x, a, b - a) plt.plot(x, pdf, color='black') plt.fill_between(x, pdf, where=(x >= low) & (x <= high), color='lightgreen', alpha=0.5) plt.title(f'Uniform probability: {uniform_prob:.1f}') plt.show()
a, b– Gesamter Bereich der Stablängen;low, high– Interessierendes Intervall;- Das Subtrahieren der CDF-Werte ergibt die Wahrscheinlichkeit innerhalb des Intervalls.
Normalverteilung
Die Normalverteilung beschreibt Werte, die sich um einen Mittelwert $\mu$ gruppieren, wobei die Streuung durch die Standardabweichung $\sigma$ gemessen wird.
1234567891011121314151617181920import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm mu = 200 sigma = 5 lower, upper = 195, 205 norm_prob = norm.cdf(upper, mu, sigma) - norm.cdf(lower, mu, sigma) z1 = (lower - mu) / sigma z2 = (upper - mu) / sigma # Vizualization x = np.linspace(mu - 4*sigma, mu + 4*sigma, 200) pdf = norm.pdf(x, mu, sigma) plt.plot(x, pdf, color='black') plt.fill_between(x, pdf, where=(x >= lower) & (x <= upper), color='plum', alpha=0.5) plt.title(f'Normal probability: {norm_prob:.4f}\nZ-scores: {z1}, {z2}') plt.show()
mu– durchschnittliches Stangengewicht;sigma– Standardabweichung;- Wahrscheinlichkeit – Differenz der Kumulativen Verteilungsfunktion (CDF);
- Z-Werte zeigen, wie weit die Grenzen vom Mittelwert entfernt sind.
Anwendung in der Praxis
- Binomial – Wie wahrscheinlich ist eine bestimmte Anzahl defekter Stangen?
- Gleichverteilung – Liegen die Stangenlängen innerhalb der Toleranz?
- Normalverteilung – Liegen die Stangengewichte innerhalb der erwarteten Schwankung?
Durch die Kombination dieser Verteilungen werden bei der Qualitätskontrolle Fehler erkannt, Präzision sichergestellt und Produktkonsistenz gewährleistet.
Danke für Ihr Feedback!