Teste de Qui-quadrado aplicado para a distribuição binomial

Prezados Membros, Estou tentando realizar um teste de aderência (Qui-quadrado) aplicado a dados com distribuição binomial negativa sem sucesso. Em meu CRM: #Pacote MASS library(MASS) #Crio um banco de dados simulado Features<-sort(rep(1:3,100)) Resp1<-rnbinom(200,0.75,0.10) ##60 dados com distribuição binomial negativa Resp2<-rpois(100,10) ##30 dados com distribuição de Poisson Resp<-c(Resp1,Resp2) d<-as.data.frame(cbind(Features,Resp)) #Criando um loop para realizar o teste de Chi quadrado para os três conjuntos de dados - Feature 1, 2 e 3 uniq <- unique(unlist(d$Features)) res<-NULL for (i in 1:length(uniq)){ data_1 <- subset(d, Features == uniq[i]) k <- fitdistr(data_1$Resp,"negative binomial") #Extração dos parâmetros média e mu da binomial negativa par <- k$estimate size <- par[1]#Parâmetro k mu <- par[2]#Média N <- length(data_1$Resp) est <-N*dnbinom(data_1$Resp,size=size,mu=mu) ## Criando valores estimados fecdf <- ecdf(data_1$Resp) ###ecdf- Cria a distribuição cumulativa empírica knotsX <- knots(fecdf) emp <- fecdf(c(knotsX,Inf)) # Distribuição empírica testChi<-chisq.test(table(emp),table(est),correct=TRUE) #Teste de Qui-quadrado sobre a contagem dos dados empíricos versus estimados result<-ifelse(testChi$p.value>0.05,"Binomial Negative","Other distribution") ## Classifica os testes em binomial negativa ou outra distribuição res<-rbind(res,c(uniq[i],result)) colnames(res)<-c("Features","Distribution") } res Meu output é: Features Distribution [1,] "1" "Other distribution" [2,] "2" "Other distribution" [3,] "3" "Binomial Negative" Ou seja, dá o resultado errado, na verdade as Features 1 e 2 é que são binomial negativa e a Feature 3 que são dados com distribuição de Poisson que tem que dar "Other distribution". Alguém teria alguma sugestão para dar? 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================

