[R-br] Teste de Aderência

Leonard Assis assis.leonard em gmail.com
Terça Abril 26 18:16:15 BRT 2011


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



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