Distribuciones discretas

({{BernoulliDistribution[p], Bernoulli distribution with mean p}, {BetaBinomialDistribution[α,β,n], binomial distribution where the success probability is a BetaDistribution[α,β] random variable}, {BetaNegativeBinomialDistribution[α,β,n], }, {, negative binomial distribution where the success probability is a BetaDistribution[α,β] random variable }, {BinomialDistribution[n,p], binomial distribution for the number of successes that occur in n trials, where the probability of success in a trial is p}, {DiscreteUniformDistribution[{(Subscript[i, min]),(Subscript[i, max])}], }, {, discrete uniform distribution over the integers from (Subscript[i, min]) to (Subscript[i, max])}, {GeometricDistribution[p], geometric distribution for the number of trials before the first success, where the probability of success in a trial is p}, {HypergeometricDistribution[n,(Subscript[n, succ]),(Subscript[n, tot])], }, {, hypergeometric distribution for the number of successes out of a sample of size n, from a population of size (Subscript[n, tot]) containing (Subscript[n, succ]) successes }, {LogSeriesDistribution[θ], logarithmic series distribution with parameter θ}, {NegativeBinomialDistribution[n,p], }, {, negative binomial distribution with parameters n and p }, {PoissonDistribution[μ], Poisson distribution with mean μ}, {ZipfDistribution[ρ], Zipf distribution with parameter ρ}})

LA DISTRIBUCION UNIFORME
LOS ALUMNOS VEN EL CONTENIDO PERO NO LO HACEN EN EL ORDENADOR TODO
LA uniforme en enteros: DiscreteUniformDistribution[{(Subscript[i, min]),(Subscript[i, max])}]. Podemos hacer unos muestras con los dados
Histogram[RandomInteger[dado, 1000], {1}, "ProbabilityDensity"]

Para definir un dado se puede utilizar el comando DiscreteUniformDistribution.

p1min=1;
p2max=6;
dado=DiscreteUniformDistribution[{p1min,p2max}];

For discrete distributions, PDF[dist,x] gives the probability that an observed value will be x.
CDF[dist,x] gives the probability that an observed value will be less than or equal to x.
For discrete distributions, CDF[dist,x] is the sum of the probability density function from the lowest value in the domain to x.

PDF[dado,x]

CDF[dado,x]

??Floor

CDF[dado,1]

CDF[dado,2]

CDF[dado,5]

Mean[dado]

Variance[dado]

StandardDeviation[dado]

tmuestra=10

muestra=RandomInteger[dado,tmuestra]

Histogram[muestra,{1},"ProbabilityDensity"]

muestra=Table[RandomInteger[dado,(10^i)],{i,3}]

Table[Histogram[muestra[[i]],{1},"ProbabilityDensity"],{i,3}]

muestra=RandomInteger[dado,tmuestra]

muestra=RandomInteger[{1,6},10]

muestra=RandomInteger[{1,6},10]

También podremos usar los comandos que ya conocemos sobre estadísticos sobre variables aleatorias

Remove[dado,muestra]

p1min=1;
p2max=6;
dado=UniformDistribution[{p1min-1,p2max}];

PDF[dado,x]

CDF[dado,x]

??Floor

CDF[dado,2]

CDF[dado,5]

PDF[dado,x]

CDF[dado,x]

CDF[dado,1]

CDF[dado,2]

Mean[dado]

Variance[dado]

StandardDeviation[dado]

tmuestra=10

muestra=RandomInteger[dado,tmuestra]

muestra=RandomInteger[{1,6},10]

muestra=RandomInteger[{1,6},10]

Histogram[muestra,{1},"ProbabilityDensity"]

LA DISTRIBUCION DE BERNOULLI

LOS ALUMNOS VEN EL CONTENIDO PERO NO LO HACEN EN EL ORDENADOR TODO
La distribución de Bernulli se define mediante BernoulliDistribution[p] donde p es la probabilidad de éxito. muestras con las monedas
Histogram[RandomInteger[BernoulliDistribution[0.3], 1000], {1}, "ProbabilityDensity"]

p=0.5

moneda=BernoulliDistribution[p];

PDF[moneda,x]

CDF[moneda,x]

tmuestra=100

muestra=RandomInteger[moneda,tmuestra]

Histogram[muestra,{1},"ProbabilityDensity"]

