You are on page 1of 20

A GERAO DE NMEROS PSEUDOS-ALEATRIOS SEGUINDO A

DISTRIBUIO DE POISSON NO R.
Autores
1
:
Nataa!"#a Mart!s A"$es
natanailza@hotmail.com
Rau" Reer Mart!s %e S&
raulrennerm@gmail.com
RESUMO
A gerao de nmeros aleatrios tem sido frequentemente utilizada em amostragem
aleatria e simulao. Antes da computao moderna, pesquisadores que precisavam de
nmeros aleatrios geravam-nos atravs de vrios meios !dado, cartas, roleta, etc.", ou
utilizavam as ta#elas de nmeros aleatrios e$istentes. %ortanto, apresentaremos alguns
resultados com a gerao nmeros pseudos-aleatrios !&%A's" seguindo (istri#uio
%oisson,atravs de alguns mtodos, em seguida discutiremos os resultados o#tidos.
%A)A*+A, -.A*/. M'to%o %a tras(or)a*+o I$ersa. M'to%o %a
Tras(or)a*+o.
Itro%u*+o
&este artigo apresentamos os resultados do primeiro pro0eto da disciplina
,imulao -omputacional, cu0o qual tem como o#0etivo a implementao no + de um
algoritmo para a gerao de 1222 = n nmeros pseudos-aleatrios !&%A's" seguindo
(istri#uio %oisson com par3metro pelo 4todo da 5ransformao 6nversa e pelo
4todo da 5ransformao para diferentes valores de . /m seguida compar-los com
os &%A's %oisson gerados no + pela instruo rpois. -om os diferentes valores de ,
calcularemos a mdia e a vari3ncia amostrais e realizaremos as devidas compara7es.
5am#m representaremos graficamente a funo de pro#a#ilidade e o histograma
associado 8s amostras geradas. %osteriormente, aumentaremos o nmero de valores
gerados para 12222 = n e comentaremos os resultados. A seguir, criaremos ta#elas,
com as frequ9ncias relativas o#servadas com a funo de pro#a#ilidade, e
representaremos graficamente os histogramas associados para cada valor de
n
.
(essa forma, vamos fazer uma pequena e$posio dos principais resultados que
necessrios para a fundamentao teoria para a realizao deste artigo, tal como: a
linguagem a qual ser implementada o algoritmo !o soft;ere +", os mtodos usados, os
1
Alunos do -urso de <acharelado em 4atemtica -omputacional da =niversidade >ederal da %ara?#a -
=>%<, artigo apresentado na disciplina ,imulao -omputacional, professora: Andrea +ocha.
2
&%A's e a distri#uio de %oisson.
O so(t,are R
@ + um soft;are livre para computao estat?stica e construo de grficos
que pode ser #ai$ado e distri#u?do gratuitamente de acordo com a licena A&=. /st
dispon?vel para as plataformas =&6B, Cindo;s e 4ac@,.
4odelado aps , e ,-%lus. A linguagem , foi desenvolvido no final de 1DE2
pela A5F5 )a#s. @ pro0eto + foi iniciado por +o#ert Aentleman e +oss 6haGa do
(epartamento de /stat?stica da =niversidade de AucGland, em 1DDH. +apidamente
ganhou um p#lico generalizado. !*erzani, I221".
Gera*+o %e -)eros a"eat.r!os
A gerao de nmeros e variveis aleatrias um ingrediente fundamental em
qualquer programa de simulao, comercial ou no. &a grande maioria dos programas
comerciais, este processo transparente para o usurio, restando a este apenas definir os
par3metros desta ou daquela distri#uio de pro#a#ilidades dese0ada. /ste capacidade
de se gerar nmeros !pseudo" aleatrios tem vrias aplica7es, como por e$emplo, ela
uma pea-chave nos vrios algoritmos que permitem criar simula7es computacionais
de diversos fenJmenos em vrias ci9ncias !KAentle, I22LM, K+oss, I22NM".
4uitos 0ogos de computador realizam a7es que, em princ?pio, parecem ser
aleatrias: em#aralhar as cartas no 0ogo paci9ncia, distri#uir as minas no 0ogo campo
minado, lanar dados em um 0ogo de +%A !+ole %laOing Aame", etc. 5odas estas a7es
so programadas a partir da suposta capacidade do computador de gerar nmeros
aleatrios. -ontudo, a maioria dos computadores digitais domsticos atuais no geram
nmeros aleatrios. @ que estes computadores fazem usar um algoritmo para produzir
nmeros !denominados pseudo-aleatrios" que PsimulamQ o comportamento de nmeros
aleatrios.
A primeira tentativa de prover para os pesquisadores um suplemento pronto de
d?gitos aleatrios foi feita em 1DIR, quando a -am#ridge =niversitO %ress pu#licou uma
ta#ela de S1.N22 d?gitos desenvolvida por )eonard ..-. 5ippet. /m 1DSR, a +A&(
-orporation gerou nmeros por meio de uma simulao eletrJnica de uma roletaT os
resultados foram eventualmente pu#licados em 1DHH como A 4illion +andom (igits
3
;ith 122,222 &ormal (eviates !=m milho de d?gitos aleatrios com 122.222 desvios
normais".
Uohn von &eumann foi um pioneiro dos geradores de nmeros aleatrios
#aseados em computadores. =m contri#uidor notvel no campo da gerao de nmeros
pseudoaleatrios para uso prtico um matemtico paquistan9s (r. Arif Vaman. /m
1DH1, (erricG .enrO )ehmer inventou o gerador linear congruente, utilizado na maioria
dos geradores de nmeros pseudoaleatrios atuais. -om a disseminao do uso dos
computadores, geradores de nmeros pseudoaleatrios su#stitu?ram as ta#elas
numricas, e WverdadeirosW geradores aleatrios !hard;ares geradores de nmeros
pseudoaleatrios" so utilizados apenas em alguns casos.
@ papel da simulao na maior parte das ci9ncias tem aumentado de import3ncia
de uns tempos pra c. A crescente capacidadeXvelocidade de clculo dos computadores a
par da evoluo notria de diversos mtodos de simulao so responsveis por se
considerar que a simulao uma a#ordagem metodolgica poss?vel para a resoluo
apro$imada de pro#lemas tal como a a#ordagem e$perimental.
&o surpreende que os mtodos de simulao se0am usados em reas como a
f?sica, a qu?mica, a criptografia, a #iotecnologia, a indstria e, naturalmente, a
/stat?stica.
Antes de falarmos so#re o 4todo da 5ransformao 6nversa e pelo 4todo da
5ransformao, faremos uma #reve reviso so#re a (istri#uio de %oisson.
D!str!/u!*+o %e Po!sso
5al como nos modelos determin?sticos, nos quais algumas rela7es funcionais
desempenham importante papel !como por e$emplo, a linear, a quadrtica, a
e$ponencial, a trigonomtrica etc.", tam#m verificamos que, na construo de modelos
no determin?sticos para fenJmenos o#servveis, algumas distri#ui7es de
pro#a#ilidade surgem mais frequentemente que outras. =m motivo para isso que, da
mesma maneira que no caso determin?stico, alguns modelos matemticos relativamente
simples parecem ser capazes de descrever uma classe #astante grande de fenJmenos.
!4eOer I22N"
A (istri#uio de %oisson uma distri#uio de pro#a#ilidade de varivel
aleatria discreta que e$pressa 8 pro#a#ilidade de uma srie de eventos ocorrerem num
certo per?odo de tempo se estes eventos ocorrem independentemente de quando ocorreu
4
o ltimo evento. %ortanto, essa distri#uio vem sendo frequentemente utilizados a fim
de modelar o nmero de ocorr9ncias de um evento por certo per?odo de tempo ou por
certo volume ou por certa rea. A distri#uio %oisson tem apenas um par3metro, que
interpretado como uma ta$a mdia de ocorr9ncia do evento, assim se0a X uma
varivel aleatria discreta, tomando os seguintes valores:
, , , 1 , 2 n
,e
Y
" !
k
e
k X P
k

= = ,
, , , 1 , 2 n K =
(iremos que X tem distri#uio de %oisson, com par3metro 2 > . ,endo
assim, se X tiver distri#uio de %oisson com par3metro , ento a esperana e a
vari3ncia de X , ou se0a,
= " ! X E
e
= " ! X V
.
M'to%o %a tras(or)a*+o !$ersa 0MTI1
@ mtodo de transformao inversa um mtodo para a gerao de nmeros
pseudo-aleatrios provenientes de distri#ui7es cont?nuas !e tam#m discretas" distintas
da =niforme !2, 1" usualmente e$ecutada tirando partindo do seguinte resultado
terico.
5eorema: ,e0a X uma varivel aleatria com f.d.p.
" !x f
e f.d.
( ) { } u x F x u F
x x
=

inf " !
1
,
( ) 1 , 2 u
e se0a [ ] 1 , 2
Z u U
. (efina-se
" ! :
1
U F X
x

=
.
/nto X tem funo de distri#uio
x
F
.
M'to%o %a tras(or)a*+o
4uitos tipos de transformao alm da 5ransformao 6nversa podem ser
aplicados para a simulao de va's. +esultados de representao distri#ucional so aqui
importantes:
,e
" 1 , 2 ! Z N Z
, ento " 1 ! Z
I I
X Z V =
,e " ! Z
I
m X V e " ! Z
I
n X W independentes, ento
n m
F
n
W
m
V
F
,
Z =
,e
" 1 , 2 ! Z N Z
e " ! Z
I
n X V independentes, ento
" ! Z n Student t
n
V
Z
T =
.
5
,e [ ] 1 , 2
Z , u V U
independentes, ento
( ) V U Z I cos log I
1
= ,
( ) V sen U Z I log I
I
= so independentes
" 1 , 2 ! N
!Algoritmo <o$-4uller".
,e [ ] 1 , 2
Z , u V U
independentes, ento
( )
( ) ( )


+
U
V
1 1 log
log
1
tem distri#uio
)ogar?tmica
( )
, onde
x
denota a parte inteira de
x
.
A"2or!t)o 3ara a 2era*+o %e -)eros a"eat.r!os
*amos gerar 1222 = n nmeros pseudo-aleatrios !&%A's" seguindo distri#uio
%oisson, por dois mtodos diferentes, sendo elesT o 4todo de 5ransformao 6nversa
!456" e o 4todo de 5ransformao !45". ,egue a#ai$o a e$plicao do algoritmo
para cada um deles. -hamamos as fun7es de %oisson456 e %oisson45,
respectivamente, para o 456 e 45.
PoissonMTI
%ara essa funo passamos por par3metro a quantidade de &%A's que dese0a
gerar
( ) n
, e o par3metro da distri#uio de %oisson. /m seguida geramos &%A's
uniformes atravs da funo runif !funo pronta do +" e armazenamos num vetor .
/m seguida, definimos a dimenso inicial da funo por e o vetor limitado
pelo nosso chute inicial . +estringimos esse , pois realizando vrios testes e
perce#emos que o algoritmo perdia a efici9ncia se esse fosse um valor muito alto,
ainda mais vimos que o + s calcula fatorial at 1R2, fazendo com que perdesse mais
tempo na hora de compilar.
-alculamos
Y k
e
f
k
x


= . +esultando num vetor
x
f
e calculamos tam#m
( )
x x
f cumsum F =
, o cumsum tam#m um vetor pronto do +, ele armazena em
x
F
um vetor com as somas acumuladas de . / por fim criamos um vetor .
&o + a instruo
i x
U F <
, produz um vetor lgico com elementos 5+=/!caso
verdadeiro" ou >A),/!caso falso", e a instruo as.integer!5+=/" toma o valor 1 e
as.integer!>A),/" o valor 2. -ada elemento de nosso vetor rece#er a soma de
6
as.integer
( )
i x
U F <
, isso dentro de uma lao de repetio. %odemos sa#er se esse
i
x

um pior caso, comparando com , assim, ele entra num ;hile, calculamos ento
um pr$imo valor o vetor !o#serve o 4Teore)a a#ai$o", e para o . /sse elemento
rece#er a soma de as.integer! para esse no vetor , que ser comparado de novo com o
pr$imo valor de , at ser diferente e sair do lao.
,er a sa?da dessa nossa funo.
4Teore)a: ,e0a uma varivel aleatria seguindo distri#uio %oisson com
mdia :
2 ,
Y
" ! = = =

i
i
e
i X P p
i
i


/nto,
2 ,
1
1

+
=
+
i p
i
p
i i


Pseu%o5.%!2o
/ntrada:
, n
>azer
N K N : 2 , I2 = =

Aerar
i
U
-alcular
x
f
,
x
F
.
Aerar em um lao for
/nquanto
1 + = N x
i
, calcula pr$imos
x
f
,
x
F
. e incrementa
,a?da:
PoissonMT
%ara essa funo passamos por par3metro a quantidade de &%A's que dese0a
gerar ! ", e o da %oisson. /m seguida geramos &%A's uniformes atravs da funo
runif !funo pronta do +" e armazenamos num vetor .
-riamos um vetor S e preenchemos todos os elementos com 1, criamos
tam#m um

= e p e um vetor . 4ultiplicamos agora
i i
S U [
e armazenamos em S
.
7
/m um lao de repetio comparamos o
i
S
com
p
e caso se0a maior ele entra
em um ;hile onde uma au$iliar iniciada com valor 1 ser incrementada em mais 1
" 1 ! runif U
i
=
e
i i i
U S S [ =
, e assim sucessivamente at sair do ;hile.
\uando sai do ;hile
1 = aux N
i
a varivel au$iliar rece#er 1 de novo. A
sa?da da funo ser o vetor N .
Pseu%o5.%!2o
/ntrada:
, n
Aerar
1 , , , = =

S N e p U
i i

@nde , um vetor com todos os elementos igual a 1.
/m um lao for
/nquanto
p S
i

, incrementa uma au$iliar. -alcula
i i
S U ,
i
N
rece#e a au$iliar
,a?da:
Executando o algoritmo e analisando os resultados.
*amos gerar 1222 &%A's com as fun7es poisson456, poisson45 e com a rpois
para valores de diferentes, vamos assumir
S2R 11H, , SR , L =
.
@s nmeros foram gerados em um vetor
i
g
para os distintos. %ara e$i#ir os
histogramas o grfico da funo usamos a funo hist!" e lines!", e salvamos como
arquivo 0peg.
/$emplo para:
g1 = rpoisson(1000,3)
jpeg("g1_1000_3.jpeg",width=600,height=600,quality=100)
hist(g1,prob=!"#)
y=seq(0,1$0,by=0.01)
lines(y,(e%p(&la'bda)(la'bda)y)*+a,torial(y),,ol="red")
de-.o.()
poisson/0
L , 1 = g SR gI, =
1 'ean(g1)
213 4.56
1 'ean(g4)
213 76.043
1 -ar(g1)
213 3.437337
1 -ar(g4)
213 $0.054$6
8
11H , L = g S2R gS, =
1 'ean(g3)
213 11$.064
1 'ean(g7)
213 700.051
1 -ar(g3)
213 144.5161
1 -ar(g7)
213 73$.817$
@#serva-se que no foi poss?vel e$i#ir o grfico da funo para
S2R" gS! =
,
visto que o + s calcula fatorial de
1R2 , n n
.
%ara calcular as frequ9ncias relativas criamos uma funo no + !(ispon?vel em
Ap9ndice freq+el". A sa?da da funo uma matriz com seus distintos &%A's e suas
respectivas frequ9ncias relativas.
*amos agora analisar o resultado para g1 de forma ordenada crescente com
relao aos &%A's distintos.
9requ:n,ia !elati-a para g1
9
;<= 9requ:n,ia relati-a
0 0.0$6
1 0.165
4 0.404
3 0.437
7 0.1$1
$ 0.056
6 0.0$3
6 0.047
8 0.005
5 0.007
14 0.001
\uando o valor do aumenta, notamos que gerado uma quantidade maior de
&%A's, portanto para os demais casos vamos e$i#ir apenas os elementos com maior e
menor frequ9ncia relativa. &a ta#ela a#ai$o iremos e$i#ir esses elementos com suas
respectivas frequ9ncias relativas para gI, gL e gS.
g4 g3 g7
#le'entos ,o'
'aior 9req. !el.
;<= $0 116 35$
9requ:n,ia ! 0.064 0.078 0.03
#le'entos ,o'
'enor 9req. !el.
;<= 47 65 37$
9requ:n,ia ! 0.001 0.001 0.001
Agora vamos analisar pra funo %oisson45
<oisson/
L H = g SR , N = g
1 'ean(g$)
213 3.006
1 'ean(g6)
213 76.556
1 -ar(g$)
213 4.511863
1 -ar(g6)
213 76.$0$$
213 "#le'ento de 'aior +requen,ia relati-a"
213 3
213 0.43
213 "#le'ento de 'aior +requen,ia relati-a"
213 $0
213 0.068
213 "#le'ento de 'enor +requen,ia relati-a"
213 11
213 0.001
213 "#le'ento de 'enor +requen,ia relati-a"
213 4$
213 0.001
10
11H R = g S2R E = g
1 'ean(g6)
213 117.685
1 'ean(g8)
213 706.$7
1 -ar(g6)
213 11$.70$5
1 -ar(g8)
213 776.46$6
213 "#le'ento de 'aior +requen,ia relati-a"
213 116
213 0.076
213 "#le'ento de 'aior +requen,ia relati-a"
213 706
213 0.046
213 "#le'ento de 'enor +requen,ia relati-a"
213 68
213 0.001
213 "#le'ento de 'enor +requen,ia relati-a"
213 336
213 0.001
/$ecutando o algoritmo para as duas fun7es criadas, o#temos os
resultados acima, agora vamos e$ecutar construtor rpois 0 dispon?vel no com os
mesmos par3metros.
rpois
L D = g SR , 12 = g
11
1 'ean(g5)
213 4.568
1 'ean(g10)
213 76.518
1 -ar(g5)
213 3.080$56
1 -ar(g10)
213 74.17573
213 "#le'ento de 'aior +requen,ia relati-a"
213 4
213 0.476
213 "#le'ento de 'aior +requen,ia relati-a"
213 76
213 0.068
213 "#le'ento de 'enor +requen,ia relati-a"
213 11
213 0.001
213 "#le'ento de 'enor +requen,ia relati-a"
213 30
213 0.001
11H 11 = g S2R 1I = g
1 'ean(g11)
213 11$.408
1 'ean(g14)
213 706.784
1 -ar(g11)
213 116.1685
1 -ar(g14)
213 3$6.$364
213 "#le'ento de 'aior +requen,ia relati-a"
213 118
213 0.073
213 "#le'ento de 'aior +requen,ia relati-a"
213 704
213 0.045
213 "#le'ento de 'enor +requen,ia relati-a"
213 66
213 0.001
213 "#le'ento de 'enor +requen,ia relati-a"
213 3$1
213 0.001
12
-om isso, notamos que quanto maior se0a nosso , maiores sero nossos &%A's
gerados pelos tr9s mtodos, note que &%A de maior frequ9ncia relativa ser #em
pr$imo de . %ara concluir nossa comparao, vamos e$ecutar de novo todos os
algoritmos para os mesmos valores de , s que agora com 12222 = n .
<oisson/00
L 1L = g SR , 1S = g
1 'ean(g13)
213 4.556
1 'ean(g17)
213 76.1717
1 -ar(g13)
213 4.540766
1 -ar(g17)
213 76.31787
213 "#le'ento de 'aior +requen,ia relati-a"
213 3
213 0.4454
213 "#le'ento de 'aior +requen,ia relati-a"
213 76
213 0.0603
213 "#le'ento de 'enor +requen,ia relati-a"
213 11
213 1e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 41
213 1e&07
11H 1H = g S2R 1N = g
1 'ean(g1$)
213 117.561$
1 'ean(g16)
213 706.6$36
1 -ar(g1$)
213 113.8166
1 'ean(g16)
213 706.6$36
213 "#le'ento de 'aior +requen,ia relati-a"
213 113
213 0.0356
213 "#le'ento de 'aior +requen,ia relati-a"
213 70$
213 0.0418
213 "#le'ento de 'enor +requen,ia relati-a"
213 81
213 1e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 347
213 1e&07
13
<oisson/
L 1R = g SR , 1E = g
1 'ean(g16)
213 4.5553
1 'ean(g18)
213 76.8$43
1 -ar(g16)
213 3.010001
1 -ar(g18)
213 7$.56$68
213 "#le'ento de 'aior +requen,ia relati-a"
213 4
213 0.4468
213 "#le'ento de 'aior +requen,ia relati-a"
213 7$
213 0.0608
213 "#le'ento de 'enor +requen,ia relati-a"
213 11
213 4e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 47
213 1e&07
11H 1D = g S2R I2 = g
1 'ean(g15)
213 117.8786
1 'ean(g40)
213 706.876
14
1 -ar(g15)
213 114.6176
1 -ar(g40)
213 706.8$86
213 "#le'ento de 'aior +requen,ia relati-a"
213 116
213 0.0366
213 "#le'ento de 'aior +requen,ia relati-a"
213 708
213 0.043$
213 "#le'ento de 'enor +requen,ia relati-a"
213 66
213 1e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 331
213 1e&07
rpois
L I1 = g SR , II = g
1 'ean(g41)
213 4.5566
1 'ean(g44)
213 76.0164
1 -ar(g41)
213 4.567051
1 -ar(g44)
213 76.54143
213 "#le'ento de 'aior +requen,ia relati-a"
213 3
213 0.4456
213 "#le'ento de 'aior +requen,ia relati-a"
213 78
213 0.0$86
213 "#le'ento de 'enor +requen,ia relati-a"
213 14
213 1e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 47
213 1e&07
15
11H IL = g S2R IS = g
1 'ean(g43)
213 117.538
1 'ean(g47)
213 706.03$6
1 -ar(g43)
213 11$.$$45
1 -ar(g47)
213 708.7137
213 "#le'ento de 'aior +requen,ia relati-a"
213 116
213 0.0364
213 "#le'ento de 'aior +requen,ia relati-a"
213 717
213 0.044$
213 "#le'ento de 'enor +requen,ia relati-a"
213 66
213 1e&07
213 "#le'ento de 'enor +requen,ia relati-a"
213 346
213 1e&07
Ao fim das compara7es perce#emos que quando o valor de
n
aumenta,
para valores de maior, a vari3ncia se dist3ncia um pouco do ideal. 4esmo assim o
algoritmo funciona #em para valores altos de
n
. Apresentando apenas uma demora na
compilao para grande quando 12222 = n , sendo o mais demorado, a funo
%oisson45, que gera &%A's com distri#uio %oisson pelo 4todo da 5ransformao.
16
6os!%era*7es 8!a!s
@s algoritmos: %oisson456, %oisson45 e rpois, que uma funo pronto do
prprio +, diversas similaridades entre si, visto que mesmo com valores distintos para
encontramos valores #em pr$imos para a mdia e a vari3ncia entre eles. /m#ora
quando se aumenta
n
aumenta, para valores de maior, a vari3ncia se dist3ncia um
pouco do ideal e o algoritmo fica mais lento, mas no perde muito a efici9ncia. (essa
forma podemos concluir que, dentre os tr9s o melhor o rpois, apesar de que o
%oisson456 fica #em pr$imo dele na efici9ncia, mas o %oisson45 que no se mostrou
to #om. /m tra#alhos futuros, podemos tentar minimizar esse fato, e tam#m tentar
aplicar em um pro#lema real.
Re(er95!as
A)4/6(A, U. 4. S!)u"a*+o. (ispon?vel em:
http:XXhomepages.dcc.ufmg.#rXZ0ussaraXmetqXaulaR.pdf
Acessado em: 1R Uun. I21S
A/&5)/, U. /. Ra%o) Nu)/er Geerat!o a% Mote 6ar"o Met:o%s. ,econd
/dition. ,tatistics and -omputing, ,pringer-*erlag, I22L.
)A]A5@,, /. 4., 4A+-@&6, 4. A. 8u%a)etos %e Meto%o"o2!a 5!et;(!5a. N.ed.
,o %aulo: Atlas, I22H.
4@+A6,, 4. - - Estat;st!5a 6o)3uta5!oa" < M.%u"o 1. 6nstituto ,uperior 5cnico.
)is#oa, I22L.
%A=) ). 4 ^ Pro/a/!"!%a%e A3"!5a*7es = estat;st!5a. I_ edio. +io de Uaneiro: )ivros
tcnicos e -ient?ficos /ditora, I22N.
Pseu%oa"eator!e%a%e. (ispon?vel em: http:XXpt.;iGipedia.orgX;iGiX%seudoaleatoriedade
Acessado em: 1R Uun. I21S.
+@,,, ,. 4. S!)u"at!o. 8ourt: E%!t!o. Academic %ress, I22N.
*/+VA&6, U - S!)3"eR > Us!2 R (or Itro%u5tor? Stat!st!5s. I221
17
18
A39%!5e
<oisson/0
<oisson/0 = +un,tion(n,la'bda)>
u=runi+(n)
;=40 ?o ! ,onseguiu ,al,ular +a,torial at@ 160, obsA la'bda at@ 170
B=0A; ?li'ite de 0 a inCnito, (; 'uito grande)
+%=(e%p(&la'bda)(la'bda)B)*+a,torial(B)
9%=,u'su'(+%)
%=integer(n)
+or(i in 1An)>
%2i3=su'(as.integer(u2i319%))
while(%2i3 ==;D1)>
ne%t+%=(la'bda*(;D1))(+%2;D13
+%=,(+%,ne%t+%)
9%=,(9%,9%2;D13D+%2;D43)
;=;D1
%2i3=su'(as.integer(u2i319%))
E
E
%
E
<oisson/
<oisson/ = = +un,tion(n, la'bd)>
u = runi+(n)
s = integer(n)
+or ( i in 1An ) >
s2i3 = 1
E
p = e%p(&la'bd)
; = integer(n)
+or ( i in 1An ) >
s2i3 = s2i3(u2i3
E
au% = 1
+or ( i in 1An ) >
while ( s2i3 1= p ) >
au% = au% D 1
u2i3 = runi+(1)
s2i3 = s2i3(u2i3
E
;2i3 = au% & 1
au% = 1
E
;
E
+req!el
19
?9requ:n,ia relati-a
?#' estatFsti,a deno'ina&se +requ:n,ia relati-a, o resultado obtido da di-isGo
entre a +requ:n,ia & o -alor que @ obser-ado na populaHGo & e a quantidade de
ele'entos da populaHGo. Ieral'ente @ apresentada na +or'a de per,entage'.
?essa +unHGo da a +requ:n,ia relati-a de tal nu'ero
?#ntradaA rpois(n,la'bda) ou qualquer u' dos '@todos +eitos
?JaFdaA "'a 'atriK, ,ujo os ele'entos da pri'eira ,oluna serGo os ;<aLs gerados e
na segunda ,oluna suas respe,ti-as +requ:n,ias relati-as
?=inda na saFda, te'os o ele'ento de 'aior e de 'enor +requ:n,ia relati-a
?Mi,a, use o ,o'ando sort() pra C,ar 'ais +N,il a identiC,aHGo dos nO'eros
+req!el = +un,tion(n)>
jt = integer(0)
+req = integer(0)
a = length(n)
+or (i in 1Aa)>
i+ (su'(as.integer(n2i3 == jt))==0)>
quant=0
+or(j in 1Aa)>
i+( n2i3 == n2j3)>
quant = quantD1
E
E
jt=,(jt,n2i3)
+=quant*a
+req=,(+req,+)
E
E
a=length(jt)
=='atri%(,(jt,+req),a,4)
print(=)
print("#le'ento de 'aior +requen,ia relati-a")
'a%=0
+or (i in 1Aa)>
i+(+req2i31'a%)>
'a%=+req2i3
20
ind'a%=i
E
E
print(jt2ind'a%3)
print(+req2ind'a%3)
print("#le'ento de 'enor +requen,ia relati-a")
'in=1
+or (i in 1Aa)>
i+(+req2i3P'in)>
'in=+req2i3
ind'in=i
E
E
print(jt2ind'in3)
print(+req2ind'in3)
E

You might also like