?Distributions
Distribuciones continuas:
Normal distribution: dnorm().
Student’s t distribution: dt().
Exponential distribution: dexp().
Uniform distribution: dunif().
Weibull distribution: dweibull().
Beta distribution: dbeta().
Cauchy distribution: dcauchy().
Chi-squared distribution: dchisq().
F distribution: df().
Gamma distribution: dgamma().
log-normal distribution: dlnorm().
Distribuciones discretas:
Binomial (including Bernoulli) distribution: dbinom.
Geometric distribution: dgeom.
Hypergeometric distribution: dhyper.
Multinomial distribution: dmultinom.
Negative binomial distribution see dnbinom.
Poisson distribution: dpois.
\[ f(x)=p^{x}(1-p)^{1-x}I_{\{0,1\}}(x) \]
Nsim<-1000
p<-0.5
mus<-rbinom(Nsim,size=1,prob=p)
mean(mus)
> [1] 0.518
dotchart(mus)
# Matriz de datos
Nobs<-1000
Muestras<-500
p<-0.5
dat<-matrix(0,Nobs,Muestras)
for(i in 1:Muestras)
{
dat[,i]<- rbinom(Nobs,size=1,prob=p)
}
mean_dat<-apply(dat,2,mean)
length(mean_dat)
> [1] 500
hist(mean_dat)
mean(mean_dat)
> [1] 0.499048
var(mean_dat)
> [1] 0.0002354807
rbinom(n, size, prob): muestra aleatoria
dbinom(x, size, prob, log = FALSE): pdf \(f_{X}(x)\)
pbinom(q, size, prob): cdf \(F_{X}(x)\)
La pmf de la Binomial,está dada por
\[ f(x)=\binom{n}{x}p^x(1-p)^{n-x} \] donde \(x=0,1,2,...\)
Nobs<-1000
# Parámetros
n<-30
p<-0.5
set.seed(100) # fijas la semilla
muestra<-rbinom(Nobs,size=n,prob=p) # Genera una muestra de una binomial
length(muestra)
> [1] 1000
hist(muestra, main="Muestra de una Binomial")
max(muestra)
> [1] 24
Distribución del promedio de muestras Binomial
Muestras<-500
Nobs<-1000
# Parámetros
n<-30
p<-0.5
dat<-matrix(0,Nobs,Muestras)
for(i in 1:Muestras)
{
set.seed(i)
dat[,i]<-rbinom(Nobs,size=n,prob=p)
}
View(dat)
mean_dat<-apply(dat,2,mean)
hist(mean_dat)
Distribución Poisson
\[ f(x)=\frac{e^{-\lambda}\lambda^{x}}{x!} \]
Nobs<-1000
lam<-3
set.seed(100)
mus<-rpois(Nobs,lam)
hist(mus,
col="purple",
main="Muestra de una Poisson")
La suma de variables aleatorias de una distribución \(Poisson(\lambda)\), tiene distribución Poisson con parámetro \(n\lambda\)
rm(list=ls()) # Elemina los objetos pasados
Muestras<-500
Nobs<-1000
# Parámetros
lam<-3
dat<-matrix(0,Nobs,Muestras)
for(i in 1:Muestras)
{
set.seed(i)
dat[,i]<-rpois(Nobs,lam)
}
View(dat)
dat_sum<-apply(dat,2,sum)
hist(dat_sum)
Nsim<-1000
p<-0.3
ms<-rgeom(Nsim,p)
hist(ms, main="Muestra de una Geométrica")
curve(dgeom(x,p),from=0,to=10, type="h", col="red",
main="pmf Geométrica", ylab = expression(f[X](x)))
\[ f(x)=\theta e^{-\theta x}I_{(0,\infty)}(x) \]
Nobs<-1000
# Parámetros
theta<-2
set.seed(100)
mues.exp<-rexp(Nobs,theta)
hist(mues.exp, freq=F, main=" D. Exponencial") # Histograma de la muestra
curve(dexp(x, theta), add=T, from=min(mues.exp), to=max(mues.exp),
col="blue") # Distribución exponencial
La suma v.a \(Exp(\theta)\), tiene distribución \(Gamma(n,\theta)\), es decir \(X_{1},...X_{n}\), entonces
\[ \sum_{i=1}^{n}X_{i}\sim Gamma(n,\theta) \]
rm(list=ls()) # Elemina los objetos pasados
N.Muestras<-500
Nobs<-1000
# Parámetros
theta<-2
dat_muestras<-matrix(0,Nobs,N.Muestras)
for(i in 1:N.Muestras)
{
set.seed(i)
dat_muestras[,i]<-rexp(Nobs,theta) # D. Exp
}
View(dat_muestras)
dat_sum<-apply(dat_muestras,2,sum)
length(dat_sum)
> [1] 500
hist(dat_sum)
ks.test(dat_sum, "pgamma",Nobs,theta)
>
> Asymptotic one-sample Kolmogorov-Smirnov test
>
> data: dat_sum
> D = 0.050929, p-value = 0.1494
> alternative hypothesis: two-sided
hist(dat_sum, freq=F, main=expression(Gamma(n,theta))) # Histograma de la muestra
curve(dgamma(x, Nobs, theta), add=T, from=min(dat_sum), to=max(dat_sum),
col="purple") # Distribución exponencial
Si \(X_{1},...,X_{n}\) es una muestra aleatoria de una \(Exp(\theta)\), entonces \[ \bar{X} \sim Gamma(n,n\theta) \]
rm(list=ls()) # Elemina los objetos pasados
N.Muestras<-500
Nobs<-1000
# Parámetros
theta<-2
dat_muestras<-matrix(0,Nobs,N.Muestras)
for(i in 1:N.Muestras)
{
set.seed(i)
dat_muestras[,i]<-rexp(Nobs,theta) # Genera valores de la D. Exp
}
dat_mean<-apply(dat_muestras,2,mean) # Se trabaja sobre las columnas
length(dat_mean) # 500 datos
> [1] 500
hist(dat_mean)
p<-Nobs*theta
ks.test(dat_mean, "pgamma",Nobs,p)
>
> Asymptotic one-sample Kolmogorov-Smirnov test
>
> data: dat_mean
> D = 0.050929, p-value = 0.1494
> alternative hypothesis: two-sided
hist(dat_mean, freq=F, main="Gamma(n,n*theta)") # Histograma de la muestra
curve(dgamma(x, Nobs, p), add=T, from=min(dat_mean), to=max(dat_mean),
col="red") # Distribución Gamma
Sea \(X_{1},\ldots,X_{n}\) una muestra aleatoria de una distribución Cauchy, dada por \[ f(x)=\frac{1}{\pi\beta\left\{1+\left(\frac{x-\alpha}{\beta}\right)^{2}\right\}} \]
Nobs<-1000
alfa<-3
beta<-25
set.seed(100)
mues_cauchy<-rcauchy(Nobs,alfa,beta)
hist(mues_cauchy)