\[ E\big[\;|X_i-Y_k|\;]=\frac{k-i+i2^{-k+1}}{\lambda}+\frac{2^{-k}}{\lambda}\sum\limits_{j=0}^{i-1}\binom{k+j}{k-1}2^{-j}(i-1-j) \]
Ei_k<-function(i,k,lambda){
parc<-numeric(i)
for (t in 1:i){
j=t-1
parc[t]<-(choose(k+j,k-1))*(2^-j)*(i-1-j) }
res<-((k-i+i*2^(-k+1))/lambda)+(2^-k/lambda)*sum(parc)
return(setNames(res,paste("Dist. Esp entre os eventos X",i,"e","Y",k)))
}
Ei_k(2,1,5)
## Dist. Esp entre os eventos X 2 e Y 1
## 0.3
(Fórmula para distância de eventos). Considere dois processos de poisson iid tendo taxas de chegada idênticas e igual a \(\lambda\) e seja \(X_1,X_2,\cdots\) e \(Y_1,Y_2,\cdots\) seus respectivos tempos de chegada. Nessas condicões, a identidade seguinte é válida para todo \(r\geq0\):
\[ E\big[\;|X_{k+r}-Y_k| \;\big]=\frac{k2^{-2k+1}}{\lambda}\binom{2k}{k}\bigg(1+\sum\limits_{s=0}^{r-1}\frac{r-s}{(2k+s)2^s}\frac{(2k+1)^{(s)}}{(k+1)^{(s)}}\bigg)\]
P.C<-function(x,q){
vetor<-numeric(q)
if (q>=1){
for (i in 1:q){
vetor[i]<-x+(i-1)
}
res<-prod(vetor)
} else { res<-1}
return(res)
}
# Exemplo
P.C(2,3) ; P.C(2,0)
## [1] 24
## [1] 1
E<-function(k,r,lambda){
Parc<-numeric(r)
for (j in 1:r){
s<-j-1
Parc[j]<-( (r-s) / ( (2*k+s)*(2^s) ) ) * (P.C(2*k+1,s)/P.C(k+1,s))
}
res<-(k*(2^(-2*k+1))/lambda)*(choose(2*k,k))*(1+sum(Parc))
return(setNames(res,paste("Dist. Esp entre os eventos X",k+r,"e","Y",k)))
}
## Exemplos Distancia esp. entre os eventos X5 e Y2 e; entre os eventos X7 e Y9
E(2,3,4) ; E(7,4,4)
## Dist. Esp entre os eventos X 5 e Y 2
## 0.8203125
## Dist. Esp entre os eventos X 11 e Y 7
## 1.187012
## Comparando as formulas obtidas -- espera-se o mesmo resultado
identical(Ei_k(2,1,5),E(1,1,5))
## [1] TRUE
E(2,1,3) ; Ei_k(2,1,5)
## Dist. Esp entre os eventos X 3 e Y 2
## 0.625
## Dist. Esp entre os eventos X 2 e Y 1
## 0.3
compara1<-function(n){
E.bin1<-((n*(n+1)*2^(-2*n))/3)*choose(2*(n+1),n+1)
soma<-0;
for (i in 1:n){
soma<-soma+(i*2^(-2*i+1))*choose(2*i,i)
}
return(list=c("S1"=soma,"E"=E.bin1))
}
compara1(100) # Exemplo: esta funcao retorna os valores de ambos os membros da identidade p/ n=100
## S1 E
## 755.0696 755.0696
### Verificando as desigualdades
compara2<-function(i){
((2*exp( 1/(24*i+1) - 1/(6*i) )/sqrt(pi))*sqrt(i)< i*2^(-2*i+1)*choose(2*i,i)) <
(2*exp(1/(24*i)-2/(12*i+1)))*(sqrt(i)/sqrt(pi))
}
#compara2(10) # funcao que retorna TRUE caso a desigualdade é verificada para cada i inteiro.
#vetor<-1:100 ; sapply(vetor,compara2) # verifica se a desigualdade vale para um conjuntos de valores
soma_dif.esp<-function(n,lambda){((n*(n+1)*2^(-2*n))/(3*lambda))*choose(2*(n+1),n+1)}
soma_dif.esp(100,2)
## [1] 377.5348
limites<-function(n,lambda){
c2<-2*exp(1/24)/(pi)^0.5 # constante c1
c1<-2/(exp(1)*(pi)^0.5) # constante c2
lim.inf<-c1*(n)*(n^(0.5))/lambda ; lim.sup<-c2*(n)*(n^(0.5))/lambda
return(c(lim.inf,lim.sup))
}
limites(100,2)
## [1] 207.5537 588.1941
############## TEOREMA 3) Afirmações 1) e 2): CORRESPONDENTES AMOSTRAIS (SIMULAÇÂO PARA FORMULAS MATEMATICAS ).
rm(list=ls())
n<-100 # n: quantidade de amostras ;
m<-100 # m: tamanho de cada amostra
lambda<-2
mat.X<-matrix(0,nrow=n,ncol=m)
mat.Y<-matrix(0,nrow=n,ncol=m)
intervalos<-matrix(0,n,2)
c1<-2/(exp(1)*sqrt(pi)) ; c2<-(2*exp(1/24))/(sqrt(pi)) # Constantes encontradas em Kranakis (2014).
for( i in 1:n){
mat.X[i,]<-rgamma(m,i,lambda) # Tempos de chegada do primeiro processo.
mat.Y[i,]<-rgamma(m,i,lambda) # Tempos de chegada do segundo processo.
intervalos[i,]<-c(c1*sqrt(i)/lambda,c2*(sqrt(i))/lambda) # Intervalo assintotico de kranakis (2014).
}
D<-abs(mat.X-mat.Y) ### Matriz de diferencas absolutas cujos elementos são D_ij=|X_ij - Y_ij|, dim: (nxm).
media<-apply(D,1,mean) ### Vetor contendo todas as médias D_i.bar
### Obs.:(Cada média amostral D_i.bar equivale à sua correspondente populacional E|X_i-Y_i| ).
(soma<-sum(media)) ### Teorema 3 - af. 2) Correspondente amostral para o SOMATORIO de E|X_i-Y_i.|
## [1] 380.2345
# 0 < c1*g(n) < f(n) < c2*g(n) Aqui, g(n)=n*sqrt(n)/lambda e f(n)= Soma de E|X_i-Y_i| (Obs.: depende de n).
(int_para_soma<-c(c1*n*sqrt(n)/lambda , c2*n*sqrt(n)/lambda))
## [1] 207.5537 588.1941