modelos de probabilidad en r - mexestadisticaymatematicaucr.mex.tl/imagesnew2/0/0/0/2/1/4/... ·...

33
Modelos de probabilidad en R Contents Probabilidades Discretas 1 Ejemplo: suma de la cara de dos dados ................................. 1 Distribución Binomial: ........................................... 3 Distribución Poisson: ............................................ 8 Probabilidades Continuas 11 Ejemplo: una varible distribuida normalmente (estándar) ....................... 11 Cambiando los parámetros de una curva normal ............................ 14 Distribucion T Student .......................................... 16 Distribucion Log Normal .......................................... 18 Chi Cuadrado ................................................ 21 Distribución Beta .............................................. 22 Ejemplo: a una variable específica, ajustar la curva normal ...................... 27 Estimar los parametros: normal ...................................... 29 Estimar los parametros: t student .................................... 31 Comparamos el ajuste normal y t student ................................ 32 En este tutorial vamos a R para reforzar los conceptos de probabilidad vistos en clase y darles un mayor sentido y aplicabilidad. Se abordarán los principales modelos de probabilidad discreta y continua. Más adelante se verá su utilidad en finanzas. Probabilidades Discretas Ejemplo: suma de la cara de dos dados Gráfico de la Función de Masa (o densidad) y la Función de Distribución #Sabemos que la suma de dos dados se encuentra entre 2 y 12 x<-2:12 #Conocemos también la cantidad de casos favorables para cada suma #y lo divimos entre el total de casas (36) p<-c(1:6,5:1)/36 #Graficamos la función de masa f(x) plot(x,p,type="h",ylim=c(0,0.2),xlab=expression(x[i]),ylab=expression(p[i])) points(x,p,pch=19) 1

Upload: others

