Python e R
Scipy é unha potente biblioteca en Python que proporciona moitas funcións útiles para a computación científica. Un dos seus submódulos, scipy. stats, contén unha variedade de funcións estatísticas e distribucións de probabilidade que se utilizan comunmente na análise de datos. Pódese obter unha lista bastante completa destas funcións utilizando info(stats).
Distribucións discretas
- Binomial
from scipy.stats import binom
binom.cdf(k, n, p) permítenos calcular probabilidades acumuladas ata k, .
binom.sf(k, n, p) = permítenos calcular . É quivalente a calcular 1 - cdf(x)
pmf(k, n, p) devolve a probabilidade de que X=k, .
- Poisson
from scipy.stats import binom
poisson.cdf(k, λ ) permítenos calcular probabilidades acumuladas ata k, .
poisson.sf(k, λ ) permítenos calcular
- Exemplos Binomial
-
Se
Primeiro, asegurarse de ter instalado a biblioteca scipy. Se non se ten instalada, pódese facer usando pip install scipy.
1.
from scipy.stats import binom
# Cálculo de probabilidad
resultado = binom.pmf(k=3, n=10, p=0.2)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.201326592
2.
from scipy.stats import binom
# Cálculo de probabilidad
resultado = binom.cdf(k=3, n=10, p=0.2)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.8791261184
Distribucións continuas
- Normal
from scipy.stats import norm
: norm.cdf(x, loc=0, scale=1)
: norm.sf(x, loc=0, scale=1) (tamén definida como 1 - cdf, pero sf ás veces é máis precisa).
- Exponencial
from scipy.stats import expon
: expon.cdf(x, loc=0, scale=1)
: expon.sf(x, loc=0, scale=1)
- Exemplos Normal
-
Primeiro, asegurarse de ter instalado a biblioteca scipy. Se non se ten instalada, pódese facer usando pip install scipy.
1. nunha N(0, 1)
from scipy.stats import norm
# Cálculo de probabilidad
resultado = norm.cdf(2.13, 0, 1)# Resultado
print("Probabilidad: ",resultado)Resultado: 0,983414193
2. nunha N(30, 4)
from scipy.stats import norm
# Cálculo de probabilidad
resultado = norm.cdf(35, 30, 4)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.894350226
Exemplos con Python
Scipy é unha potente biblioteca en Python que proporciona moitas funcións útiles para a computación científica. Un dos seus submódulos, scipy. stats, contén unha variedade de funcións estatísticas e distribucións de probabilidade que se utilizan comunmente na análise de datos. Pódese obter unha lista bastante completa destas funcións utilizando info(stats).
Distribucións discretas
- Binomial
from scipy.stats import binom
binom.cdf(k, n, p) permítenos calcular probabilidades acumuladas ata k, .
binom.sf(k, n, p) = permítenos calcular . É quivalente a calcular 1 - cdf(x)
pmf(k, n, p) devolve a probabilidade de que X=k, .
- Poisson
from scipy.stats import binom
poisson.cdf(k, λ ) permítenos calcular probabilidades acumuladas ata k, .
poisson.sf(k, λ ) permítenos calcular
- Exemplos Binomial
-
Se
Primeiro, asegurarse de ter instalado a biblioteca scipy. Se non se ten instalada, pódese facer usando pip install scipy.
1.
from scipy.stats import binom
# Cálculo de probabilidad
resultado = binom.pmf(k=3, n=10, p=0.2)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.201326592
2.
from scipy.stats import binom
# Cálculo de probabilidad
resultado = binom.cdf(k=3, n=10, p=0.2)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.8791261184
Distribucións continuas
- Normal
from scipy.stats import norm
: norm.cdf(x, loc=0, scale=1)
: norm.sf(x, loc=0, scale=1) (tamén definida como 1 - cdf, pero sf ás veces é máis precisa).
- Exponencial
from scipy.stats import expon
: expon.cdf(x, loc=0, scale=1)
: expon.sf(x, loc=0, scale=1)
- Exemplos Normal
-
Primeiro, asegurarse de ter instalado a biblioteca scipy. Se non se ten instalada, pódese facer usando pip install scipy.
1. nunha N(0, 1)
from scipy.stats import norm
# Cálculo de probabilidad
resultado = norm.cdf(2.13, 0, 1)# Resultado
print("Probabilidad: ",resultado)Resultado: 0,983414193
2. nunha N(30, 4)
from scipy.stats import norm
# Cálculo de probabilidad
resultado = norm.cdf(35, 30, 4)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.894350226
Exemplos con R
Como xa se comentou, en R todo é un obxecto. Ademais, todos os obxectos teñen un nome para identificalos.
Binomial
Se X segue unha distribución binomial B(n,p).
1. Para calcular a probabilidade de obter un número concreto de éxitos P(X=x): dbinom(x, size=n, prob=p)
2. Para calcular a probabilidade P[X ≤ x]: pbinom(x, size=n, prob=p, lower.tail = TRUE)
3. Para calcular a probabilidade P[X > x]: pbinom(x, size=n, prob=p, lower.tail = FALSE)
Os parámetros anteriores refírense a:
x, é o número de éxitos
size, é o número de fases do experimento (n).
prob, é a probabilidade de éxito (p).
- Exemplos
-
Se
1.
# Cálculo de probabilidad
resultado = dbinom(3, size=10, prob=0.2)# Mostra a probabilidade
print("Probabilidad: ",resultado)Resultado: 0.201326592
2.
# Cálculo de probabilidad
resultado = pbinom(3, size=10, prob=0.2, lower.tail = TRUE)# Mostra a probabilidade
print("Probabilidad: ",resultado)Resultado: 0.8791261184
Normal
Se X segue unha distribución normal N(μ,σ), entón:
1. Para calcular a probabilidadeP[X ≤ x]: pnorm(x, mean=media, sd=desv.tip, lower.tail = TRUE)
2. Para calcular a probabilidade P[X > x]: pnorm(x, mean=media, sd=desv.tip, lower.tail = FALSE)
Nota: se non se especifica os valores de µ e σ, R tomará por defecto µ = 0 e σ = 1.
- Exemplos
-
Se
1.
# Cálculo de probabilidad
resultado = pnorm(35, mean=30, sd=4, lower.tail = TRUE)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.894350226
2.
# Cálculo de probabilidad
resultado = pnorm(35, mean=30, sd=4, lower.tail = FALSE)# Resultado
print("Probabilidad: ",resultado)Resultado: 0.105649774