Modelos de probabilidad en R

Documentos relacionados
EJERCICIOS RESUELTOS

TIPO DE CAMBIO MXN/EUR Eduardo Lozas 14 de diciembre de 2017

Práctica de MODELOS DE PROBABILIDAD

Estadística. Para el caso de dos variables aleatorias X e Y, se puede mostrar que. Pero y son desconocidos. Entonces. covarianza muestral

1. La Distribución Normal

peso edad grasas Regresión lineal simple Los datos

Figura 1. Generación de variables aleatorias.

Ejemplo de Regresión Lineal Simple.

Agenda 1 Variable aleatoria Continua Valor esperado de una variable aleatoria continua. Varianza. 2

ESTADÍSTICA I. Unidad 4: Resumen de Contenidos Teóricos 1. Mariano Lanza DISTRIBUCIONES DE PROBABILIDAD COMÚNMENTE UTILIZADAS

Práctica 3 vgaribay PRÁCTICA 3. INTERVALOS DE CONFIANZA

Introducción al Diseño de Experimentos.

Tema 7. Introducción Metodología del contraste de hipótesis Métodos no paramétricos

JUEGO DE BASKETBALL. Repaso de Distribuciones de Probabilidad Discretas y Continuas

Análisis Estadísticos con R

Unidad IV: Distribuciones muestrales

ESTADÍSTICA BIVARIADA

Distribuciones de Probabilidad.

ACTIVIDAD 2: La distribución Normal

Métodos de Remuestreo Tema 2. Distribución Empírica

Introducción a la simulación de procesos estocásticos.

Transformaciones y esperanza

