Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering af Sandsynlighedsfordelinger i Python | Sandsynlighed & Statistik
Matematik for Datavidenskab

Implementering af Sandsynlighedsfordelinger i Python

Stryg for at vise menuen

Binomialfordeling

Binomialfordelingen modellerer sandsynligheden for at opnå præcis kk succeser i nn uafhængige forsøg, hvor hvert forsøg har sandsynligheden pp for succes.

123456789101112131415161718
from 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 - vi tester 100 stænger;
  • p = 0.02 - 2% sandsynlighed for, at en stang er defekt;
  • k = 3 - sandsynlighed for præcis 3 defekte;
  • binom.pmf() beregner sandsynlighedsmassen.

Uniform fordeling

Den uniforme fordeling modellerer en kontinuerlig variabel, hvor alle værdier mellem $a$ og $b$ er lige sandsynlige.

1234567891011121314151617
from 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 - samlet interval for stanglængder;
  • low, high - interesseinterval;
  • Subtraktion af CDF-værdier giver sandsynligheden inden for intervallet.

Normalfordeling

Normalfordelingen beskriver værdier, der samler sig omkring et gennemsnit $\mu$ med spredning målt ved standardafvigelsen $\sigma$.

1234567891011121314151617181920
import 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 - gennemsnitlig stangvægt;
  • sigma - standardafvigelse;
  • Sandsynlighed - forskel på CDF;
  • Z-scores viser, hvor langt grænserne er fra gennemsnittet.

Anvendelse i virkeligheden

  • Binomial - hvor sandsynligt er et bestemt antal defekte stænger?
  • Uniform - er stanglængderne inden for tolerancen?
  • Normal - er stangvægtene inden for forventet variation?

Ved at kombinere disse kan kvalitetskontrol målrette fejl, sikre præcision og opretholde produktkonsistens.

question mark

Hvilken funktion beregner sandsynligheden for præcis k defekte stænger?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 11

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Implementering af Sandsynlighedsfordelinger i Python

Binomialfordeling

Binomialfordelingen modellerer sandsynligheden for at opnå præcis kk succeser i nn uafhængige forsøg, hvor hvert forsøg har sandsynligheden pp for succes.

123456789101112131415161718
from 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 - vi tester 100 stænger;
  • p = 0.02 - 2% sandsynlighed for, at en stang er defekt;
  • k = 3 - sandsynlighed for præcis 3 defekte;
  • binom.pmf() beregner sandsynlighedsmassen.

Uniform fordeling

Den uniforme fordeling modellerer en kontinuerlig variabel, hvor alle værdier mellem $a$ og $b$ er lige sandsynlige.

1234567891011121314151617
from 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 - samlet interval for stanglængder;
  • low, high - interesseinterval;
  • Subtraktion af CDF-værdier giver sandsynligheden inden for intervallet.

Normalfordeling

Normalfordelingen beskriver værdier, der samler sig omkring et gennemsnit $\mu$ med spredning målt ved standardafvigelsen $\sigma$.

1234567891011121314151617181920
import 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 - gennemsnitlig stangvægt;
  • sigma - standardafvigelse;
  • Sandsynlighed - forskel på CDF;
  • Z-scores viser, hvor langt grænserne er fra gennemsnittet.

Anvendelse i virkeligheden

  • Binomial - hvor sandsynligt er et bestemt antal defekte stænger?
  • Uniform - er stanglængderne inden for tolerancen?
  • Normal - er stangvægtene inden for forventet variation?

Ved at kombinere disse kan kvalitetskontrol målrette fejl, sikre præcision og opretholde produktkonsistens.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 11
some-alt