muestraP=Table[RandomInteger[BernoulliDistribution[0.1*i],100],{i,2,9}]

Table[Histogram[muestraP[[i]],{1},"ProbabilityDensity"],{i,1,8}]

LA DISTRIBUCION BINOMIAL
La distribución Binomial se define mediante BinomialDistribution[n,p] donde p es la probabilidad de éxito de cada uno de los n intentos.
Histogram[RandomInteger[bin, tmuestra], {-.5, 10.5, 1}, "ProbabilityDensity"]

n=10;
p=.6

binodis=BinomialDistribution[n,p];

PDF[binodis,x]

CDF[binodis,x]

tmuestra=100;

muestra=RandomInteger[binodis,tmuestra]

Histogram[muestra,{1},"ProbabilityDensity"]

a=Histogram[muestra,{-.5,10.5,1},"ProbabilityDensity"]

b=ListPlot[
Table[{x,PDF[binodis,x]},{x,0,10}]
,Filling->Axis,PlotStyle->PointSize[Large]]

Si comparamos con la función de densidad del modelo teorico (pares de puntos), con el modelo que sigue la muestra aleatoria veremos lo que ocurre

Show[a,b]

Sensibilidad a la p

binodis=Table[BinomialDistribution[n,i*.1],{i,2,9}]

Table[
ListPlot[
Table[{x,PDF[binodis[[i]],x]},{x,0,10}],Filling->Axis,PlotStyle->PointSize[Large]
],{i,1,8}
]

LA DISTRIBUCION DE POISSON
La distribución de Poisson se define mediante PoissonDistribution[μ] donde μ es la media.
Surge como alternativa a la Binomial cuando n es muy grande y p es muy pequeño (accidentes aereos/vuelos)
La distribución de Binomial(n, p) se puede aproximar por una Poison(np) si n es muy grande, p muy pequeño y np es moderado... veamos como:

LA DISTRIBUCION DE POISSON
La distribución de Poisson se define mediante PoissonDistribution[μ] donde μ es la media.
Surge como alternativa a la Binomial cuando n es muy grande y p es muy pequeño (accidentes aereos/vuelos)
La distribución de Binomial(n, p) se puede aproximar por una Poison(np) si n es muy grande, p muy pequeño y np es moderado... veamos como:

p=5

posdis=PoissonDistribution[p];

Mean[posdis]

PDF[posdis,x]

CDF[posdis,x]

Variance[posdis]

?tmuestra

muestra=RandomInteger[posdis,tmuestra]

Histogram[muestra,{1},"ProbabilityDensity"]

posdis=Table[PoissonDistribution[i],{i,5,10}]

?tmuestra

muestra=Table[RandomInteger[posdis[[i]],tmuestra],{i,1,6}]

muestra[[1]]

Table[
ListPlot[
Table[{x,PDF[posdis[[i]],x]},{x,0,20}],Filling->Axis,PlotStyle->PointSize[Large]
],{i,1,6}
]

La distribución de Binomial(n, p) se puede aproximar por una Poison(np) si n es muy grande, p muy pequeño y np es moderado... veamos como:

parametros=Table[{{5 10^n,1/10^n},{5 10^n*1/10^n}},{n,1,5}]

Table[
ListPlot[
{
Table[PDF[BinomialDistribution[5 10^n,1/10^n],x],{x,0,20}],
Table[PDF[PoissonDistribution[5],x],{x,0,20}]
},Filling->Axis,PlotStyle->PointSize[Large]
],
{n,1,5}
]//TableForm

problema 2

Definimos nuestra variable aleatoria binomial, como hay 500 componentes que fallas con probabilidad 0.1...
La probabilidad de que un componente electrónico falle a lo largo de un mes es 0.1. Si hay 500 componentes en funcionamiento, calcular la probabilidad de que en un mes:
a.-fallen como mucho 50 componentes,
b.-fallen entre 30 y 60,
c.-fallen más de 65.

En primer lugar usaremos la Binomial:

X=BinomialDistribution[500,0.1];

La probabilidad de que fallen 50 como mucho: ¿P(X≤50)?

CDF[X,50]

La probabilidad de que fallen entre 30 y 60 : ¿P(30≤X≤60)?

P(30≤X≤60)=P(X≤60)-P(X<30)=P(X≤60)-P(X≤29)

CDF[X,60]-CDF[X,29]

La probabilidad de que fallen más de 65¿P(X>65)?:

