[R-br] Teste de Aderência

Cristiano Melo cristianogmelo em gmail.com
Terça Abril 26 21:16:29 BRT 2011


Muito obrigado Leonard pelo esclarecimento.

Em 26 de abril de 2011 18:16, Leonard Assis <assis.leonard em gmail.com>escreveu:

> Acredito q seja o erro padrão, repare este exemplo, direto do help da
> função fitdistr
>
> set.seed(123)
> x <- rgamma(100, shape = 5, rate = 0.1)
> fitdistr(x, "gamma")
> ## now do this directly with more control.
> fitdistr(x, dgamma, list(shape = 1, rate = 0.1), lower = 0.001)
>
> ainda no help, observe o que diz:
>
> "
> An object of class "fitdistr", a list with four components,
>
> estimate        the parameter estimates,
> sd      the estimated standard errors,
> vcov    the estimated variance-covariance matrix, and
> loglik  the log-likelihood.
>
> "
> executando
> zzz <-fitdistr(x, dgamma, list(shape = 1, rate = 0.1), lower = 0.001)
> zzz$sd
>
> repare que retorna os valores que estão entre parêntesis
>
> Leonard
>
>
> On 26/04/2011, at 14:01, Cristiano Melo wrote:
>
> > Walmes,
> >
> > Fiz o seguinte:
> > library(MASS)
> > fitdistr(vetor_observado,"weibull") - que acredito ser suficiente.
> >
> > O resultado foi:
> > shape                  scale
> > 1.377413              210.784742
> > (0.167581)            (23.479204)
> >
> > Que novamente acredito ser o que quero. Só não entendi esta informação
> entre
> > parênteses.
> >
> > Em 26 de abril de 2011 09:21, Walmes Zeviani <walmeszeviani em gmail.com
> >escreveu:
> >
> >> Cristiano,
> >>
> >> A mensagem sobre os empates vem do fato da sua amostra possuir valores
> >> repetidos. Às vezes, a precisão dessa medidas (casas decimais) é
> pequeno,
> >> imagine medir altura de 100 pessoas, é bem provável ter duas com 1,78 m,
> ou
> >> outro valor.
> >>
> >> Na ks.test(vetor_observado, distribuição, parametro1, parametro2,
> >> demais_opções), você precisa passar o valor dos parâmetros sob hipótese.
> >> Normalmente os valores usando são as estimativas obtidas com os dados.
> Então
> >> você precisa estimar. Para o caso da normal, mean(x) e sd(x) são os
> >> estimadores. Para outras distribuições você pode usar a função
> >> MASS::fitdistr(). Consulte a documentação para instruções de uso.
> >>
> >> À disposição.
> >> Walmes.
> >>
> >>
> ==========================================================================
> >> Walmes Marques Zeviani
> >> LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759
> W)
> >> Departamento de Estatística - Universidade Federal do Paraná
> >> fone: (+55) 41 3361 3573
> >> VoIP: (3361 3600) 1053 1173
> >> e-mail: walmes em ufpr.br
> >> twitter: @walmeszeviani
> >> homepage: http://www.leg.ufpr.br/~walmes
> >> linux user number: 531218
> >>
> ==========================================================================
> >>
> >>
> >> 2011/4/25 Cristiano Melo <cristianogmelo em gmail.com>
> >>
> >>> É o seguinte: tenho em um arquivo txt um vetor que representa tempos
> até a
> >>> falha de equipamentos. Gostaria de fazer alguns teste de aderência para
> >>> verificar se estes dados se aproximam de algumas distribuições de
> >>> probabilidade. Usei o lillie.test(dados) para verificar se dos dados
> aderem
> >>> a uma distribuição nomal. No entanto, gostaria de verificar se estes
> mesmos
> >>> dados (e algumas variações) se aderem a uma exponencial, gamma e
> weibull.
> >>>
> >>> Sei que a função é a ks.test(x, y,..., alternative=c("two.sided" "less"
> or
> >>> "greater")) para o teste de Kolmogorov-Smirnov.
> >>> Para testar normalidade com a função ks, fiz o seguinte: ks.test(vetor,
> >>> "pnorm", sd=sd(vetor), mean=mean(vetor),alternative=c("two.sided")).
> Curioso
> >>> que o resultado foi bem diferente da lillie.test, a seguinte mensagem
> foi
> >>> apresentada:
> >>> Warning message:
> >>> In ks.test(vetor, "pnorm", sd=sd(vetor),
> >>> mean=mean(vetor),alternative=c("two.sided")), : não é possível calcular
> os
> >>> níveis descritivos corretos com empates.
> >>> O que isso quer dizer???????
> >>>
> >>> Quando tentei usar outra distribuição, pweibull por exemplo, o p-value
> foi
> >>> menor que 2.2e-16, ou seja, nada a ver, e repetindo a mesma frase
> anterior.
> >>> O mesmo resultado foi com as outras. Como não sei a sintaxe para
> weibull fiz
> >>> o seguinte:
> >>> ks.test(vetor, "pweibull", 1.129, 2,alternative=c("two.sided"))
> >>>
> >>> Onde estou errando? Vi que para montar uma pweibull são necessários o
> >>> vetor de quantis e os parâmetros shape e scale. É necessário fazer
> separado
> >>> e quardar em uma variável e depois jogar na ks? Como consigo esse vetor
> de
> >>> quantis? Achei que seria automático.
> >>> Estou correto se fizer assim:
> >>>
> >>> ks.test(vetor, "pweibull",10,2)
> >>>
> >>> E tem alguma forma de estimar os parâmetros shape e scale desta função?
> >>>
> >>>
> >>> _______________________________________________
> >>> R-br mailing list
> >>> R-br em listas.c3sl.ufpr.br
> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >>>
> >>>
> >>
> >> _______________________________________________
> >> R-br mailing list
> >> R-br em listas.c3sl.ufpr.br
> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >>
> >>
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110426/5a8f2cf2/attachment.html>


Mais detalhes sobre a lista de discussão R-br