Sei sulla pagina 1di 5

Universidad Nacional Agraria La Molina

Departamento de Estadstica e Informtica


Novena Prctica Dirigida de Estadstica Bayesiana
1. Como parte de su campaa de reduccin de delitos, la Polica Nacional se encuentra estudiando el porcentaje
de crmenes fatales ocurridos en el ltimo mes en 44 distritos seleccionados aleatoriamente en el
departamento de Lima. El analista desea estudiar la relacin de esta variable con el nmero de habitantes en
el distrito, en miles de personas X 1 , el cambio porcentual en el tamao poblacional respecto de la dcada
pasada

X2 ,

el porcentaje de habitantes menores de edad

puntualmente sus arbitrios

X3 ,

el porcentaje de habitantes que paga

X 4 y el porcentaje de personas que aprueba al alcalde en su gestin X 5 .

Asumiendo una distribucin a priori conjunta para , 2 , ajuste un modelo de regresin lineal desde el
enfoque bayesiano, utilizando 20000 (20 mil) iteraciones para las simulaciones necesarias.
>
>
>
>

datosbayes<-read.table(file.choose(),T)
attach(datosbayes)
modelo<-lm(Y~X1+X2+X3+X4+X5,x=T,y=T)
summary(modelo)

Call:
lm(formula = Y ~ X1 + X2 + X3 + X4 + X5, x = T, y = T)
Residuals:
Min
1Q
-11.6079 -4.4207

Median
-0.5711

3Q
2.4104

Max
23.8961

Coefficients:
Estimate Std. Error t value
(Intercept) 3.70822
5.84778
0.634
X1
-0.63093
0.29999 -2.103
X2
0.11689
0.09515
1.228
X3
-0.60021
0.13393 -4.482
X4
0.25742
0.04467
5.762
X5
0.50710
0.16766
3.025
--Signif. codes: 0 *** 0.001 ** 0.01

Pr(>|t|)
0.52980
0.04213
0.22684
6.60e-05
1.21e-06
0.00445

*
***
***
**

* 0.05 . 0.1 1

Residual standard error: 6.713 on 38 degrees of freedom


Multiple R-squared: 0.6442,
Adjusted R-squared: 0.5974
F-statistic: 13.76 on 5 and 38 DF, p-value: 1.094e-07
> apply(muestra_sim$beta,2,mean)
X(Intercept)
XX1
XX2
3.2350963
-0.6080466
0.1152713

XX3
-0.5912291

XX4
0.2562497

XX5
0.5099773

> apply(muestra_sim$beta,2,median)
X(Intercept)
XX1
XX2
3.3809757
-0.6129440
0.1216525

XX3
-0.6100381

XX4
0.2598017

XX5
0.4921846

Universidad Nacional Agraria La Molina


Departamento de Estadstica e Informtica
> apply(muestra_sim$beta,2,var)
X(Intercept)
XX1
XX2
35.171455505 0.120537913 0.008224421

XX3
0.019002360

XX4
0.002551170

XX5
0.030537450

Una ciudad cuenta con 10 000 habitantes, de los cuales el 25% son menores de edad, slo el 13.5% paga
puntualmente sus arbitrios y el 34% aprueba la gestin del alcalde. Adems se sabe que esta ciudad ha
experimentado un incremento del 1.5% en su poblacin respecto de hace 10 aos.
> X_nuevo<-c(1,10,1.5,25,13.5,34)
> estim_media<-blinregexpected(rbind(X_nuevo),muestra_sim)
> apply(estim_media,2,mean)
[1] 3.345408
> apply(estim_media,2,median)
[1] 3.269348
> estim_pred<-blinregpred(rbind(X_nuevo),muestra_sim)
> apply(estim_pred,2,mean)
[1] 3.247669
> apply(estim_pred,2,median)
[1] 3.303752

2 | y ~ 2 n k , s 2
s2

1
T
y - X y - X
nk

> n<-44
> k<-6
> n-k
[1] 38
> X<-cbind(1,X1,X2,X3,X4,X5)
> Beta_clas<-solve(t(X)%*%X)%*%t(X)%*%Y
> Beta_clas
[,1]
3.7082178
X1 -0.6309261
X2 0.1168855
X3 -0.6002120
X4 0.2574180
X5 0.5071035
> beta<-coef(modelo)
> beta
(Intercept)
X1
X2
X3
X4
3.7082178 -0.6309261
0.1168855 -0.6002120
0.2574180
> s2<-1/38*t(Y-X%*%Beta_clas)%*%(Y-X%*%Beta_clas)
> s2
[,1]
[1,] 45.06599
> s2<-1/38*t(Y-X%*%beta)%*%(Y-X%*%beta)
> s2
[,1]
[1,] 45.06599