P(X>65)=1-P(X≤65)

1 - CDF[X, 65]

Ahora usamos la normal

Como sabemos, la Binomial se puede aproximar por una distribución Normal. En este caso

Binomial(n,p)=N(n p,(Sqrt[n p (1-p)]))

Y=NormalDistribution[Mean[X],StandardDeviation[X]]

P(X≤50)≈P(Y≤50.5)

CDF[Y,50.5]

P(30≤X≤60)≈P(29.5≤Y≤60.5)=P(Y≤60.5)-P(Y≤29.5)

CDF[Y,60.5]-CDF[Y,29.5]

P(X>65)≈P(Y>65.5)=1-P(Y≤65.5)

1-CDF[Y,65.5]

Visualizar la aproximación

Podemos visualizar la aproximación dibujando la función de probabilidada de la Binomial (con BarChart) y la función de densidad de la Normal (Plot). Mostraremos solo los valores de 0 a 100, ya que si presentamos todos los posibles valores (hasta 500) no se ve nada

a=ListPlot[
Table[{k,PDF[X,k]},{k,0,100}],
Filling->Axis,
FillingStyle->{{Orange,Opacity[.75]}},
PlotStyle->{{Orange,PointSize[Medium]}}
];

b=Plot[PDF[Y,x],{x,0,100},PlotStyle->Thick];

Show[b,a]

LA DISTRIBUCION (χ^2)
La (χ^2) es una suma de normales independientes al cuadrado. Su comando es ChiSquareDistribution[ν]. Hagamos una muestra, con p=1 (1 normal=grados d libertad).

chidis=ChiSquareDistribution[p];

Mean[chidis]

CDF[chidis,x]

PDF[chidis,x]

p=1

?chidis

Mean[chidis]

tmuestra=100

a1=Histogram[RandomReal[chidis,tmuestra],
{0,10,0.5},"ProbabilityDensity"]

?nordis

a2=Histogram[RandomReal[nordis,tmuestra]^2,
{0,10,0.5},"ProbabilityDensity"]

a=Histogram[
{RandomReal[nordis,tmuestra]^2,
RandomReal[chidis,tmuestra]},
{0,10,0.5},"ProbabilityDensity"]

Show[
Histogram[
{RandomReal[nordis,tmuestra]^2,
RandomReal[chidis,tmuestra]},
{0,10,0.5},"ProbabilityDensity"],
Plot[PDF[chidis,x],{x,0.15,12},PlotStyle->Thick,PlotRange->All]
]

Table[
PDF[ChiSquareDistribution[i],x],
{i,1,8}
];
Plot[%,{x,0,15},PlotStyle->Thick]

LA DISTRIBUCION t de Student
t de Student se escribe como StudentTDistribution[ν], donde v es el numero de grados de libertad
----------------------------------------
F de snedecor
La normal aproxima la binomial...

Clear[p]

studis=StudentTDistribution[p]

Mean[studis]

p=1

studis=Table[StudentTDistribution[i],{i,1,4}]

Table[Plot[PDF[studis[[i]],x],{x,-4,4},PlotStyle->{{Thick,Dashed}},PlotRange->All],{i,1,4}]

a=Table[PDF[studis[[i]],x],{i,1,4}]

Plot[{PDF[nordis,x],a[[1]],a[[2]],a[[3]],a[[4]]},{x,-4,4},PlotStyle->{Thick,Dashed,Dashed,Dashed,Dashed},PlotRange->All]

Table[CDF[StudentTDistribution[v],x],{v,1,4}];

Prepend[%,CDF[nordis,x]];

Plot[%,{x,-3,3},PlotStyle->{Thick,Dashed,Dashed,Dashed,Dashed}]

Problema a resolver:

Comparar mediante un gráfico,las distribuciones binomial y normal para un supuesto de 100 piezas con un porcentaje del 5% de piezas defectuosas.

X=BinomialDistribution[100,0.05];

a=ListPlot[
Table[{k,PDF[X,k]},{k,0,20}],
Filling->Axis,
FillingStyle->{{Orange,Opacity[.75]}},
PlotStyle->{{Orange,PointSize[Medium]}}
]

Mean[X];

StandardDeviation[X];

Y=NormalDistribution[Mean[X],StandardDeviation[X]]

b=Plot[PDF[Y,x],{x,0,20},PlotStyle->Thick];
Show[a,b]