Na minha tentativa de rodar s/exemplo antes da linha
res
As seguintes msgs de alerta são impressas: Warning messages: 1: In densfun(x, parm[1], parm[2], ...) : NaNs produzidos 2: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta 3: In densfun(x, parm[1], parm[2], ...) : NaNs produzidos 4: In densfun(x, parm[1], parm[2], ...) : NaNs produzidos 5: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta 6: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta CONFERE? On Tue, Mar 5, 2019 at 5:07 PM ASANTOS por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Prezados Membros,
Estou tentando realizar um teste de aderência (Qui-quadrado) aplicado a dados com distribuição binomial negativa sem sucesso. Em meu CRM:
#Pacote MASS library(MASS)
#Crio um banco de dados simulado Features<-sort(rep(1:3,100)) Resp1<-rnbinom(200,0.75,0.10) ##60 dados com distribuição binomial negativa Resp2<-rpois(100,10) ##30 dados com distribuição de Poisson Resp<-c(Resp1,Resp2) d<-as.data.frame(cbind(Features,Resp))
#Criando um loop para realizar o teste de Chi quadrado para os três conjuntos de dados - Feature 1, 2 e 3 uniq <- unique(unlist(d$Features)) res<-NULL for (i in 1:length(uniq)){ data_1 <- subset(d, Features == uniq[i]) k <- fitdistr(data_1$Resp,"negative binomial") #Extração dos parâmetros média e mu da binomial negativa par <- k$estimate size <- par[1]#Parâmetro k mu <- par[2]#Média N <- length(data_1$Resp) est <-N*dnbinom(data_1$Resp,size=size,mu=mu) ## Criando valores estimados fecdf <- ecdf(data_1$Resp) ###ecdf- Cria a distribuição cumulativa empírica knotsX <- knots(fecdf) emp <- fecdf(c(knotsX,Inf)) # Distribuição empírica testChi<-chisq.test(table(emp),table(est),correct=TRUE) #Teste de Qui-quadrado sobre a contagem dos dados empíricos versus estimados result<-ifelse(testChi$p.value>0.05,"Binomial Negative","Other distribution") ## Classifica os testes em binomial negativa ou outra distribuição res<-rbind(res,c(uniq[i],result)) colnames(res)<-c("Features","Distribution") } res
Meu output é: Features Distribution [1,] "1" "Other distribution" [2,] "2" "Other distribution" [3,] "3" "Binomial Negative" Ou seja, dá o resultado errado, na verdade as Features 1 e 2 é que são binomial negativa e a Feature 3 que são dados com distribuição de Poisson que tem que dar "Other distribution". Alguém teria alguma sugestão para dar? 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO)e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Boa noite Cesar, Obrigado pela ajuda. Para mim, quando eu rodo aparece também alguns alertas: Warning messages: 1: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta 2: In densfun(x, parm[1], parm[2], ...) :NaNs produzidos 3: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta 4: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta -- ====================================================================== 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ====================================================================== Em 06/03/2019 19:41, Cesar Rabak escreveu:
#Pacote MASS library(MASS)
#Crio um banco de dados simulado Features<-sort(rep(1:3,100)) Resp1<-rnbinom(200,0.75,0.10) ##60 dados com distribuição binomial negativa Resp2<-rpois(100,10) ##30 dados com distribuição de Poisson Resp<-c(Resp1,Resp2) d<-as.data.frame(cbind(Features,Resp))
#Criando um loop para realizar o teste de Chi quadrado para os três conjuntos de dados - Feature 1, 2 e 3 uniq <- unique(unlist(d$Features)) res<-NULL for (i in 1:length(uniq)){ data_1 <- subset(d, Features == uniq[i]) k <- fitdistr(data_1$Resp,"negative binomial") #Extração dos parâmetros média e mu da binomial negativa par <- k$estimate size <- par[1]#Parâmetro k mu <- par[2]#Média N <- length(data_1$Resp) est <-N*dnbinom(data_1$Resp,size=size,mu=mu) ## Criando valores estimados fecdf <- ecdf(data_1$Resp) ###ecdf- Cria a distribuição cumulativa empírica knotsX <- knots(fecdf) emp <- fecdf(c(knotsX,Inf)) # Distribuição empírica testChi<-chisq.test(table(emp),table(est),correct=TRUE) #Teste de Qui-quadrado sobre a contagem dos dados empíricos versus estimados result<-ifelse(testChi$p.value>0.05,"Binomial Negative","Other distribution") ## Classifica os testes em binomial negativa ou outra distribuição res<-rbind(res,c(uniq[i],result)) colnames(res)<-c("Features","Distribution") } res