Distribución Chi (o Ji) cuadrada (χ( 2 )

Intervalos de confianza con STATGRAPHICS

Introducción a estadística

Distribuciones de probabilidad II

Práctica de SIMULACIÓN

Distribuciones de Probabilidad Continuas

Estadística para las Ciencias Agropecuarias

Gráfico de la función de distribución empírica

Análisis de Datos en Física de Partículas

Distribuciones Continuas

Prácticas de Fiabilidad

ETSI de Topografía, Geodesia y Cartografía

Distribución Exponencial

Generación de variables aleatorias continuas Método de la transformada inversa

Ajuste de Regresión Lineal Simple

Ejemplo de análisis de la Varianza (ANOVA).

CURSO: ANALISIS ESTADISTICO DE RIESGOS

Simulación. La mayoría de los procesos de simulación tiene la misma estructura básica:

Generación de variables aleatorias continuas Método de la transformada inversa

Preparación de los datos de entrada

PRÁCTICAS DE ESTADÍSTICA CON R

Gráficas de funciones de masa de probabilidad y de función de densidad de probabilidad de Distribuciones especiales. x n

Clasificación supervisada con R

ESTADISTICA INFERENCIAL DR. JORGE ACUÑA A.

Estadística descriptiva con R

UNIDAD 4: DISTRIBUCIÓN DE PROBABILIDAD

CAPÍTULO 5 DISTRIBUCIONES TEÓRICAS

ANALISIS ESTADISTICO MINISTERIO DE ECONOMIA Y FINANZAS

Intervalos de Confianza

Ejemplo de Regresión Lineal Simple

Estadística. Tema 2. Variables Aleatorias Funciones de distribución y probabilidad Ejemplos distribuciones discretas y continuas

GENERACION DE NUMEROS ALEATORIOS Y VARIABLES ALEATORIAS

Determinación del tamaño de muestra (para una sola muestra)

ESTADÍSTICA I Tema 4: Estimación por intervalos de confianza

Regresión de Poisson. Microeconomía Cuantitativa. R. Mora. Departmento de Economía Universidad Carlos III de Madrid

Laboratorio 2 Probabilidad y Estadística con MATLAB GENERACIÓN DE VARIABLES ALEATORIAS Y SIMULACIÓN

observar que la distribución colapsa y que las medias calculadas usando 1000 iteraciones están muy próximas a 0.

Pérdida Esperada. Pérdida Esperada (PE): Valor esperado de pérdida por riesgo crediticio en un horizonte de tiempo determinado.

Estas dos clases. ANOVA I - Conceptos generales - Supuestos - ANOVA de una vía - Transformación de datos - Test a Posteriori - ANOVA de dos vías

PRUEBAS INFORMALES DE NORMALIDAD PARA UN CONJUNTO UNIVARIADO DE MEDICIONES.

Cálculo de Probabilidades II Preguntas Tema 2

Biometría. Distribuciones de probabilidad para variables aleatorias continuas

viii CAPÍTULO 2 Métodos de muestreo CAPÍTULO 3 Análisis exploratorio de datos

INDICE. Prólogo a la Segunda Edición

Examen Final A Total puntos: /100. Buena suerte y éxito! Utilice la siguiente información para responder a las preguntas 1 al 5.

Longitud = Calcular la media, la mediana, la moda y la desviación estándar de la muestra en Matlab.

Discretas. Continuas

Estadística Clase 2. Maestría en Finanzas Universidad del CEMA. Profesor: Alberto Landro Asistente: Julián R. Siri

Estadística Clase 2. Maestría en Finanzas Universidad del CEMA. Profesor: Alberto Landro Asistente: Julián R. Siri

GENERACION DE NUMEROS ALEATORIOS Y VARIABLES ALEATORIAS

Transcripción:

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

p i 0.00 0.05 0.10 0.15 0.20 2 4 6 8 10 12 x i #Graficamos la función de distribución F(x) plot.ecdf(outer(1:6,1:6,"+"),ylab=expression(f[x](x)),main="") 2

F X (x) 0.0 0.2 0.4 0.6 0.8 1.0 2 4 6 8 10 12 x Distribución Binomial: Suponga que un gerente de crédito de American Express ha descubierto que históricamente 7.82% (p) de los usurios de tarjetas han experimentado problemas con el róbo o pérdida de su tarjeta. Por lo cual para efectos de preveer la cantidad de reposiciones en el próximo año desea saber la probabilidad de que: De una sucursal que atiende 1,000 personas, exactamente 68 personas necesiten reponer su tarjeta #Identifico los parámetros x<-68 p<-0.0782 n<-1000 #uso la función de masa o densidad (esto es la probabilidad puntual) dbinom(x,size=n,prob=p) ## [1] 0.02358542 De una sucursal que atiende 1,000 personas, menos de 80 personas necesiten reponer su tarjeta #Identifico los parámetros x<-80 3

p<-0.0782 n<-1000 #uso la función de distribución (acumulada hacia atrás) pbinom(x,size=n,prob=p) ## [1] 0.612633 De una sucursal que atiende 1,000 personas, más de 80 personas necesiten reponer su tarjeta #Identifico los parámetros x<-80 p<-0.0782 n<-1000 #uso la función de distribución 1-pbinom(x,size=n,prob=p) ## [1] 0.387367 De una sucursal que atiende 1,000 personas, entre 25 y 85 personas necesiten reponer su tarjeta #Identifico los parámetros x1<-85 x2<-25 p<-0.0782 n<-1000 #uso la función de distribución p1<-pbinom(x1,size=n,prob=p) p2<-pbinom(x2,size=n,prob=p) p1-p2 ## [1] 0.8062933 De una sucursal que atiende 1,000 personas, más de 110 personas necesiten reponer su tarjeta #Identifico los parámetros x<-110 p<-0.0782 n<-1000 #uso la función de distribución 1-pbinom(x,size=n,prob=p) ## [1] 0.0001503321 Podemos ver graficamente el fenómeno 4

#Primer forma es con una función creada por nosotros mismos #Defino los parámetros p<-0.0782 n<-1000 #Uso la función de densidad (que brinda las probabilidades no acumuladas como en pbinom) x<-dbinom(0:n,size=n,prob=p) #Grafico barplot(x,names.arg=0:n,main=sprintf(paste('bin. dist. ',n,p,sep=':')), xlab="personas que reponen tarjeta",ylab="densidad") #Ahora podemos agrupar todo dentro de una nueva función g.bin<-function(n,p){ x<-dbinom(0:n,size=n,prob=p) barplot(x,names.arg=0:n,main=sprintf(paste('bin. dist. ',n,p,sep=':')), xlab="personas que reponen tarjeta",ylab="densidad") } p<-0.0782 n<-1000 g.bin(n,p) bin. dist. :1000:0.0782 Densidad 0.00 0.01 0.02 0.03 0.04 0 58 135 221 307 393 479 565 651 737 823 909 995 Personas que reponen tarjeta 5

#Ahora puedo reducir el eje x en el gráfico para amplificar el área donde ocurren los casos g.bin<-function(n,p,r){ x<-dbinom(0:n,size=n,prob=p) barplot(x,names.arg=0:n,main=sprintf(paste('bin. dist. ',n,p,sep=':')), xlab="personas que reponen tarjeta",ylab="densidad",xlim=c(0,n/r)) } #La mitad del largo del eje p<-0.0782 n<-1000 r<-2 g.bin(n,p,r) bin. dist. :1000:0.0782 Densidad 0.00 0.01 0.02 0.03 0.04 0 24 52 80 112 148 184 220 256 292 328 364 400 436 Personas que reponen tarjeta #Un quinto del largo del eje p<-0.0782 n<-1000 r<-5 g.bin(n,p,r) 6

bin. dist. :1000:0.0782 Densidad 0.00 0.01 0.02 0.03 0.04 0 8 18 30 42 54 66 78 90 103 118 133 148 163 178 Personas que reponen tarjeta #Un décimo del largo del eje p<-0.0782 n<-1000 r<-10 g.bin(n,p,r) 7

bin. dist. :1000:0.0782 Densidad 0.00 0.01 0.02 0.03 0.04 0 4 8 13 19 25 31 37 43 49 55 61 67 73 79 85 91 Personas que reponen tarjeta Distribución Poisson: Suponga que en el mercado cambiario se espera que sucedan en promedio 25 calces o transacciones cada hora. Si se asume que las transacciones siguen una distribución de Poisson. Entonces encuentre la probabilidad de que: En una hora específica, sucedan exactamente 19 transacciones #Identifico los parámetros x<-19 h<-25 #uso la función de distribución (acumulada hacia atrás) dpois(x,lambda=h) ## [1] 0.04153397 En una hora específica, suceda al menos 30 transacciones #Identifico los parámetros x<-30 h<-25 #uso la función de distribución (acumulada hacia atrás) 1-ppois(x,lambda=h) 8

## [1] 0.1366911 ppois(x,lambda=h,lower=false) ## [1] 0.1366911 En una hora específica, sucedan menos de 10 transacciones #Identifico los parámetros x<-10 h<-25 #uso la función de distribución (acumulada hacia atrás) ppois(x,lambda=h) ## [1] 0.0005864616 Podemos ver graficamente el fenómeno #Creo una nueva función g.poi<-function(y,h){ x<-dpois(0:x,lambda=h) barplot(x,names.arg=0:y,main=sprintf(paste('poi. dist. ',y,h,sep=':')), xlab="calces en el mercado",ylab="densidad") } x<-20 h<-25 g.poi(x,h) 9

poi. dist. :20:25 Densidad 0.00 0.01 0.02 0.03 0.04 0.05 0 1 2 3 4 5 6 7 8 9 11 13 15 17 19 Calces en el mercado #Ampliamos la cantidad de calces de interés x<-75 h<-25 g.poi(x,h) 10

poi. dist. :75:25 Densidad 0.00 0.02 0.04 0.06 0 4 8 13 19 25 31 37 43 49 55 61 67 73 Calces en el mercado Probabilidades Continuas Ejemplo: una varible distribuida normalmente (estándar) #Se fija la "semilla" para la generación de números aleatorios set.seed(3000) #Creamos un vector de los valores para el eje x xseq<-seq(-4,4,0.01) #Creamos un vector de los valores para el eje y de la densidad den<-dnorm(xseq,0,1) #Creamos un vector de los valores para el eje y de la densidad acumulada cumul<-pnorm(xseq,0,1) #Generar numeros aleatorios random<-rnorm(1000,0,1) #1000 numeros aleatorios de una normal estándar (media=0 y sd=1) #Gráfico de la densidad plot(xseq,den,col="darkgreen",xlab="",ylab="densidad",type="l",lwd=2, cex=2,main="f(x) Normal Estándar",cex.axis=.8) 11

f(x) Normal Estándar Densidad 0.0 0.1 0.2 0.3 0.4 4 2 0 2 4 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

F(x) Normal Estándar Probabilidad Acumulada 0.0 0.2 0.4 0.6 0.8 1.0 4 2 0 2 4 hist(random,main="números Aleatorios Normal Estándar", cex.axis=.8, xlim=c(-4,4)) 13

Números Aleatorios Normal Estándar Frequency 0 50 100 150 200 4 2 0 2 4 random Cambiando los parámetros de una curva normal #Creamos un vector de los valores para el eje x x1<-seq(-15,25,0.1) mu<-5 sig1<-1 sig2<-2 sig3<-4 sig4<-8 #Creamos un vector de los valores para el eje y de la densidad den1<-dnorm(x1,mu,sig1) den2<-dnorm(x1,mu,sig2) den3<-dnorm(x1,mu,sig3) den4<-dnorm(x1,mu,sig4) plot(x1,den1,col="black",xlab="",ylab="densidad",type="l",lwd=2, cex=2,main="f(x) Normal Estándar",cex.axis=.8) lines(x1,den2,col="blue",type="l",lwd=2,cex=2) lines(x1,den3,col="green",type="l",lwd=2,cex=2) lines(x1,den4,col="red",type="l",lwd=2,cex=2) legend(-14,0.4,legend=c("n~(5,1)","n~(5,2)","n~(5,4)","n~(5,8)"),lty=1, col=c("black","blue","green","red")) 14

f(x) Normal Estándar Densidad 0.0 0.1 0.2 0.3 0.4 N~(5,1) N~(5,2) N~(5,4) N~(5,8) 10 0 10 20 #Creamos un vector de los valores para el eje y de la densidad acumulada cum1<-pnorm(x1,mu,sig1) cum2<-pnorm(x1,mu,sig2) cum3<-pnorm(x1,mu,sig3) cum4<-pnorm(x1,mu,sig4) plot(x1,cum1,col="black",xlab="",ylab="probabilidad Acumulada", type="l",lwd=2,cex=2,main="f(x) Normal Estándar", cex.axis=.8) lines(x1,cum2,col="blue",type="l",lwd=2,cex=2) lines(x1,cum3,col="green",type="l",lwd=2,cex=2) lines(x1,cum4,col="red",type="l",lwd=2,cex=2) 15

F(x) Normal Estándar Probabilidad Acumulada 0.0 0.2 0.4 0.6 0.8 1.0 10 0 10 20 Distribucion T Student #Vamos a observar cual es la forma de la distribucion #con 1 grado de libertad x<-seq(-3,to=3,length=100) plot(x,dt(x,1),type="l",ylab="density") 16

Density 0.05 0.15 0.25 3 2 1 0 1 2 3 x #Generamos varias T Student con distintos grados de libertad plot(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

Density 0.0 0.1 0.2 0.3 0.4 1 2 4 8 16 32 64 3 2 1 0 1 2 3 x Distribucion Log Normal #Vamos a observar cual es la forma de la distribucion log normal x<-seq(-1,to=5,length=100) plot(x,dlnorm(x),type="l",ylab="density") 18

Density 0.0 0.1 0.2 0.3 0.4 0.5 0.6 1 0 1 2 3 4 5 x #Generamos valores aleatorio log normal x<-rlnorm(1000,2,1) hist(x,prob=true,ylim=c(0,0.1)) curve(dlnorm(x,mean=2,sd=1), add=true,col="red",lwd=2) 19

Histogram of x Density 0.00 0.02 0.04 0.06 0.08 0.10 0 20 40 60 80 100 120 x #Entonces si sacamos el logaritmo, se debe parece a una normal y<-log(x) hist(y,prob=true) curve(dnorm(x,mean=2,sd=1), add=true,col="red",lwd=2) 20

Histogram of y Density 0.0 0.1 0.2 0.3 0.4 1 0 1 2 3 4 5 y Chi Cuadrado #Vamos a observar cual es la forma de la distribucion #con 1 grado de libertad x<-seq(0,to=50,length=150) plot(x,dchisq(x,df=1),type="l",ylab="density") #Generamos varias Chi cuadrado con distintos grados de libertad plot(x,dchisq(x,df=1),type="l",ylab="density") for (i in 1:6){ lines(x,dchisq(x,df=2^i),col=i+1) legend("topright",legend=2^(0:6),col=1:7,lty=1,bty="n") } 21

Density 0.0 0.1 0.2 0.3 0.4 0.5 0.6 1 2 4 8 16 32 64 0 10 20 30 40 50 x 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 libertad x<-seq(0,to=1,length=100) plot(x,dbeta(x,1,1),type="l",ylab="density") #Corresponde a una uniforme 22

Density 0.6 0.8 1.0 1.2 1.4 0.0 0.2 0.4 0.6 0.8 1.0 x #con parámetros (1,2) grado de libertad x<-seq(0,to=1,length=100) plot(x,dbeta(x,1,2),type="l",ylab="density") 23

Density 0.0 0.5 1.0 1.5 2.0 0.0 0.2 0.4 0.6 0.8 1.0 x #con parámetros (2,1) grado de libertad x<-seq(0,to=1,length=100) plot(x,dbeta(x,2,1),type="l",ylab="density") 24

Density 0.0 0.5 1.0 1.5 2.0 0.0 0.2 0.4 0.6 0.8 1.0 x #con parámetros (2,2) grado de libertad x<-seq(0,to=1,length=100) plot(x,dbeta(x,2,2),type="l",ylab="density") 25

Density 0.0 0.5 1.0 1.5 0.0 0.2 0.4 0.6 0.8 1.0 x #Generamos varias beta con distintos parámetros #Se definen vectores con los valores de parámetrso de la distribución y del gráfico a.seq<-c(1:6,0.8,0.4,0.2,1,0.5,2) b.seq<-c(1:6,0.8,0.4,0.2,4,4,4) col<-c(1:6,1:6) lty<-rep(1:2,each=6) plot(x,dbeta(x,1,1),type="l",ylab="density",xlab="x",xlim=c(0,1.3),ylim=c(0,3)) for(i in 2:length(a.seq)){ lines(x,dbeta(x,a.seq[i],b.seq[i]),col=col[i],lty=lty[i]) legend("topright",legend=c(expression(list(alpha,beta)), paste(a.seq,b.seq)),col=c(na,col),lty=c(na,lty),cex=0.9,bty=n) } 26

Density 0.0 0.5 1.0 1.5 2.0 2.5 3.0 α, β 1 1 2 2 3 3 4 4 5 5 6 6 0.8 0.8 0.4 0.4 0.2 0.2 1 4 0.5 4 2 4 0.0 0.2 0.4 0.6 0.8 1.0 1.2 x Ejemplo: a una variable específica, ajustar la curva normal #Cargamos paquetes library(timeseries) ## Loading required package: timedate #Cargamos una base de datos nueva rm(list=ls()) setwd("g:/ucr TR-ESTADISTICA/Curso 21-07-17/Clase 1") data<-as.timeseries(read.csv("simmac.csv",sep=";")) head(data) ## GMT ## Bond.US r1 US.Stock r2 Latin.Stock r3 ## 2000-01-03 143.565 0.0002577 11357.51-0.0316592 1106.84-0.0740486 ## 2000-01-04 143.602 0.0002577 10997.94-0.0316592 1024.88-0.0740486 ## 2000-01-05 143.625 0.0001602 11122.66 0.0113403 1047.38 0.0219538 ## 2000-01-06 143.660 0.0002437 11253.27 0.0117427 1031.75-0.0149230 ## 2000-01-07 143.692 0.0002227 11522.56 0.0239299 1073.75 0.0407075 ## 2000-01-10 143.750 0.0004036 11572.20 0.0043081 1115.37 0.0387614 #Redondeamos los retornos de los índices y los convertimos en puntos básicos ret.datos<-round(returns(data),6)*100 ## Warning in log(data): Se han producido NaNs 27

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 curva x<-seq(-4,4,.01) hist(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) Histogram of ret.datos$r3 Density 0.000 0.001 0.002 0.003 0.004 400 200 0 200 400 ret.datos$r3 #Probar estadisticamente la normalidad shapiro.test(ret.datos$r3) ## ## Shapiro-Wilk normality test ## ## data: ret.datos$r3 ## W = 0.98078, p-value = 3.115e-05 #Si el p value es menor que 0.05, entonces se puede asumir normalidad 28

#Usar QQ plot #Famoso grafico QQ-Plot qqnorm(ret.datos$r3) qqline(ret.datos$r3, col=2) Normal Q Q Plot Sample Quantiles 400 0 200 400 3 2 1 0 1 2 3 Theoretical Quantiles 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 estimacion f1<-fitdist(ret.datos$r3,"norm") f1 ## Fitting of the distribution ' norm ' by maximum likelihood ## Parameters: ## estimate Std. Error ## mean 1.472484 6.712510 ## sd 135.419521 4.746456 29

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. Q Q plot Density 0.0000 0.0025 600 200 0 200 400 Empirical quantiles 400 200 400 200 0 200 400 Data Theoretical quantiles CDF 0.0 0.6 Empirical and theoretical CDFs 600 200 0 200 400 Empirical probabilities 0.0 0.6 P P plot 0.0 0.2 0.4 0.6 0.8 1.0 Data Theoretical probabilities #No hay mucha diferencia con las estimaciones de la media y desviacion que calculamos antes hist(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 Density 0.000 0.001 0.002 0.003 0.004 400 200 0 200 400 ret.datos$r3 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 estimacion x<-seq(-4,4,.01) f2<-fitdistr(ret.datos$r3,"t",start=list(m=mean(ret.datos$r3),s=sd(ret.datos$r3),df=1)) ## Warning in dt((x - m)/s, df, log = TRUE): NaNs produced ## Warning in dt((x - m)/s, df, log = TRUE): NaNs produced ## Warning in dt((x - m)/s, df, log = TRUE): NaNs produced ## Warning in dt((x - m)/s, df, log = TRUE): NaNs produced 31

## Warning in dt((x - m)/s, df, log = TRUE): NaNs produced f2 ## 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 t hist(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 Density 0.000 0.001 0.002 0.003 0.004 400 200 0 200 400 ret.datos$r3 Comparamos el ajuste normal y t student #Sobreponemos la curva t y la normal hist(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 Density 0.000 0.001 0.002 0.003 0.004 400 200 0 200 400 ret.datos$r3 33