[R-br] Teste de distribuição de erros tabajara
ASANTOS
alexandresantosbr em yahoo.com.br
Sábado Outubro 31 12:17:30 BRST 2015
Prezados Listeiros,
Consegui achar o problema, porém os resultados da comparação
entre a distribuição observada e estimada estão errados, alguem poderia
me dar uma luz? Segue novo CRM:
## Teste de distribuição de erros tabajara
require(MASS)
BD<-rpois(1000,10) ### Valores a serem testados
Dist<-c("negative binomial","normal","Poisson")
for(typeD in seq_along(Dist)){
k <- fitdistr(BD,Dist[typeD])
par <- k$estimate
size <- par[1]#k
mu <- par[2]#Média
SD<-sd(BD)
N <- length(BD)
if (Dist[typeD]=='negative binomial'){ ### Para binomial negativa
est <-N*dnbinom(BD,size=size,mu=mu) ## Estimativas
fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
knotsX <- knots(fecdf)
emp <- fecdf(c(knotsX,Inf)) # Empírica
print(Dist[typeD])
print(chisq.test(table(emp),table(est),correct=TRUE)) ##Teste Chi -
Quadrado para valiar a significância da distribuição
}
if (Dist[typeD]=='normal'){ ### Para normal
est <-N*dnorm(BD,mean=size, sd=SD) ## Estimativas
fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
knotsX <- knots(fecdf)
emp <- fecdf(c(knotsX,Inf)) # Empírica
print(Dist[typeD])
print(chisq.test(table(emp),table(est),correct=TRUE)) ##Teste Chi -
Quadrado para valiar a significância da distribuição
}
if (Dist[typeD]=='Poisson'){ ### Para Poisson
est <-N*dpois(BD,lambda=size) ## Estimativas
fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
knotsX <- knots(fecdf)
emp <- fecdf(c(knotsX,Inf)) # Empírica
print(Dist[typeD])
print(chisq.test(table(emp),table(est),correct=TRUE))##Teste Chi -
Quadrado para valiar a significância da distribuição
}
}
#
Obrigado
--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================
Em 28/10/2015 15:25, ASANTOS escreveu:
> Prezados listeiros,
>
> Estou tentando criar uma função para testar a distribuição de
> erros de normal, poisson e binomial negativa por enquanto, porém não
> sei o que estou fazendo de errado na minha função e solicito a ajuda
> de vocês para conseguir achar o erro, segue CRM:
>
> ## Teste de distribuição de erros tabajara
>
> require(MASS)
>
> BD<-rpois(1000,10) ### Valores a serem testados
>
> Dist<-c("negative binomial","normal","Poisson")
>
> for(typeD in 1:Dist){
> k <- fitdistr(BD,typeD[Dist])
> par <- k$estimate
> size <- par[1]#Parametro
> mu <- par[2]#Média
> SD<-sd(BD)
> N <- length(BD)
>
> if (typeD[Dist]=='negative binomial'){ ### Para binomial negativa
> est <-N*dnbinom(BD,size=size,mu=mu) ## Estimativas
> fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
> knotsX <- knots(fecdf)
> emp <- fecdf(c(knotsX,Inf)) # Empírica
> chisq.test(table(emp),table(est),correct=TRUE) ##Teste Chi - Quadrado
> para valiar a significância da distribuição
> }
> if (typeD[Dist]=='normal'){ ### Para normal
> est <-N*dnorm(BD,mean=mu, sd=SD) ## Estimativas
> fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
> knotsX <- knots(fecdf)
> emp <- fecdf(c(knotsX,Inf)) # Empírica
> chisq.test(table(emp),table(est),correct=TRUE) ##Teste Chi - Quadrado
> para valiar a significância da distribuição
> }
> if (typeD[Dist]=='Poisson'){ ### Para Poisson
> est <-N*dpois(BD,lambda=mu) ## Estimativas
> fecdf <- ecdf(BD) ###ecdf- Função de distribuição cumulativa empírica
> knotsX <- knots(fecdf)
> emp <- fecdf(c(knotsX,Inf)) # Empírica
> chisq.test(table(emp),table(est),correct=TRUE) ##Teste Chi - Quadrado
> para valiar a significância da distribuição
> }
> }
> #
>
> Obrigado,
>
Mais detalhes sobre a lista de discussão R-br