Académique Documents
Professionnel Documents
Culture Documents
matemticas usando R
1
1. Estadstica descriptiva
Ejercicio. 1.4. Las 40 acciones principales del mercado secundario (OTC, por sus siglas en
ingls), clasificadas por el porcentaje de acciones en circulacin vendidas en un da el ao
pasado son como sigue:
11.88 6.27 5.49 4.81 4.4 3.78 3.44 3.11 2.88 2.68
7.99 6.07 5.26 4.79 4.05 3.69 3.36 3.03 2.74 2.63
7.15 5.98 5.07 4.55 3.94 3.62 3.26 2.99 2.74 2.62
7.13 5.91 4.94 4.43 3.93 3.48 3.2 2.89 2.69 2.61
x<-c(11.88, 6.27, 5.49, 4.81, 4.4, 3.78, 3.44, 3.11, 2.88, 2.68, 7.99,
6.07, 5.26, 4.79, 4.05, 3.69, 3.36, 3.03, 2.74, 2.63, 7.15, 5.98, 5.07, 4.55,
3.94, 3.62, 3.26, 2.99, 2.74, 2.62, 7.13, 5.91, 4.94, 4.43, 3.93, 3.48, 3.2,
2.89, 2.69, 2.61)
hist(x, freq = F)
Histogram of x
0.30
0.25
0.20
Density
0.15
0.10
0.05
0.00
2 4 6 8 10 12
mean(x>4)
2
[1] 0.45
Ejercicio. 1.24. Los deportes acuticos se han sugerido como mtodo de ejercicio
cardiovascular para atletas lesionados y otros que deseen un programa de entrenamiento
aerbico de bajo impacto. En un estudio para investigar la relacin entre cadencia de ejercicios
y ritmo cardiaco,1 se midieron los ritmos cardiacos de 20 voluntarios en buenas condiciones a
una cadencia de 48 ciclos por minuto (un ciclo formado por dos pasos). Los datos son como
sigue:
a. Use la amplitud de las mediciones para obtener una estimacin de la desviacin estndar.
x<-c(87, 109, 79, 80, 96, 95, 90, 92, 96, 98, 101, 91, 78 ,112, 94, 98, 94, 107, 81, 96)
> (max(x)-min(x))/length(x)
desviacion=sqrt(sum((x-mean(x))^2))
desviacion
[1] 41.64373
b. Construya un histograma de frecuencia para los datos. Use el histograma para obtener una
aproximacin visual a y y s.
hist(x, freq = F)
Histogram of x
0.05
0.04
0.03
Density
0.02
0.01
0.00
80 90 100 110
c. Calcule y y s. Compare estos resultados con las verifi caciones de clculo proporcionadas
por los incisos a y b.
mean(x)
[1] 93.7
sqrt(var(x))
[1] 9.553726
3
d. Construya los intervalos y ks, k = 1, 2 y 3, y cuente el nmero de mediciones que caen en
cada intervalo. Compare las fracciones que caen en los intervalos con las fracciones que
esperara de acuerdo con la regla emprica.
y<-c(87, 109, 79, 80, 96, 95, 90, 92, 96, 98, 101, 91, 78 ,112, 94, 98, 94, 107, 81, 96)
s=sqrt(var(y))
Para lo cual se necesitara contar con una funcin que realice todas la
s operaciones que se nos piden.
formaA<-apply(X,2,operaciones)
formaB<-apply(X,2,summary)
formaC<-round(apply(X,2,stat.desc), digits = 2)
1
Funcin apply esta funcin aplica una operacin con uno o varios argumentos y regresa otra
estructura de datos. "X es un arreglo (puede ser una matriz si la dimensin del arreglo es 2). MARGIN es
una variable que define cmo la funcin es aplicada, cuando MARGIN=1 se aplica sobre los renglones,
cuando MARGIN=2 trabaja sobre las columnas. FUN es la funcin que deseas aplicar y puede ser
cualquier funcin de R, incluyendo funciones definidas por ti."
2
Este paquete se debe descargar. Install.packages(pastecs) Luego activarlo con library(pastecs)
4
ipc tc exp
nbr.val 19.00 19.00 19.00
nbr.null 0.00 0.00 0.00
nbr.na 0.00 0.00 0.00
min 25.78 14.01 1.00
max 119.21 45.05 19.00
range 93.43 31.04 18.00
sum 1371.99 578.24 190.00
median 76.85 33.29 10.00
mean 72.21 30.43 10.00
SE.mean 7.92 2.52 1.29
CI.mean.0.95 16.63 5.29 2.71
var 1190.38 120.63 31.67
std.dev 34.50 10.98 5.63
coef.var 0.48 0.36 0.56
for(i in 1:ncol(X)) {
mean(X[,i]),IQR(X[,i])))}
5
0.6
0.5
0.4
0.3
0.2
0.1
0.0
= 100,000
= (0)(0.2/1) +(1)(0.6/1) +(2)(0.2/1)
=1
> (0)*(0.2/1) +(1)*(0.6/1) +(2)*(0.2/1)
[1] 1
=(0-1)2(1/5)+(1-1)2(3/5)+(2-1)2(1/5)
#R permite realizar este clculo tal como una calculadora.
(((0-1)^2)*(1/5))+(((1-1)^2)*(3/5))+(((2-1)^2)*(1/5))
[1] 0.4
E(Y2)=(02)(0.2/1) +(12)(0.6/1) +(22)(0.2/1)
> (0^2)*(0.2/1) +(1^2)*(0.6/1) +(2^2)*(0.2/1)
[1] 1.4
3.12 Ejercicio. Sea Y una variable aleatoria con p(y) dada en la siguiente tabla. Encuentre E(Y).
E(1/Y), E(Y^2-1) y V(Y).
y<- (1:4)
py<-c(0.4, 0.3, 0.2, 0.1)
6
y1=(1/y)
y1 %*% py
[,1]
[1,] 0.6416667
# c.-
y2=((y^2)-1)
y2 %*% py
[,1]
[1,] 4
# d.-Usando la definicin de varianza v(y)=E(y^2)-E(y)^2
> ((y^2)%*%py)-((y %*% py)^2)
[,1]
[1,] 1
s=sqrt(var(y))
sum(y>(mean(y)-(2*s)) & y<(mean(y)+(2*s))) / length(y)
[1] 1
3.22 Ejercicio. Un dado balanceado se tira una vez. Sea Y el nmero en su cara superior.
Encuentre el valor esperado y la varianza de Y.
y<- c(1:6)
py<- seq(from = 1/6, to = 1/6, length.out = 6)
#esperanza
y %*% py
[,1]
[1,] 3.5
7
#varianza
[1,] 2.916667
3.23 Ejercicio. En un juego de azar una persona saca una sola carta de una baraja ordinaria
de 52 cartas. A una persona le pagan $15 por sacar una sota o una reina y $5 por sacar un
rey o un as. Alguien que saque cualquier otra carta paga $4. Si una persona participa en
este juego, cul es la ganancia esperada?
y<- c(15, 5, 4)
Cuesta a la fbrica $10 cada vez que la herramienta se usa. Encuentre la media y la varianza del
costo diario por usar la herramienta.
y<- (0:2)*10
py<- c(0.1, 0.5, 0.4)
>
y %*% py
[,1]
[1,] 13
> (y^2 %*% py)-(y %*% py)^2
[,1]
[1,] 41
8
n=4; p<-0.5; y<-i;
1-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
b Cul es la probabilidad de que al menos tres de los cuatro jueces indique una preferencia
por la nueva frmula?
n=4; p<-0.5; y<-3;
1-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
[1] 0.75
c Encuentre el valor esperado de Y.
n*p
[1] 2
d Encuentre la varianza de Y.
n*p*(1-p)
[1] 1
pbinom(14,20,.8)
[1] 0.1957922
b al menos 10 se recuperen?,
c al menos 14 pero no ms de 18 se recuperen?,
d a lo sumo 16 se recuperen?
py[y+1]<-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
}
a<-cbind(a,py)
barplot(a[ ,ncol(a)],beside=FALSE,type=l,col=red)
}
9
#Result
a[ ,2:ncol(a)]
0.20
0.3
0.3
0.15
0.2
0.2
0.10
0.1
0.1
0.05
0.00
0.0
0.0
Ejercicio tomado del libro de estadstica matemtica
3.47 Use la Tabla 1, Apndice 3, para construir un histograma de probabilidad para la
distribucin de probabilidad binomial para n = 20 y p = .5. Observe que casi toda la
probabilidad cae en el intervalo 5 y 15.
#------------------------------
#n=10, p=0.1
n=20; p<-0.5; py<-0;
for (y in 0:20) {
py[y+1]<-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
}
barplot(py, names.arg=as.character(0:20), beside=FALSE)
10
0.15
0.10
0.05
0.00
0 1 2 3 4 5 6 7 8 9 11 13 15 17 19
#Results
a[ , 2:ncol(a)]
11
5.1. Adems, obtener en una sola figura los histogramas de cada variable
simulada.
## Grficos
par(mfrow=c(2,5))
for (i in 2:11) {
barplot(a[,i], names.arg=as.character(0:10),
beside=FALSE,type=l,col=red)
}
1.0
0.25
0.25
0.20
0.8
0.30
0.20
0.20
0.15
0.6
0.15
0.20
0.15
0.10
0.4
0.10
0.10
0.10
0.05
0.05
0.2
0.05
0.00
0.00
0.00
0.00
0.0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
1.0
0.25
0.25
0.20
0.8
0.30
0.20
0.20
0.15
0.6
0.15
0.20
0.15
0.10
0.10
0.4
0.10
0.10
0.05
0.05
0.2
0.05
0.00
0.00
0.00
0.00
0.0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
5.2. Repetir los apartados anteriores, manteniendo fijo el valor de p en 0.5, no obstante
variando el valor de n, en 10 nmeros x-distantes entre 0 y 100.
## Practica de distribucion continua: normal
##1. Importar datos del PIB dominicano y estimar la tasa de crecimiento mediante al menos
dos alternativas distintas (uso de bucles y vectorizadas)
datos<-c(1336.67, 1555.47, 1729.23, 1880.32, 2070.46, 2218.14, 2470.71,
2604.34, 2658.65, 2870.63, 2967.36, 2986.98, 2383.71, 2617.69,
4004.37, 4195.48, 4795.68, 5180.42, 5131.06, 5673.15, 6084.52,
6252.08, 6260.40, 6480.85)
#metodo 1. tasa de crecimeinto con bucle
tc1<-0
for (i in 1:(length(datos)-1)){
tc1[i]<-(datos[i+1]-datos[i])/datos[i]
}
12
Grfico 1. Tasa de Crecimiento del PIB dominicano
0.4
0.2
TC%
0.0
-0.2
5 10 15 20
tiempo
Comenar para que sirven las transformaciones y diversas formas de testear normalidad de
una variable:
Metodos Graficos
#histograma con linea de normal
par(mfrow=c(2,2))
hist(datos, prob=TRUE); curve(dnorm(x, mean=mean(datos), sd=sd(datos)), add=TRUE)
hist(log(datos), prob=TRUE); curve(dnorm(x, mean=mean(log(datos)), sd=sd(log(datos))),
add=TRUE)
hist(tc1, prob=TRUE); curve(dnorm(x, mean=mean(tc1), sd=sd(tc1)), add=TRUE)
hist(tc1^2, prob=TRUE); curve(dnorm(x, mean=mean(tc1^2), sd=sd(tc1^2)), add=TRUE)
1.2
0.8
Density
Density
2e-04
0.4
0e+00
0.0
datos log(datos)
15
4
Density
Density
10
3
2
5
1
0
-0.2 0.0 0.2 0.4 0.6 0.00 0.05 0.10 0.15 0.20 0.25 0.30
tc1 tc1^2
qqplot(tc2,rnorm(24))
13
1.5
1.0
0.5
rnorm(24)
0.0
-0.5
-1.0
-1.5
tc2
Metodos analiticos
Simula normales con n creciente y grafcalo, verifica que relacin tienen esas graficas con el
teorema central del lmite.
par(mfrow=c(1,3))
for (n in c(10,100,10000)){
14
*---------------------------
EJERCICIOS DE VARIABLES CONTINUAS
1. Sabiendo que x~u(1,3), obtenga en R, la representacin grfica de dicha funcin.
Recuerde que:
# 2.
pexp(2, rate=1/3)
3. Comente el uso de los siguientes comandos: rnorm(n, mean, sd), dnorm(x, mean, sd),
pnorm(q, mean, sd), qnorm(p, mean, sd).
# 3
# d returns the height of the probability density function
# p returns the cumulative density function
# q returns the inverse cumulative density function (quantiles)
# r returns randomly generated numbers
15
#3.1. Tomado de: http://www.r-bloggers.com/normal-distribution-
functions/
set.seed(3000)
xseq<-seq(-4,4,.01)
densities<-dnorm(xseq, 0,1)
cumulative<-pnorm(xseq, 0, 1)
randomdeviates<-rnorm(1000,0,1)
par(mfrow=c(1,3), mar=c(3,4,4,2))
4. Los datos cuya distribucin est cerca de lognormal son comunes. mediciones del
tamao de los organismos biolgicos a menudo tienen este carcter. Como ejemplo,
descarge la librera (library(MASS)) considere las mediciones de peso corporal
(Animals$body). Comienza dibujando un histograma de los valores no
transformados, y la superposicin de una curva de densidad. Entonces
4.1. Dibuje una curva de densidad estimada para los logaritmos de los valores.
4.2. Determinar la media y la desviacin estndar de registro (Animals$body).
Superponer la densidad estimada con la densidad terica para una distribucin
normal con la media y la desviacin estndar obtenida simplemente. La distribucin
parecen normales, despus de la transformacin a una escala logartmica?
#4. http://maths-people.anu.edu.au/~johnm/courses/r/exercises/pdf/r-exercisesVI-XI.pdf
library(MASS)
16
plot(density(Animals$body))
logbody <- log(Animals$body)
plot(density(logbody))
av <- mean(logbody)
sdev <- sd(logbody)
xval <- pretty(c(av - 3 * sdev, av + 3 * sdev), 50)
lines(xval, dnorm(xval, mean = av, sd = sdev))
6. Simule una v.a. de una distribucin geomtrica (rgeom(100, )), obtenga un resumen
estadstico de esta (summary) y comprubelo con una funcin de R. Luego grfiquelo en
un histograma.
summary(sample)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 0.00 1.01 1.25 7.00
> sd(sample)
[1] 1.534091
hist(sample)
2.1. Un empleado comienza a laboral bajo un salario de 10,000 mensuales, y un contrato que
establece que anualmente el salario ser incrementado en una proporcin igual al 10% de
su salario durante los prximo n=5 aos. Genere un vector wage de dimensin n*12 que
indique el salario mensual de la persona durante los prximo n aos.
wage0<-10000.0
anios<-5
tc<-0.1
for (i in 1:anios-1){
print(i)
wage0[i+2]<-wage0[i+1]*(1+tc)
}
17
Objetivo: aprender a utilizar la salida de una funcin y guardar los resultados en formatos
distintos. Esto porque en muchas ocasiones, necesitamos tabular una importante cantidad de
resultados, sin necesidad de ir pegando dato por dato, o estimar una gran cantidad de
ecuaciones con el objetivo de obtener los mejores R.
2.2. Utilice una matriz de dato [nxk], n=obs y k=variables (estas son a su eleccin, pero
propongo usen el tipo de cambio, el ndice de actividad mensual, volumen de
exportaciones y el ipc), y cree una function que teste independencia entre las
variables. La salida de esta funcin debe ser una matriz cuadrada de 10x10 (nmero
de variables) donde cada elemento represente el p-valu del test chi-cuadrado de
independencia. Es decir, en la posicin 1,2 de la matriz guardara el p-valor de la
funcin al testear independencia entre la variable 1 y 2.
Pistas/ayudas:
- La funcin chisq.test permite realizar el test de independencia solicitado, y
$p.value permite guardar los resultados
- La funcin se le ingresa una matriz y va testeando pares de variables, se puede
indexar, o crear un bucle anidado (de dos elementos) donde el movimiento de cada
elemento sirva para llamar una variable y a su vez permite llamar las posiciones de la
matriz que ocupar en la matriz de resultados.
1.2. Consideraste si la estructura de los datos puede influir en los resultados anteriores??...
realizar breve comentarios en clases.
1.3. Realiza el ejercicio anterior, de alguna forma matricial
Result
3. Ejercicios aplicados
18
9.2. El rendimiento general de la cartera
9.3. Volatilidades de cada activo (desviacin estndar de cada activo)
9.4. La matriz de varianza covarianza
9.5. Varianza de la cartera
9.6. Matrix de correlaciones
19