1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /stats.texi/1.5/Sat Jun 2 00:13:33 2007//
5 * Funções e Variáveis Definidas para inference_result::
6 * Funções e Variáveis Definidas para stats::
7 * Funções e Variáveis Definidas para distribuições especiais::
10 @node Introdução a stats, Funções e Variáveis Definidas para inference_result, Top, Top
11 @section Introdução a stats
14 O pacote @code{stats} contém um conjunto de procedimentos de inferência clássica
15 estatística e procedimentos de teste.
17 Todas essas funções retornam um objeto do Maxima chamado @code{inference_result} que contém
18 os resultados necessários para inferências de manipulação e tomada de decisões.
20 A variável global @code{stats_numer} controla se resultados são mostrados em
21 ponto flutuante ou simbólico e no formato racional; seu valor padrão é @code{true}
22 e os resultados são retornados no formato de ponto flutuante.
24 O pacote @code{descriptive} contém alguns utilitários para manipular estruturas de dados
25 (listas e matrizes); por exemplo, para extrair subamostras. O pacote @code{descriptive} também contém alguns
26 exemplos sobre como usar o pacote @code{numericalio} para ler dados a partir de arquivo no formato texto
27 plano. Veja @code{descriptive} e @code{numericalio} para maiores detalhes.
29 O pacote @code{stats} precisa dos pacotes @code{descriptive}, @code{distrib} e
30 @code{inference_result}.
32 Para comentários, erros ou sugestões, por favor contate o autor em
34 @var{'mario AT edu DOT xunta DOT es'}.
37 @node Funções e Variáveis Definidas para inference_result, Funções e Variáveis Definidas para stats, Introdução a stats, Top
38 @section Funções e Variáveis Definidas para inference_result
40 @deffn {Função} inference_result (@var{título}, @var{valores}, @var{números})
42 Constrói um objeto @code{inference_result} do tipo retornado pelas
43 funções stats. O argumento @var{título} é uma
44 seq@"{u}ência de caracteres do Maxima co o nome do procedimento; @var{valores} é uma lissta com
45 elementos da forma @code{símbolo = valor} e @var{números} é uma lista
46 com números inteiros positivos no intervalo de um para @code{length(@var{valores})},
47 indicando que valores serão mostrados por padrão.
51 Este é um exemplo que mostras os resultados associados a um retángulo. O
52 título deste objeto é a seq@"{u}ência de caraceteres @code{"Retângulo"}, o qual armazena cinco resultados, a saber
53 @code{'base}, @code{'altura}, @code{'diagonal}, @code{'área},
54 e @code{'perímetro}, porém só mostra o primeiro, segundo, quinto e quarto
55 resultado. O resultado @code{'diagonal} também é armazenado neste objeto, no entanto não é
56 mostrado por padrão; para se ter acesso a este valor, faz-se uso da função @code{take_inference}.
59 @c load ("inference_result")$
61 @c inference_result("Retângulo",
64 @c 'diagonal=sqrt(b^2+h^2),
66 @c 'perímetro=2*(b+h)],
68 @c take_inference('diagonal,%);
71 (%i1) load("inference_result")$
73 (%i3) inference_result("Retângulo",
76 'diagonal=sqrt(b^2+h^2),
89 (%i4) take_inference('diagonal,%);
93 Veja também @code{take_inference}.
101 @deffn {Função} inferencep (@var{obj})
103 Retorna @code{true} ou @code{false}, dependendo se @var{obj} é
104 um objeto @code{inference_result} ou não.
113 @deffn {Função} items_inference (@var{obj})
115 Retorna uma lista com os nomes dos itens em @var{obj}, que devem
116 ser um objeto @code{inference_result}.
120 O objeto @code{inference_result} armazena dois valores, a saber @code{'pi} e @code{'e},
121 mas somente o segundo é mostrado. A função @code{items_inference} retorna os nomes
122 de todos os itens, não importa se eles são ou não mostrados.
125 @c load ("inference_result")$
126 @c inference_result("Hi", ['pi=%pi,'e=%e],[2]);
127 @c items_inference(%);
130 (%i1) load("inference_result")$
131 (%i2) inference_result("Hi", ['pi=%pi,'e=%e],[2]);
135 (%i3) items_inference(%);
146 @deffn {Função} take_inference (@var{n}, @var{obj})
147 @deffnx {Função} take_inference (@var{nome}, @var{obj})
148 @deffnx {Função} take_inference (@var{lista}, @var{obj})
150 Retorna o @var{n}-ésimo valor armazenado em @var{obj} se @var{n} for um inteiro positivo,
151 ou o item chamado @var{nome} se esse for o nome de um item. Se o primeiro
152 argumento for uma lista de números e/ou símbolos, a função @code{take_inference} retorna
153 uma lista com os resultados correspondentes.
157 Fornece um objeto @code{inference_result}, a função @code{take_inference} é
158 chamada com o objetivo de extrair alguma informação armazenada nesse objeto.
161 @c load ("inference_result")$
163 @c sol:inference_result("Retângulo",
166 @c 'diagonal=sqrt(b^2+h^2),
168 @c 'perímetro=2*(b+h)],
170 @c take_inference('base,sol);
171 @c take_inference(5,sol);
172 @c take_inference([1,'diagonal],sol);
173 @c take_inference(items_inference(sol),sol);
176 (%i1) load("inference_result")$
178 (%i3) sol: inference_result("Retângulo",
181 'diagonal=sqrt(b^2+h^2),
194 (%i4) take_inference('base,sol);
196 (%i5) take_inference(5,sol);
198 (%i6) take_inference([1,'diagonal],sol);
200 (%i7) take_inference(items_inference(sol),sol);
201 (%o7) [3, 2, sqrt(13), 6, 10]
204 Veja também @code{inference_result} e @code{take_inference}.
215 @node Funções e Variáveis Definidas para stats, Funções e Variáveis Definidas para distribuições especiais, Funções e Variáveis Definidas para inference_result, Top
216 @section Funções e Variáveis Definidas para stats
219 @defvr {Variável de opção} stats_numer
220 Valor padrão: @code{true}
222 Se @code{stats_numer} for @code{true}, funções de inferência estatística
223 retornam seus resultados em números com ponto flutuante. Se @code{stats_numer} for @code{false},
224 resultados são fornecidos em formato simbólico e racional.
230 @deffn {Função} test_mean (@var{x})
231 @deffnx {Função} test_mean (@var{x}, @var{opção_1}, @var{opção_2}, ...)
233 Esse é o teste-@var{t} de média. O argumento @var{x} é uma lista ou uma matriz coluna
234 contendo uma amostra unidimensional. @code{test_mean} tamb;em executa um teste assintótico
235 baseado no @i{Teorema do Limite Central} se a opção @code{'asymptotic} for
243 @code{'mean}, o valor padrão é @code{0}, é o valor da média a ser verificado.
246 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
247 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
250 @code{'dev}, o valor padrão é @code{'unknown}, corresponde ao valor do desvio padrão quando esse valor de desvio padrão for
251 conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
254 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
255 ser uma expressão que toma um valor em (0,1).
258 @code{'asymptotic}, o valor padrão é @code{false}, indica se @code{test_mean} exeecuta um teste-@var{t} exato ou
259 um teste assintótico baseando-se no @i{Teorema do Limite Central};
260 valores válidos são @code{true} e @code{false}.
264 A saída da função @code{test_mean} é um objeto @code{inference_result} do Maxima
265 mostrando os seguintes resultados:
270 @code{'mean_estimate}: a média da amostra.
273 @code{'conf_level}: nível de confidência selecionado pelo usuário.
276 @code{'conf_interval}: intervalo de confidência para a média da população.
279 @code{'method}: procedimento de inferência.
282 @code{'hypotheses}: hipótese do nulo e hipótese alternativa a ser testada.
285 @code{'statistic}: valor da amostra estatística a ser usado para testar a hipótese do nulo.
288 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetro(s).
291 @code{'p_value}: valores de @math{p} do teste.
297 Executa um teste-@var{t} exato com variância desconhecida. A hipótese do nulo
298 é @math{H_0: mean=50} contra a alternativa unilatera @math{H_1: mean<50};
299 conforme os resultados, o valor de @math{p} é muito grande, não existem
300 evidências paa rejeitar @math{H_0}.
304 @c data: [78,64,35,45,45,75,43,74,42,42]$
305 @c test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
309 (%i2) data: [78,64,35,45,45,75,43,74,42,42]$
310 (%i3) test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
313 | mean_estimate = 54.3
317 | conf_interval = [minf, 61.51314273502712]
319 (%o3) | method = Exact t-test. Unknown variance.
321 | hypotheses = H0: mean = 50 , H1: mean < 50
323 | statistic = .8244705235071678
325 | distribution = [student_t, 9]
327 | p_value = .7845100411786889
330 Nesta ocasião Maxima executa um testte assintótico, baseado no @i{Teorema do Limite Central}.
331 A hipótese do nulo é @math{H_0: equal(mean, 50)} contra a alternativa de duas vias @math{H_1: not equal(mean, 50)};
332 conforme os resultados, o valor de @math{p} é muito pequeno, @math{H_0} pode ser rejeitado em
333 favor da alternativa @math{H_1}. Note que, como indicado pela componente @code{Method},
334 esse procedimento pode ser aplicado a grandes amostras.
338 @c test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
339 @c 98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
340 @c 45,51,123,54,151],
341 @c 'asymptotic=true,'mean=50);
345 (%i2) test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
346 98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
348 'asymptotic=true,'mean=50);
351 | mean_estimate = 74.88571428571429
355 | conf_interval = [57.72848600856194, 92.04294256286663]
357 (%o2) | method = Large sample z-test. Unknown variance.
359 | hypotheses = H0: mean = 50 , H1: mean # 50
361 | statistic = 2.842831192874313
363 | distribution = [normal, 0, 1]
365 | p_value = .004471474652002261
376 @deffn {Função} test_means_difference (@var{x1}, @var{x2})
377 @deffnx {Função} test_means_difference (@var{x1}, @var{x2}, @var{opção_1}, @var{opção_2}, ...)
379 Esse é o teste-@var{t} de diferença de médias entre duas amostras.
380 Os argumentos @var{x1} e @var{x2} são listas ou matrizes colunas
381 contendo duas amostras independentes. No caso de diferentes variâncias desconhecidas
382 (veja opções @code{'dev1}, @code{'dev2} e @code{'varequal} abaixo),
383 os graus de liberdade são calculados por meio da aproximação de Welch.
384 @code{test_means_difference} também executa um teste assintótico
385 baseado no @i{Teorema do Limite Central} se a opção @code{'asymptotic} for
386 escolhida para @code{true}.
395 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
396 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
399 @code{'dev1}, o valor padrão é @code{'unknown}, é o valor do desvio padrão
400 da amostra @var{x1} quando esse desvio for conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
403 @code{'dev2}, o valor padrão é @code{'unknown}, é o valor do desvio padrão
404 da amostra @var{x2} quando esse desvio for conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
407 @code{'varequal}, o valor padrão é @code{false}, se variâncias podem serem consideradas como iguais ou não;
408 essa opção tem efeito somente quando @code{'dev1} e/ou @code{'dev2} forem @code{'unknown}.
411 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
412 ser uma expressão que toma valores em (0,1).
414 Nota de Tradução: (0,1) representa intervalo aberto.
417 @code{'asymptotic}, o valor padrão é @code{false}, indica se @code{test_means_difference} executa um teste-@var{t} exato ou
418 um teste assíntótico baseando-se no @i{Teorema do Limite Central};
419 valores válidos são @code{true} e @code{false}.
423 A saída da função @code{test_means_difference} é um objeto @code{inference_result} do Maxima
424 mostrando os seguintes resultados:
429 @code{'diff_estimate}: a diferença de médias estimadas.
432 @code{'conf_level}: nível de confidência selecionado pelo usuário.
435 @code{'conf_interval}: intervalo de confidência para a diferença de médias.
438 @code{'method}: procedimento de inferência.
441 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
444 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
447 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
450 @code{'p_value}: valor de @math{p} do teste.
456 A igualdade de médias é testada com duas pequenas amostras @var{x} e @var{y},
457 contra a alternativa @math{H_1: m_1>m_2}, sendo @math{m_1} e @math{m_2}
458 as médias das populações; variâncias são desconhecidas e supostamente admitidas para serem diferentes.
460 @c equivalent code for R:
461 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
462 @c y <- c(1.2,6.9,38.7,20.4,17.2)
463 @c t.test(x,y,alternative="greater")
467 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
468 @c y: [1.2,6.9,38.7,20.4,17.2]$
469 @c test_means_difference(x,y,'alternative='greater);
473 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
474 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
475 (%i4) test_means_difference(x,y,'alternative='greater);
476 | DIFFERENCE OF MEANS TEST
478 | diff_estimate = 20.31999999999999
482 | conf_interval = [- .04597417812882298, inf]
484 (%o4) | method = Exact t-test. Welch approx.
486 | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
488 | statistic = 1.838004300728477
490 | distribution = [student_t, 8.62758740184604]
492 | p_value = .05032746527991905
495 O mesmo teste que antes, mas agora as variâncias são admitidas serem supostamente
498 @c equivalent code for R:
499 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
500 @c y <- c(1.2,6.9,38.7,20.4,17.2)
501 @c t.test(x,y,var.equal=T,alternative="greater")
505 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
506 @c y: [1.2,6.9,38.7,20.4,17.2]$
507 @c test_means_difference(x,y,'alternative='greater,'varequal=true);
511 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
512 (%i3) y: matrix([1.2],[6.9],[38.7],[20.4],[17.2])$
513 (%i4) test_means_difference(x,y,'alternative='greater,'varequal=true);
514 | DIFFERENCE OF MEANS TEST
516 | diff_estimate = 20.31999999999999
520 | conf_interval = [- .7722627696897568, inf]
522 (%o4) | method = Exact t-test. Unknown equal variances
524 | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
526 | statistic = 1.765996124515009
528 | distribution = [student_t, 9]
530 | p_value = .05560320992529344
541 @deffn {Função} test_variance (@var{x})
542 @deffnx {Função} test_variance (@var{x}, @var{opção_1}, @var{opção_2}, ...)
544 Esse é o teste da variância @var{chi^2}. O argumento @var{x} é uma lista ou uma matriz coluna
545 contendo uma amostra unidimensional tomada entre a população normal.
552 @code{'mean}, o valor padrão é @code{'unknown}, é a média da população, quando for conhecida.
555 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
556 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
559 @code{'variance}, o valor padrão é @code{1}, isso é o valor (positivo) da variância a ser testado.
562 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
563 ser uma expressão que toma valores em (0,1).
567 A saída da função @code{test_variance} está no objeto @code{inference_result} do Maxima
568 mostrando os seguintes resultados:
573 @code{'var_estimate}: a variância da amostra.
576 @code{'conf_level}: nível de confidência selecionado pelo usuário.
579 @code{'conf_interval}: intervalo de confidência para a variância da população.
582 @code{'method}: procedimento de inferência.
585 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
588 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
591 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
594 @code{'p_value}: o valor de @math{p} do teste.
600 Isso é testado se a variância de uma população com média desconhhecida
601 for igual ou maior que 200.
605 @c x: [203,229,215,220,223,233,208,228,20]$
606 @c test_variance(x,'alternative='greater,'variance=200);
610 (%i2) x: [203,229,215,220,223,233,208,228,209]$
611 (%i3) test_variance(x,'alternative='greater,'variance=200);
614 | var_estimate = 110.75
618 | conf_interval = [57.13433376937479, inf]
620 (%o3) | method = Variance Chi-square test. Unknown mean.
622 | hypotheses = H0: var = 200 , H1: var > 200
626 | distribution = [chi2, 8]
628 | p_value = .8163948512777689
639 @deffn {Função} test_variance_ratio (@var{x1}, @var{x2})
640 @deffnx {Função} test_variance_ratio (@var{x1}, @var{x2}, @var{opção_1}, @var{opção_2}, ...)
642 Isso é o teste @var{F} da razão de variância para duas populações normais.
643 Os argumentos @var{x1} e @var{x2} são listas ou matrizes colunas
644 contendo duas amostras independentes.
651 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
652 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
655 @code{'mean1}, o valor padrão é @code{'unknown}, quando for conhecida, isso é a média da
656 população da qual @var{x1} foi tomada.
659 @code{'mean2}, o valor padrão é @code{'unknown}, quando for conhecida, isso é a média da
660 população da qual @var{x2} foi tomada.
663 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência da
664 razão; deve ser uma expressão que tome valores em (0,1).
668 A saída da função @code{test_variance_ratio} é um objeto @code{inference_result} do Maxima
669 mostrando os seguintes resultados:
674 @code{'ratio_estimate}: a razão de variância da amostra.
677 @code{'conf_level}: nível de confidência selecionado pelo usuário.
680 @code{'conf_interval}: intervalo de confidência para a razão de variância.
683 @code{'method}: procedimento de inferência.
686 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
689 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
692 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
695 @code{'p_value}: o valor de @math{p} do teste.
702 a igualdade das variâncias de duas populações normais é verificado
703 contra a alternativa que a primeira é maior que a segunda.
705 @c equivalent code for R:
706 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
707 @c y <- c(1.2,6.9,38.7,20.4,17.2)
708 @c var.test(x,y,alternative="greater")
712 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
713 @c y: [1.2,6.9,38.7,20.4,17.2]$
714 @c test_variance_ratio(x,y,'alternative='greater);
718 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
719 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
720 (%i4) test_variance_ratio(x,y,'alternative='greater);
721 | VARIANCE RATIO TEST
723 | ratio_estimate = 2.316933391522034
727 | conf_interval = [.3703504689507268, inf]
729 (%o4) | method = Variance ratio F-test. Unknown means.
731 | hypotheses = H0: var1 = var2 , H1: var1 > var2
733 | statistic = 2.316933391522034
735 | distribution = [f, 5, 4]
737 | p_value = .2179269692254457
747 @deffn {Função} test_sign (@var{x})
748 @deffnx {Função} test_sign (@var{x}, @var{opção_1}, @var{opção_2}, ...)
750 Esse é o teste de sinal não paramétrico para a mediana de uma população contínua.
751 O argumento @var{x} é uma lista ou uma matriz coluna contendo uma amostra unidimensional.
758 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
759 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
762 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
766 A saída da função @code{test_sign} é um objeto @code{inference_result} do Maxima
767 mostrando os seguintes resultados:
772 @code{'med_estimate}: a mediana da amostra.
775 @code{'method}: procedimento de inferência.
778 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
781 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
784 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
787 @code{'p_value}: o valor de @math{p} do teste.
793 Verifica se a população da qual a amostra foi tomada tem mediana 6,
794 contra a alternativa @math{H_1: median > 6}.
798 @c x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
799 @c test_sign(x,'median=6,'alternative='greater);
803 (%i2) x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
804 (%i3) test_sign(x,'median=6,'alternative='greater);
809 | method = Non parametric sign test.
811 (%o3) | hypotheses = H0: median = 6 , H1: median > 6
815 | distribution = [binomial, 10, 0.5]
817 | p_value = .05468749999999989
830 @deffn {Função} test_signed_rank (@var{x})
831 @deffnx {Função} test_signed_rank (@var{x}, @var{opção_1}, @var{opção_2}, ...)
833 Esse é o teste de ranque sinalizado de Wilcoxon para fazer inferências sobre a mediana de uma
834 população contínua. O argumento @var{x} é uma lista ou uma matriz coluna
835 contendo uma amostra unidimensional. Executa uma aproximação normal se o
836 tamanho da amostra for maior que 20, ou se existirem zeros ou houverem empates.
838 Veja também @code{pdf_rank_test} e @code{cdf_rank_test}.
845 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
848 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
849 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
853 A saída da função @code{test_signed_rank} é um objeto @code{inference_result} do Maxima
854 com os seguintes resultados:
859 @code{'med_estimate}: a mediana da amostra.
862 @code{'method}: procedimento de inferência.
865 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
868 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
871 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
874 @code{'p_value}: o valor de @math{p} do teste.
880 Verifica a hipótese do nulo @math{H_0: median = 15} contra a
881 alternativa @math{H_1: median > 15}. Esse é um teste exato, ua vez que
884 @c equivalent code for R:
885 @c x <- c(17.1,15.9,13.7,13.4,15.5,17.6)
886 @c wilcox.test(x,mu=15,alternative="greater")
890 @c x: [17.1,15.9,13.7,13.4,15.5,17.6]$
891 @c test_signed_rank(x,median=15,alternative=greater);
895 (%i2) x: [17.1,15.9,13.7,13.4,15.5,17.6]$
896 (%i3) test_signed_rank(x,median=15,alternative=greater);
899 | med_estimate = 15.7
901 | method = Exact test
903 (%o3) | hypotheses = H0: med = 15 , H1: med > 15
907 | distribution = [signed_rank, 6]
912 Verifica a hipótese do nulo @math{H_0: equal(median, 2.5)} contra a
913 alternativa @math{H_1: not equal(median, 2.5)}. Esse é um teste aproximado,
914 uma vez que ocorrem empates.
916 @c equivalent code for R:
917 @c y<-c(1.9,2.3,2.6,1.9,1.6,3.3,4.2,4,2.4,2.9,1.5,3,2.9,4.2,3.1)
918 @c wilcox.test(y,mu=2.5)
922 @c y:[1.9,2.3,2.6,1.9,1.6,3.3,4.2,4,2.4,2.9,1.5,3,2.9,4.2,3.1]$
923 @c test_signed_rank(y,median=2.5);
927 (%i2) y:[1.9,2.3,2.6,1.9,1.6,3.3,4.2,4,2.4,2.9,1.5,3,2.9,4.2,3.1]$
928 (%i3) test_signed_rank(y,median=2.5);
933 | method = Asymptotic test. Ties
935 (%o3) | hypotheses = H0: med = 2.5 , H1: med # 2.5
939 | distribution = [normal, 60.5, 17.58195097251724]
941 | p_value = .3628097734643669
952 @deffn {Função} test_rank_sum (@var{x1}, @var{x2})
953 @deffnx {Função} test_rank_sum (@var{x1}, @var{x2}, @var{opção_1})
955 Esse é o teste de Wilcoxon-Mann-Whitney para comparação das medianas de duas
956 populações contínuas. Os primeiros dois argumentos @var{x1} e @var{x2} são listas
957 ou matrizes colunas com os dados de duas amostras independentes. Executa aproximação
958 normal se quaisquer dos tamanhos de amostra for maior que 10, ou se houverem empates.
965 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
966 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
970 A saída da função @code{test_rank_sum} é um objeto @code{inference_result} do Maxima
971 com os seguintes resultados:
976 @code{'method}: procedimento de inferência.
979 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
982 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
985 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
988 @code{'p_value}: o valor de @math{p} do teste.
994 Verifica se populações possuem medianas similares. Tamanhos de amotra
995 são pequenos e é feito um teste exato.
997 @c equivalent code for R:
998 @c x <- c(12,15,17,38,42,10,23,35,28)
999 @c y <- c(21,18,25,14,52,65,40,43)
1004 @c x:[12,15,17,38,42,10,23,35,28]$
1005 @c y:[21,18,25,14,52,65,40,43]$
1006 @c test_rank_sum(x,y);
1009 (%i1) load("stats")$
1010 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1011 (%i3) y:[21,18,25,14,52,65,40,43]$
1012 (%i4) test_rank_sum(x,y);
1015 | method = Exact test
1017 | hypotheses = H0: med1 = med2 , H1: med1 # med2
1021 | distribution = [rank_sum, 9, 8]
1023 | p_value = .1995886466474702
1026 Agora, com grandes amostras e empates, o procedimento faz
1027 aproximação norma. A hipótese alternativa é
1028 @math{H_1: median1 < median2}.
1030 @c equivalent code for R:
1031 @c x <- c(39,42,35,13,10,23,15,20,17,27)
1032 @c y <- c(20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15)
1033 @c wilcox.test(x,y,alternative="less")
1037 @c x: [39,42,35,13,10,23,15,20,17,27]$
1038 @c y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1039 @c test_rank_sum(x,y,'alternative='less);
1042 (%i1) load("stats")$
1043 (%i2) x: [39,42,35,13,10,23,15,20,17,27]$
1044 (%i3) y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1045 (%i4) test_rank_sum(x,y,'alternative='less);
1048 | method = Asymptotic test. Ties
1050 | hypotheses = H0: med1 = med2 , H1: med1 < med2
1054 | distribution = [normal, 79.5, 18.95419580097078]
1056 | p_value = .05096985666598441
1067 @deffn {Função} test_normality (@var{x})
1069 Teste de Shapiro-Wilk para normalidade. O argumento @var{x} é uma lista de números, e o tamanho
1070 da amostra deve ser maior que 2 e menor ou igua a 5000, de outra forma, a função
1071 @code{test_normality} sinaliza com um erro.
1075 [1] Algorithm AS R94, Applied Statistics (1995), vol.44, no.4, 547-551
1077 A saída da função @code{test_normality} é um objeto @code{inference_result} do Maxima
1078 com os seguintes resultados:
1083 @code{'statistic}: valor do @var{W} estatístico.
1086 @code{'p_value}: valor de @math{p} sob a hipótese de normalidade.
1092 Verifica a normalidade de uma população, baseada em uma amostra de tamanho 9.
1094 @c equivalent code for R:
1095 @c x <- c(12,15,17,38,42,10,23,35,28)
1100 @c x:[12,15,17,38,42,10,23,35,28]$
1101 @c test_normality(x);
1104 (%i1) load("stats")$
1105 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1106 (%i3) test_normality(x);
1107 | SHAPIRO - WILK TEST
1109 (%o3) | statistic = .9251055695162436
1111 | p_value = .4361763918860381
1124 @deffn {Função} simple_linear_regression (@var{x})
1125 @deffnx {Função} simple_linear_regression (@var{x} @var{opção_1})
1127 Regressão linear simples, @math{y_i=a+b x_i+e_i}, onde os @math{e_i} são @math{N(0,sigma)}
1128 variáveis aleatórias independentes. O argumento @var{x} deve ser uma matriz de duas colunas ou uma lista de
1136 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; isso deve
1137 ser uma expressão que tome valores em (0,1).
1140 @code{'regressor}, o valor padrão é @code{'x}, nome da variável independente.
1144 A saída da função @code{simple_linear_regression} é um objeto @code{inference_result} do Maxima
1145 com os seguintes resultados:
1150 @code{'model}: a equação ajustada. Útil para fazer novas previsões. Veja exemplos abaixo.
1153 @code{'means}: média de duas variáveis pseudo-aleatórias.
1156 @code{'variances}: variâncias de ambas as variáveis.
1159 @code{'correlation}: coeficiente de correlação.
1162 @code{'adc}: coeficiente de determinação ajustado.
1165 @code{'a_estimation}: estimador do parâmetro @var{a}.
1168 @code{'a_conf_int}: intervalo de confidência do parâmetro @var{a}.
1171 @code{'b_estimation}: estimador do parâmetro @var{b}.
1174 @code{'b_conf_int}: intervalo de confidência do parâmetro @var{b}.
1177 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa sobre o parâmetro @var{b}.
1180 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
1183 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
1186 @code{'p_value}: o valor de @math{p} do teste sobre @var{b}.
1189 @code{'v_estimation}: estimador de variância imparcial, ou variância residual.
1192 @code{'v_conf_int}: intervalo de confidência da variância.
1195 @code{'cond_mean_conf_int}: intervalo de confidência paa a média condicionada. Veja exemplos abaixo.
1198 @code{'new_pred_conf_int}: intervalo de confidência para uma nova previsão. Veja exemplos abaixo.
1201 @code{'residuals}: lista de pares (previsão, resíduo), ordenados em relação às previsões.
1202 Útil para achar o melhor da análise de ajuste. Veja exemplos abaixo.
1206 Somente os itens 1, 4, 14, 9, 10, 11, 12, e 13 acima, nessa ordem, são mostrados por padrão. Os restantes
1207 escondem-se até que o usuário faça uso de funções @code{items_inference} e @code{take_inference}.
1211 Ajustando um modelo linear para uma amostras de duas variáveis. A entrada @code{%i4} monta p gráfico
1212 da amostra junto com a linha de regressão; a entrada @code{%i5}
1213 calcula @code{y} dado @code{x=113}; a média e o
1214 intervalo de confidência para uma nova previsão quando @code{x=113} são também calculados.
1218 @c s:[[125,140.7],[130,155.1],[135,160.3],[140,167.2],[145,169.8]]$
1219 @c z:simple_linear_regression(s,conflevel=0.99);
1220 @c plot2d([[discrete, s], take_inference(model,z)],
1222 @c [gnuplot_curve_styles, ["with points","with lines"]] )$
1223 @c take_inference(model,z), x=133;
1224 @c take_inference(means,z);
1225 @c take_inference(new_pred_conf_int,z), x=133;
1228 (%i1) load("stats")$
1229 (%i2) s:[[125,140.7],[130,155.1],[135,160.3],[140,167.2],[145,169.8]]$
1230 (%i3) z:simple_linear_regression(s,conflevel=0.99);
1231 | SIMPLE LINEAR REGRESSION
1233 | model = 1.405999999999985 x - 31.18999999999804
1235 | correlation = .9611685255255155
1237 | v_estimation = 13.57966666666665
1239 (%o3) | b_conf_int = [.04469633662525263, 2.767303663374718]
1241 | hypotheses = H0: b = 0 ,H1: b # 0
1243 | statistic = 6.032686683658114
1245 | distribution = [student_t, 3]
1247 | p_value = 0.0038059549413203
1248 (%i4) plot2d([[discrete, s], take_inference(model,z)],
1250 [gnuplot_curve_styles, ["with points","with lines"]] )$
1251 (%i5) take_inference(model,z), x=133;
1253 (%i6) take_inference(means,z);
1254 (%o6) [135.0, 158.62]
1255 (%i7) take_inference(new_pred_conf_int,z), x=133;
1256 (%o7) [132.0728595995113, 179.5431404004887]
1292 @node Funções e Variáveis Definidas para distribuições especiais, , Funções e Variáveis Definidas para stats, Top
1293 @section Funções e Variáveis Definidas para distribuições especiais
1296 @deffn {Função} pdf_signed_rank (@var{x}, @var{n})
1297 Função densidade de probabilidade da distribuição exata da
1298 estatística do rank sinalizado. O argumento @var{x} é um número
1299 real e @var{n} um inteiro positivo.
1301 Veja também @code{test_signed_rank}.
1304 @deffn {Função} cdf_signed_rank (@var{x}, @var{n})
1305 Função de densidade cumulativa da distribuição exata da
1306 estatística do rank sinalizado. O argumento @var{x} é um número
1307 real e @var{n} um inteiro positivo.
1309 Veja também @code{test_signed_rank}.
1312 @deffn {Função} pdf_rank_sum (@var{x}, @var{n}, @var{m})
1313 Função densidade de probabilidade da distribuição exata da
1314 estatística do somatório do rank. O argumento @var{x} é um número
1315 real e @var{n} e @var{m} são ambos inteiros positivos.
1317 Veja também @code{test_rank_sum}.
1320 @deffn {Função} cdf_rank_sum (@var{x}, @var{n}, @var{m})
1321 Função de densidade cumulativa da distribuição exata da
1322 estatística do somatório do rank. O argumento @var{x} é um número
1323 real e @var{n} e @var{m} são ambos inteiro positivos.
1325 Veja também @code{test_rank_sum}.