Post on 16-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Modelos de probabilidad en R

    ContentsProbabilidades Discretas 1

    Ejemplo: suma de la cara de dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Distribución Binomial: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Distribución Poisson: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    Probabilidades Continuas 11Ejemplo: una varible distribuida normalmente (estándar) . . . . . . . . . . . . . . . . . . . . . . . 11Cambiando los parámetros de una curva normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Distribucion T Student . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Distribucion Log Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Chi Cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Distribución Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Ejemplo: a una variable específica, ajustar la curva normal . . . . . . . . . . . . . . . . . . . . . . 27Estimar los parametros: normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Estimar los parametros: t student . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Comparamos el ajuste normal y t student . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    En este tutorial vamos a R para reforzar los conceptos de probabilidad vistos en clase y darles un mayorsentido y aplicabilidad.

    Se abordarán los principales modelos de probabilidad discreta y continua. Más adelante se verá su utilidaden finanzas.

    Probabilidades Discretas

    Ejemplo: suma de la cara de dos dados

    Gráfico de la Función de Masa (o densidad) y la Función de Distribución

    #Sabemos que la suma de dos dados se encuentra entre 2 y 12x

  • 2 4 6 8 10 12

    0.00

    0.05

    0.10

    0.15

    0.20

    xi

    p i

    #Graficamos la función de distribución F(x)plot.ecdf(outer(1:6,1:6,"+"),ylab=expression(F[X](x)),main="")

    2

  • 2 4 6 8 10 12

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    x

    FX(x

    )

    Distribución Binomial:

    Suponga que un gerente de crédito de American Express ha descubierto que históricamente7.82% (p) de los usurios de tarjetas han experimentado problemas con el róbo o pérdida desu tarjeta. Por lo cual para efectos de preveer la cantidad de reposiciones en el próximo añodesea saber la probabilidad de que:

    De una sucursal que atiende 1,000 personas, exactamente 68 personas necesiten reponer sutarjeta#Identifico los parámetrosx

  • p

  • #Primer forma es con una función creada por nosotros mismos

    #Defino los parámetrosp

  • #Ahora puedo reducir el eje x en el gráfico para amplificar el área donde ocurren los casosg.bin

  • 0 8 18 30 42 54 66 78 90 103 118 133 148 163 178

    bin. dist. :1000:0.0782

    Personas que reponen tarjeta

    Den

    sida

    d

    0.00

    0.01

    0.02

    0.03

    0.04

    #Un décimo del largo del ejep

  • 0 4 8 13 19 25 31 37 43 49 55 61 67 73 79 85 91

    bin. dist. :1000:0.0782

    Personas que reponen tarjeta

    Den

    sida

    d

    0.00

    0.01

    0.02

    0.03

    0.04

    Distribución Poisson:

    Suponga que en el mercado cambiario se espera que sucedan en promedio 25 calces o transac-ciones cada hora. Si se asume que las transacciones siguen una distribución de Poisson. En-tonces encuentre la probabilidad de que:

    En una hora específica, sucedan exactamente 19 transacciones#Identifico los parámetrosx

  • ## [1] 0.1366911ppois(x,lambda=h,lower=FALSE)

    ## [1] 0.1366911

    En una hora específica, sucedan menos de 10 transacciones#Identifico los parámetrosx

  • 0 1 2 3 4 5 6 7 8 9 11 13 15 17 19

    poi. dist. :20:25

    Calces en el mercado

    Den

    sida

    d

    0.00

    0.01

    0.02

    0.03

    0.04

    0.05

    #Ampliamos la cantidad de calces de interésx

  • 0 4 8 13 19 25 31 37 43 49 55 61 67 73

    poi. dist. :75:25

    Calces en el mercado

    Den

    sida

    d

    0.00

    0.02

    0.04

    0.06

    Probabilidades Continuas

    Ejemplo: una varible distribuida normalmente (estándar)

    #Se fija la "semilla" para la generación de números aleatoriosset.seed(3000)

    #Creamos un vector de los valores para el eje xxseq

  • −4 −2 0 2 4

    0.0

    0.1

    0.2

    0.3

    0.4

    f(x) Normal Estándar

    Den

    sida

    d

    plot(xseq,cumul,col="darkorange",xlab="",ylab="Probabilidad Acumulada",type="l",lwd=2,cex=2,main="F(x) Normal Estándar", cex.axis=.8)

    12

  • −4 −2 0 2 4

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    F(x) Normal Estándar

    Pro

    babi

    lidad

    Acu

    mul

    ada

    hist(random,main="Números Aleatorios Normal Estándar",cex.axis=.8, xlim=c(-4,4))

    13

  • Números Aleatorios Normal Estándar

    random

    Fre

    quen

    cy

    −4 −2 0 2 4

    050

    100

    150

    200

    Cambiando los parámetros de una curva normal

    #Creamos un vector de los valores para el eje xx1

  • −10 0 10 20

    0.0

    0.1

    0.2

    0.3

    0.4

    f(x) Normal Estándar

    Den

    sida

    d

    N~(5,1)N~(5,2)N~(5,4)N~(5,8)

    #Creamos un vector de los valores para el eje y de la densidad acumuladacum1

  • −10 0 10 20

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    F(x) Normal Estándar

    Pro

    babi

    lidad

    Acu

    mul

    ada

    Distribucion T Student

    #Vamos a observar cual es la forma de la distribucion#con 1 grado de libertadx

  • −3 −2 −1 0 1 2 3

    0.05

    0.15

    0.25

    x

    Den

    sity

    #Generamos varias T Student con distintos grados de libertadplot(x,dt(x,1),type="n",ylab="Density",ylim=c(0,0.4))for (i in 0:6){

    lines(x,dt(x,df=2^i),col=i+2)legend("topright",legend=2^(0:6),col=2:8,lty=1,bty="n")

    }

    17

  • −3 −2 −1 0 1 2 3

    0.0

    0.1

    0.2

    0.3

    0.4

    x

    Den

    sity

    1248163264

    1248163264

    1248163264

    1248163264

    1248163264

    1248163264

    1248163264

    Distribucion Log Normal

    #Vamos a observar cual es la forma de la distribucion log normalx

  • −1 0 1 2 3 4 5

    0.0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    x

    Den

    sity

    #Generamos valores aleatorio log normalx

  • Histogram of x

    x

    Den

    sity

    0 20 40 60 80 100 120

    0.00

    0.02

    0.04

    0.06

    0.08

    0.10

    #Entonces si sacamos el logaritmo, se debe parece a una normaly

  • Histogram of y

    y

    Den

    sity

    −1 0 1 2 3 4 5

    0.0

    0.1

    0.2

    0.3

    0.4

    Chi Cuadrado

    #Vamos a observar cual es la forma de la distribucion#con 1 grado de libertadx

  • 0 10 20 30 40 50

    0.0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    x

    Den

    sity

    1248163264

    1248163264

    1248163264

    1248163264

    1248163264

    1248163264

    Distribución Beta

    #Vamos a observar cual es la forma de la distribucion#Parámetros alpha y beta

    #con parámetros (1,1) grado de libertadx

  • 0.0 0.2 0.4 0.6 0.8 1.0

    0.6

    0.8

    1.0

    1.2

    1.4

    x

    Den

    sity

    #con parámetros (1,2) grado de libertadx

  • 0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.5

    1.0

    1.5

    2.0

    x

    Den

    sity

    #con parámetros (2,1) grado de libertadx

  • 0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.5

    1.0

    1.5

    2.0

    x

    Den

    sity

    #con parámetros (2,2) grado de libertadx

  • 0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.5

    1.0

    1.5

    x

    Den

    sity

    #Generamos varias beta con distintos parámetros#Se definen vectores con los valores de parámetrso de la distribución y del gráficoa.seq

  • 0.0 0.2 0.4 0.6 0.8 1.0 1.2

    0.0

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    x

    Den

    sity

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    α, β1 12 23 34 45 56 60.8 0.80.4 0.40.2 0.21 40.5 42 4

    Ejemplo: a una variable específica, ajustar la curva normal

    #Cargamos paqueteslibrary(timeSeries)

    ## Loading required package: timeDate#Cargamos una base de datos nuevarm(list=ls())setwd("G:/UCR TR-ESTADISTICA/Curso 21-07-17/Clase 1")data

  • head(ret.datos)

    ## GMT## Bond.US r1 US.Stock r2 Latin.Stock r3## 2000-01-10 0.0404 59.4599 0.4299 -171.4632 3.8029 -4.8987## 2000-01-14 0.0139 -33.6780 1.2061 149.8206 2.6466 -48.1271## 2000-01-26 0.0160 65.0849 0.0281 -194.8651 1.0297 373.6607## 2000-03-01 0.0228 -8.6902 0.0949 -224.0976 2.8484 226.9099## 2000-03-02 0.0166 -31.8563 0.2659 103.0694 3.5632 22.7523## 2000-03-03 0.0138 -18.2804 1.9704 201.1519 1.8614 -65.7876#Hacemos el histograma y sobreponemos la curvax

  • #Usar QQ plot#Famoso grafico QQ-Plotqqnorm(ret.datos$r3)qqline(ret.datos$r3, col=2)

    −3 −2 −1 0 1 2 3

    −40

    00

    200

    400

    Normal Q−Q Plot

    Theoretical Quantiles

    Sam

    ple

    Qua

    ntile

    s

    Estimar los parametros: normal

    #Instalo el paquete#install.packages("fitdistrplus")library(fitdistrplus)

    ## Warning: package 'fitdistrplus' was built under R version 3.4.1

    ## Loading required package: MASS

    ## Loading required package: survival#Comando para la estimacionf1

  • names(f1)

    ## [1] "estimate" "method" "sd" "cor" "vcov"## [6] "loglik" "aic" "bic" "n" "data"## [11] "distname" "fix.arg" "fix.arg.fun" "dots" "convergence"## [16] "discrete" "weights"plot(f1)

    Empirical and theoretical dens.

    Data

    Den

    sity

    −600 −200 0 200 400

    0.00

    000.

    0025

    −400 −200 0 200 400

    −40

    020

    0

    Q−Q plot

    Theoretical quantilesE

    mpi

    rical

    qua

    ntile

    s

    −600 −200 0 200 400

    0.0

    0.6

    Empirical and theoretical CDFs

    Data

    CD

    F

    0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.6

    P−P plot

    Theoretical probabilities

    Em

    piric

    al p

    roba

    bilit

    ies

    #No hay mucha diferencia con las estimaciones de la media y desviacion que calculamos anteshist(ret.datos$r3,prob=TRUE,ylim=c(0,0.004),breaks=20)curve(dnorm(x,mean(ret.datos$r3),sd(ret.datos$r3)),

    add=TRUE,col="darkblue",lwd=2)curve(dnorm(x,f1$estimate[1],f1$estimate[2]),

    add=TRUE,col="red",lwd=2)

    30

  • Histogram of ret.datos$r3

    ret.datos$r3

    Den

    sity

    −400 −200 0 200 400

    0.00

    00.

    001

    0.00

    20.

    003

    0.00

    4

    Estimar los parametros: t student

    #Instalar paquete#install.packages("metRology")library(metRology)

    ## Warning: package 'metRology' was built under R version 3.4.1

    #### Attaching package: 'metRology'

    ## The following objects are masked from 'package:base':#### cbind, rbind#Comando para la estimacionx

  • ## Warning in dt((x - m)/s, df, log = TRUE): NaNs producedf2

    ## m s df## 2.548267 104.322667 4.522365## ( 6.020630) ( 6.929205) ( 1.135969)names(f2)

    ## [1] "estimate" "sd" "vcov" "loglik" "n"#Sobreponemos la curva thist(ret.datos$r3,prob=TRUE,ylim=c(0,0.004),breaks=20)curve(dt.scaled(x,df=f2$estimate[3],mean=f2$estimate[1],sd=f2$estimate[2]),

    add=TRUE,col="darkblue",lwd=2)

    Histogram of ret.datos$r3

    ret.datos$r3

    Den

    sity

    −400 −200 0 200 400

    0.00

    00.

    001

    0.00

    20.

    003

    0.00

    4

    Comparamos el ajuste normal y t student

    #Sobreponemos la curva t y la normalhist(ret.datos$r3,prob=TRUE,ylim=c(0,0.004),breaks=20)curve(dt.scaled(x,df=f2$estimate[3],mean=f2$estimate[1],sd=f2$estimate[2]),

    add=TRUE,col="darkblue",lwd=2)curve(dnorm(x,f1$estimate[1],f1$estimate[2]),add=TRUE,col="red",lwd=2)

    32

  • Histogram of ret.datos$r3

    ret.datos$r3

    Den

    sity

    −400 −200 0 200 400

    0.00

    00.

    001

    0.00

    20.

    003

    0.00

    4

    33

    Probabilidades DiscretasEjemplo: suma de la cara de dos dadosDistribución Binomial:Distribución Poisson:

    Probabilidades ContinuasEjemplo: una varible distribuida normalmente (estándar)Cambiando los parámetros de una curva normalDistribucion T StudentDistribucion Log NormalChi CuadradoDistribución BetaEjemplo: a una variable específica, ajustar la curva normalEstimar los parametros: normalEstimar los parametros: t studentComparamos el ajuste normal y t student