*> result<-ifelse(testChi$p.**value>0.05,"Binomial Negative","Other distribution")* ## Classifica os testes em binomial negativa ou outra distribuição Se a distribuição estimada table(est) for igual a empírica table (emp) pelo teste de independência de Qui-quadrado, ou seja, *testChi$p.**value>0.05, então os dados tem distribuição binomial negativa, caso contrário, * *testChi$p.**value<0.05, então os dados tem outra distribuição de probabilidade.* Em qua, 6 de mar de 2019 22:24, ASANTOS <alexandre.santos@cas.ifmt.edu.br> escreveu:
Boa noite Cesar,
Obrigado pela ajuda. Para mim, quando eu rodo aparece também alguns alertas:
Warning messages:1: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta2: In densfun(x, parm[1], parm[2], ...) : NaNs produzidos3: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta4: In chisq.test(table(emp), table(est), correct = TRUE) : Aproximação do qui-quadrado pode estar incorreta
-- ====================================================================== 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO)e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================
Em 06/03/2019 19:41, Cesar Rabak escreveu:
#Pacote MASS library(MASS)
#Crio um banco de dados simulado Features<-sort(rep(1:3,100)) Resp1<-rnbinom(200,0.75,0.10) ##60 dados com distribuição binomial negativa Resp2<-rpois(100,10) ##30 dados com distribuição de Poisson Resp<-c(Resp1,Resp2) d<-as.data.frame(cbind(Features,Resp))
#Criando um loop para realizar o teste de Chi quadrado para os três conjuntos de dados - Feature 1, 2 e 3 uniq <- unique(unlist(d$Features)) res<-NULL for (i in 1:length(uniq)){ data_1 <- subset(d, Features == uniq[i]) k <- fitdistr(data_1$Resp,"negative binomial") #Extração dos parâmetros média e mu da binomial negativa par <- k$estimate size <- par[1]#Parâmetro k mu <- par[2]#Média N <- length(data_1$Resp) est <-N*dnbinom(data_1$Resp,size=size,mu=mu) ## Criando valores estimados fecdf <- ecdf(data_1$Resp) ###ecdf- Cria a distribuição cumulativa empírica knotsX <- knots(fecdf) emp <- fecdf(c(knotsX,Inf)) # Distribuição empírica testChi<-chisq.test(table(emp),table(est),correct=TRUE) #Teste de Qui-quadrado sobre a contagem dos dados empíricos versus estimados result<-ifelse(testChi$p.value>0.05,"Binomial Negative","Other distribution") ## Classifica os testes em binomial negativa ou outra distribuição res<-rbind(res,c(uniq[i],result)) colnames(res)<-c("Features","Distribution") } res

Alexandre: Por favor explique-no o seu raciocínio para fazer este teste aqui: *> result<-ifelse(testChi$p.**value>0.05,"Binomial Negative","Other distribution")* ## Classifica os testes em binomial negativa ou outra distribuição HTH -- Cesar Rabak On Tue, Mar 5, 2019 at 5:07 PM ASANTOS por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Prezados Membros,
Estou tentando realizar um teste de aderência (Qui-quadrado) aplicado a dados com distribuição binomial negativa sem sucesso. Em meu CRM:
#Pacote MASS library(MASS)
#Crio um banco de dados simulado Features<-sort(rep(1:3,100)) Resp1<-rnbinom(200,0.75,0.10) ##60 dados com distribuição binomial negativa Resp2<-rpois(100,10) ##30 dados com distribuição de Poisson Resp<-c(Resp1,Resp2) d<-as.data.frame(cbind(Features,Resp))
#Criando um loop para realizar o teste de Chi quadrado para os três conjuntos de dados - Feature 1, 2 e 3 uniq <- unique(unlist(d$Features)) res<-NULL for (i in 1:length(uniq)){ data_1 <- subset(d, Features == uniq[i]) k <- fitdistr(data_1$Resp,"negative binomial") #Extração dos parâmetros média e mu da binomial negativa par <- k$estimate size <- par[1]#Parâmetro k mu <- par[2]#Média N <- length(data_1$Resp) est <-N*dnbinom(data_1$Resp,size=size,mu=mu) ## Criando valores estimados fecdf <- ecdf(data_1$Resp) ###ecdf- Cria a distribuição cumulativa empírica knotsX <- knots(fecdf) emp <- fecdf(c(knotsX,Inf)) # Distribuição empírica testChi<-chisq.test(table(emp),table(est),correct=TRUE) #Teste de Qui-quadrado sobre a contagem dos dados empíricos versus estimados result<-ifelse(testChi$p.value>0.05,"Binomial Negative","Other distribution") ## Classifica os testes em binomial negativa ou outra distribuição res<-rbind(res,c(uniq[i],result)) colnames(res)<-c("Features","Distribution") } res
Meu output é: Features Distribution [1,] "1" "Other distribution" [2,] "2" "Other distribution" [3,] "3" "Binomial Negative" Ou seja, dá o resultado errado, na verdade as Features 1 e 2 é que são binomial negativa e a Feature 3 que são dados com distribuição de Poisson que tem que dar "Other distribution". Alguém teria alguma sugestão para dar? 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO)e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (3)
-
Alexandre Dos Santos
-
ASANTOS
-
Cesar Rabak