Implementering av Sannolikhetsfördelningar i Python
Binomialfördelning
Binomialfördelningen modellerar sannolikheten att få exakt k framgångar i n oberoende försök, där varje försök har sannolikheten p för framgång.
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
- test av 100 stavar;p = 0.02
- 2% sannolikhet att en stav är defekt;k = 3
- sannolikhet för exakt 3 defekta;binom.pmf()
beräknar sannolikhetsmassfunktionen.
Likformig fördelning
Den likformiga fördelningen modellerar en kontinuerlig variabel där alla värden mellan $a$ och $b$ är lika sannolika.
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
- total intervall för stavlängder;low, high
- intressant intervall;- Subtraktion av CDF-värden ger sannolikheten inom intervallet.
Normalfördelning
Normalfördelningen beskriver värden som klustrar kring ett medelvärde $\mu$ med spridning mätt som standardavvikelse $\sigma$.
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
- medelvärde för stavvikt;sigma
- standardavvikelse;- Sannolikhet - skillnad mellan CDF;
- Z-poäng visar hur långt gränserna är från medelvärdet.
Tillämpning i verkliga världen
- Binomial – hur sannolikt är ett visst antal defekta stänger?
- Uniform – ligger stånglängderna inom tolerans?
- Normal – ligger stångvikterna inom förväntad variation?
Genom att kombinera dessa kan kvalitetskontroll rikta in sig på defekter, säkerställa precision och upprätthålla produktens konsekvens.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain the main differences between the three distributions?
How do I choose which distribution to use for a specific problem?
Can you give more real-world examples for each distribution?
Awesome!
Completion rate improved to 1.96
Implementering av Sannolikhetsfördelningar i Python
Svep för att visa menyn
Binomialfördelning
Binomialfördelningen modellerar sannolikheten att få exakt k framgångar i n oberoende försök, där varje försök har sannolikheten p för framgång.
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
- test av 100 stavar;p = 0.02
- 2% sannolikhet att en stav är defekt;k = 3
- sannolikhet för exakt 3 defekta;binom.pmf()
beräknar sannolikhetsmassfunktionen.
Likformig fördelning
Den likformiga fördelningen modellerar en kontinuerlig variabel där alla värden mellan $a$ och $b$ är lika sannolika.
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
- total intervall för stavlängder;low, high
- intressant intervall;- Subtraktion av CDF-värden ger sannolikheten inom intervallet.
Normalfördelning
Normalfördelningen beskriver värden som klustrar kring ett medelvärde $\mu$ med spridning mätt som standardavvikelse $\sigma$.
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
- medelvärde för stavvikt;sigma
- standardavvikelse;- Sannolikhet - skillnad mellan CDF;
- Z-poäng visar hur långt gränserna är från medelvärdet.
Tillämpning i verkliga världen
- Binomial – hur sannolikt är ett visst antal defekta stänger?
- Uniform – ligger stånglängderna inom tolerans?
- Normal – ligger stångvikterna inom förväntad variation?
Genom att kombinera dessa kan kvalitetskontroll rikta in sig på defekter, säkerställa precision och upprätthålla produktens konsekvens.
Tack för dina kommentarer!