X5
0.5071035

Universidad Nacional Agraria La Molina


Departamento de Estadstica e Informtica
> betas<-muestra_sim$beta
> round(vcov(modelo),4)
(Intercept)
X1
X2
X3
X4
X5
(Intercept)
34.1965 -0.4998 0.1157 -0.3349 -0.0276 -0.7419
X1
-0.4998 0.0900 0.0054 -0.0089 0.0017 -0.0008
X2
0.1157 0.0054 0.0091 -0.0023 0.0004 -0.0068
X3
-0.3349 -0.0089 -0.0023 0.0179 -0.0028 0.0026
X4
-0.0276 0.0017 0.0004 -0.0028 0.0020 -0.0005
X5
-0.7419 -0.0008 -0.0068 0.0026 -0.0005 0.0281
> round(var(betas),4)
X(Intercept)
XX1
XX2
XX3
XX4
XX5
X(Intercept)
35.1715 -0.6644 0.1196 -0.3054 -0.0582 -0.7348
XX1
-0.6644 0.1205 0.0064 -0.0133 0.0027 -0.0004
XX2
0.1196 0.0064 0.0082 -0.0019 0.0001 -0.0075
XX3
-0.3054 -0.0133 -0.0019 0.0190 -0.0028 0.0015
XX4
-0.0582 0.0027 0.0001 -0.0028 0.0026 -0.0006
XX5
-0.7348 -0.0004 -0.0075 0.0015 -0.0006 0.0305
> hist(muestra_sim$beta[,1],main="INTERCEPTO",xlab=expression(beta[0]))
NMERO DE HABITANTES
4000
0

2000

Frequency

5000
2000
0

Frequency

INTERCEPTO

-20

-10

10

20

30

-2.0

-1.5

-1.0

-0.5

5000
2000
0

2000

Frequency

4000

% MENORES DE EDAD

Frequency

0.5

VARIACION TAMAO POB

-0.2

0.0

0.2

0.4

0.6

-1.2

-1.0

-0.8

-0.6

-0.4

-0.2

0.0

2000

Frequency

4000
0

4000

SD

8000

% PAGADORES PUNTUALES

Frequency

0.0

0.0

0.1

0.2

0.3
4

0.4

0.5

10

12

Universidad Nacional Agraria La Molina


Departamento de Estadstica e Informtica

40
20
0
-20

% crmenes

60

80

> pred.graf <- blinregpred(modelo$x,muestra_sim)


> pred.lim <- apply(pred.graf,2,quantile,c(0.05,0.95))
> ind <- 1:length(Y)
> matplot(rbind(ind,ind), pred.lim, type="l", lty=1, col=1, xlab="ndice",
ylab="% crmenes",ylim=c(-20,80))
> points(ind, Y, pch=20)

10

20

30
ndice

40

Universidad Nacional Agraria La Molina


Departamento de Estadstica e Informtica
> prob.out <- bayesresiduals(modelo,muestra_sim,2)
> prob.out
1
2
3
4
4.148773e-20 6.858972e-04 2.210128e-13 3.382347e-11
7
8
9
10
9.723386e-01 2.380338e-05 7.337170e-02 3.580776e-02
13
14
15
16
3.077146e-05 1.681133e-04 1.674901e-05 2.475937e-08
19
20
21
22
8.259009e-01 1.300282e-08 3.016951e-06 9.304557e-02
25
26
27
28
1.482802e-15 1.398642e-10 5.769026e-05 3.750517e-16
31
32
33
34
2.701341e-09 3.007008e-01 4.340918e-17 2.957159e-12
37
38
39
40
5.546766e-06 7.818820e-09 6.803254e-02 1.996016e-13
43
44
2.243998e-07 8.994554e-04

5
8.202940e-24
11
1.839872e-04
17
3.068316e-07
23
5.404714e-09
29
7.975468e-06
35
1.772597e-09
41
6.083591e-11

1.0

> x1<-datosbayes[,1]
> plot(x1,prob.out)
> identify(x1,prob.out,label=ID,n=3)
[1] 7 19 32

0.4

prob.out

0.6

0.8

19

0.0

0.2

32

10
x1

15

6
3.498434e-02
12
5.473361e-08
18
4.162419e-08
24
1.188468e-03
30
6.170319e-02
36
2.927904e-10
42
4.112193e-05

Potrebbero piacerti anche