1 @c /stats.texi/1.4/Sat Jan 13 04:30:36 2007//
4 * Definições para inference_result::
5 * Definições para stats::
6 * Definições para distribuições especiais::
9 @node Introdução a stats, Definições para inference_result, Top, Top
10 @section Introdução a stats
13 O pacote @code{stats} contém um conjunto de procedimentos de inferência clássica
14 estatística e procedimentos de teste.
16 Todas essas funções retornam um objecto do Maxima chamado @code{inference_result} que contém
17 os resultados necessários para inferências de manipulação e tomada de decisões.
19 A variável global @code{stats_numer} controla se resultados são mostrados em
20 ponto flutuante ou simbólico e no formato racional; seu valor padrão é @code{true}
21 e os resultados são retornados no formato de ponto flutuante.
23 O pacote @code{descriptive} contém alguns utilitários para manipular estruturas de dados
24 (listas e matrizes); por exemplo, para extrair subamostras. O pacote @code{descriptive} também contém alguns
25 exemplos sobre como usar o pacote @code{numericalio} para ler dados a partir de ficheiro no formato texto
26 plano. Veja @code{descriptive} e @code{numericalio} para maiores detalhes.
28 O pacote @code{stats} precisa dos pacotes @code{descriptive}, @code{distrib} e
29 @code{inference_result}.
31 Para comentários, erros ou sugestões, por favor contate o autor em
33 @var{'mario AT edu DOT xunta DOT es'}.
36 @node Definições para inference_result, Definições para stats, Introdução a stats, Top
37 @section Definições para inference_result
39 @deffn {Função} inference_result (@var{título}, @var{valores}, @var{números})
41 Constrói um objecto @code{inference_result} do tipo retornado pelas
42 funções stats. O argumento @var{título} é uma
43 sequência de caracteres do Maxima co o nome do procedimento; @var{valores} é uma lissta com
44 elementos da forma @code{símbolo = valor} e @var{números} é uma lista
45 com números inteiros positivos no intervalo de um para @code{length(@var{valores})},
46 indicando que valores serão mostrados por padrão.
50 Este é um exemplo que mostras os resultados associados a um retángulo. O
51 título deste bojeto é a sequência de caraceteres @code{"Retângulo"}, o qual
52 armazena cinco resultados, a saber, @code{'base}, @code{'altura},
53 @code{'diagonal}, @code{'área} y @code{'perímetro}, porém só mostra
54 o primeiro, segundo, quinto e quarto resultado. O resultado @code{'diagonal} também
55 é armazenado neste objecto, no entanto não é mostrado por padrão; para se ter acesso
56 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 objecto @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 objecto @code{inference_result}.
120 O objecto @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 objecto @code{inference_result}, a função @code{take_inference} é
158 chamada com o objectivo de extrair alguma informação armazenada nesse objecto.
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 Definições para stats, Definições para distribuições especiais, Definições para inference_result, Top
216 @section Definições para stats
219 @defvr {Variável de opção} stats_numer
220 Valor por omissã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.
229 @deffn {Função} test_mean (@var{x})
230 @deffnx {Função} test_mean (@var{x}, @var{opção_1}, @var{opção_2}, ...)
232 Esse é o teste-@var{t} de média. O argumento @var{x} é uma lista ou uma matriz coluna
233 contendo uma amostra unidimensional. @code{test_mean} tamb;em executa um teste assintótico
234 baseado no @i{Teorema do Limite Central} se a opção @code{'asymptotic} for
242 @code{'mean}, o valor padrão é @code{0}, é o valor da média a ser verificado.
245 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
246 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
249 @code{'dev}, o valor padrão é @code{'unknown}, corresponde ao valor do desvio padrão quando esse valor de desvio padrão for
250 conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
253 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
254 ser uma expressão que toma um valor em (0,1).
257 @code{'asymptotic}, o valor padrão é @code{false}, indica se @code{test_mean} exeecuta um teste-@var{t} exato ou
258 um teste assintótico baseando-se no @i{Teorema do Limite Central};
259 valores válidos são @code{true} e @code{false}.
263 A saída da função @code{test_mean} é um objecto @code{inference_result} do Maxima
264 mostrando os seguintes resultados:
269 @code{'mean_estimate}: a média da amostra.
272 @code{'conf_level}: nível de confidência seleccionado pelo utilizador.
275 @code{'conf_interval}: intervalo de confidência para a média da população.
278 @code{'method}: procedimento de inferência.
281 @code{'hypotheses}: hipótese do nulo e hipótese alternativa a ser testada.
284 @code{'statistic}: valor da amostra estatística a ser usado para testar a hipótese do nulo.
287 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetro(s).
290 @code{'p_value}: valores de @math{p} do teste.
296 Executa um teste-@var{t} exato com variância desconhecida. A hipótese do nulo
297 é @math{H_0: mean=50} contra a alternativa unilatera @math{H_1: mean<50};
298 conforme os resultados, o valor de @math{p} é muito grande, não existem
299 evidências paa rejeitar @math{H_0}.
303 @c data: [78,64,35,45,45,75,43,74,42,42]$
304 @c test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
308 (%i2) data: [78,64,35,45,45,75,43,74,42,42]$
309 (%i3) test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
312 | mean_estimate = 54.3
316 | conf_interval = [minf, 61.51314273502712]
318 (%o3) | method = Exact t-test. Unknown variance.
320 | hypotheses = H0: mean = 50 , H1: mean < 50
322 | statistic = .8244705235071678
324 | distribution = [student_t, 9]
326 | p_value = .7845100411786889
329 Nesta ocasião Maxima executa um testte assintótico, baseado no @i{Teorema do Limite Central}.
330 A hipótese do nulo é @math{H_0: equal(mean, 50)} contra a alternativa de duas vias @math{H_1: not equal(mean, 50)};
331 conforme os resultados, o valor de @math{p} é muito pequeno, @math{H_0} pode ser rejeitado em
332 favor da alternativa @math{H_1}. Note que, como indicado pela componente @code{Method},
333 esse procedimento pode ser aplicado a grandes amostras.
337 @c test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
338 @c 98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
339 @c 45,51,123,54,151],
340 @c 'asymptotic=true,'mean=50);
344 (%i2) test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
345 98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
347 'asymptotic=true,'mean=50);
350 | mean_estimate = 74.88571428571429
354 | conf_interval = [57.72848600856194, 92.04294256286663]
356 (%o2) | method = Large sample z-test. Unknown variance.
358 | hypotheses = H0: mean = 50 , H1: mean # 50
360 | statistic = 2.842831192874313
362 | distribution = [normal, 0, 1]
364 | p_value = .004471474652002261
375 @deffn {Função} test_means_difference (@var{x1}, @var{x2})
376 @deffnx {Função} test_means_difference (@var{x1}, @var{x2}, @var{opção_1}, @var{opção_2}, ...)
378 Esse é o teste-@var{t} de diferença de médias entre duas amostras.
379 Os argumentos @var{x1} e @var{x2} são listas ou matrizes colunas
380 contendo duas amostras independentes. No caso de diferentes variâncias desconhecidas
381 (veja opções @code{'dev1}, @code{'dev2} e @code{'varequal} abaixo),
382 os graus de liberdade são calculados por meio da aproximação de Welch.
383 @code{test_means_difference} também executa um teste assintótico
384 baseado no @i{Teorema do Limite Central} se a opção @code{'asymptotic} for
385 escolhida para @code{true}.
394 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
395 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
398 @code{'dev1}, o valor padrão é @code{'unknown}, é o valor do desvio padrão
399 da amostra @var{x1} quando esse desvio for conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
402 @code{'dev2}, o valor padrão é @code{'unknown}, é o valor do desvio padrão
403 da amostra @var{x2} quando esse desvio for conhecido; valores válidos são: @code{'unknown} ou uma expressão positiva.
406 @code{'varequal}, o valor padrão é @code{false}, se variâncias podem serem consideradas como iguais ou não;
407 essa opção tem efeito somente quando @code{'dev1} e/ou @code{'dev2} forem @code{'unknown}.
410 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
411 ser uma expressão que toma valores em (0,1).
413 Nota de Tradução: (0,1) representa intervalo aberto.
416 @code{'asymptotic}, o valor padrão é @code{false}, indica se @code{test_means_difference} executa um teste-@var{t} exato ou
417 um teste assíntótico baseando-se no @i{Teorema do Limite Central};
418 valores válidos são @code{true} e @code{false}.
422 A saída da função @code{test_means_difference} é um objecto @code{inference_result} do Maxima
423 mostrando os seguintes resultados:
428 @code{'diff_estimate}: a diferença de médias estimadas.
431 @code{'conf_level}: nível de confidência seleccionado pelo utilizador.
434 @code{'conf_interval}: intervalo de confidência para a diferença de médias.
437 @code{'method}: procedimento de inferência.
440 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
443 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
446 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
449 @code{'p_value}: valor de @math{p} do teste.
455 A igualdade de médias é testada com duas pequenas amostras @var{x} e @var{y},
456 contra a alternativa @math{H_1: m_1>m_2}, sendo @math{m_1} e @math{m_2}
457 as médias das populações; variâncias são desconhecidas e supostamente admitidas para serem diferentes.
459 @c equivalent code for R:
460 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
461 @c y <- c(1.2,6.9,38.7,20.4,17.2)
462 @c t.test(x,y,alternative="greater")
466 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
467 @c y: [1.2,6.9,38.7,20.4,17.2]$
468 @c test_means_difference(x,y,'alternative='greater);
472 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
473 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
474 (%i4) test_means_difference(x,y,'alternative='greater);
475 | DIFFERENCE OF MEANS TEST
477 | diff_estimate = 20.31999999999999
481 | conf_interval = [- .04597417812882298, inf]
483 (%o4) | method = Exact t-test. Welch approx.
485 | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
487 | statistic = 1.838004300728477
489 | distribution = [student_t, 8.62758740184604]
491 | p_value = .05032746527991905
494 O mesmo teste que antes, mas agora as variâncias são admitidas serem supostamente
497 @c equivalent code for R:
498 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
499 @c y <- c(1.2,6.9,38.7,20.4,17.2)
500 @c t.test(x,y,var.equal=T,alternative="greater")
504 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
505 @c y: [1.2,6.9,38.7,20.4,17.2]$
506 @c test_means_difference(x,y,'alternative='greater,'varequal=true);
510 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
511 (%i3) y: matrix([1.2],[6.9],[38.7],[20.4],[17.2])$
512 (%i4) test_means_difference(x,y,'alternative='greater,'varequal=true);
513 | DIFFERENCE OF MEANS TEST
515 | diff_estimate = 20.31999999999999
519 | conf_interval = [- .7722627696897568, inf]
521 (%o4) | method = Exact t-test. Unknown equal variances
523 | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
525 | statistic = 1.765996124515009
527 | distribution = [student_t, 9]
529 | p_value = .05560320992529344
540 @deffn {Função} test_variance (@var{x})
541 @deffnx {Função} test_variance (@var{x}, @var{opção_1}, @var{opção_2}, ...)
543 Esse é o teste da variância @var{chi^2}. O argumento @var{x} é uma lista ou uma matriz coluna
544 contendo uma amostra unidimensional tomada entre a população normal.
551 @code{'mean}, o valor padrão é @code{'unknown}, é a média da população, quando for conhecida.
554 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
555 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
558 @code{'variance}, o valor padrão é @code{1}, isso é o valor (positivo) da variância a ser testado.
561 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; deve
562 ser uma expressão que toma valores em (0,1).
566 A saída da função @code{test_variance} está no objecto @code{inference_result} do Maxima
567 mostrando os seguintes resultados:
572 @code{'var_estimate}: a variância da amostra.
575 @code{'conf_level}: nível de confidência seleccionado pelo utilizador.
578 @code{'conf_interval}: intervalo de confidência para a variância da população.
581 @code{'method}: procedimento de inferência.
584 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
587 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
590 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
593 @code{'p_value}: o valor de @math{p} do teste.
599 Isso é testado se a variância de uma população com média desconhhecida
600 for igual ou maior que 200.
604 @c x: [203,229,215,220,223,233,208,228,20]$
605 @c test_variance(x,'alternative='greater,'variance=200);
609 (%i2) x: [203,229,215,220,223,233,208,228,209]$
610 (%i3) test_variance(x,'alternative='greater,'variance=200);
613 | var_estimate = 110.75
617 | conf_interval = [57.13433376937479, inf]
619 (%o3) | method = Variance Chi-square test. Unknown mean.
621 | hypotheses = H0: var = 200 , H1: var > 200
625 | distribution = [chi2, 8]
627 | p_value = .8163948512777689
638 @deffn {Função} test_variance_ratio (@var{x1}, @var{x2})
639 @deffnx {Função} test_variance_ratio (@var{x1}, @var{x2}, @var{opção_1}, @var{opção_2}, ...)
641 Isso é o teste @var{F} da razão de variância para duas populações normais.
642 Os argumentos @var{x1} e @var{x2} são listas ou matrizes colunas
643 contendo duas amostras independentes.
650 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
651 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
654 @code{'mean1}, o valor padrão é @code{'unknown}, quando for conhecida, isso é a média da
655 população da qual @var{x1} foi tomada.
658 @code{'mean2}, o valor padrão é @code{'unknown}, quando for conhecida, isso é a média da
659 população da qual @var{x2} foi tomada.
662 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência da
663 razão; deve ser uma expressão que tome valores em (0,1).
667 A saída da função @code{test_variance_ratio} é um objecto @code{inference_result} do Maxima
668 mostrando os seguintes resultados:
673 @code{'ratio_estimate}: a razão de variância da amostra.
676 @code{'conf_level}: nível de confidência seleccionado pelo utilizador.
679 @code{'conf_interval}: intervalo de confidência para a razão de variância.
682 @code{'method}: procedimento de inferência.
685 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
688 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
691 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
694 @code{'p_value}: o valor de @math{p} do teste.
701 a igualdade das variâncias de duas populações normais é verificado
702 contra a alternativa que a primeira é maior que a segunda.
704 @c equivalent code for R:
705 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
706 @c y <- c(1.2,6.9,38.7,20.4,17.2)
707 @c var.test(x,y,alternative="greater")
711 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
712 @c y: [1.2,6.9,38.7,20.4,17.2]$
713 @c test_variance_ratio(x,y,'alternative='greater);
717 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
718 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
719 (%i4) test_variance_ratio(x,y,'alternative='greater);
720 | VARIANCE RATIO TEST
722 | ratio_estimate = 2.316933391522034
726 | conf_interval = [.3703504689507268, inf]
728 (%o4) | method = Variance ratio F-test. Unknown means.
730 | hypotheses = H0: var1 = var2 , H1: var1 > var2
732 | statistic = 2.316933391522034
734 | distribution = [f, 5, 4]
736 | p_value = .2179269692254457
746 @deffn {Função} test_sign (@var{x})
747 @deffnx {Função} test_sign (@var{x}, @var{opção_1}, @var{opção_2}, ...)
749 Esse é o teste de sinal não paramétrico para a mediana de uma população contínua.
750 O argumento @var{x} é uma lista ou uma matriz coluna contendo uma amostra unidimensional.
757 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
758 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
761 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
765 A saída da função @code{test_sign} é um objecto @code{inference_result} do Maxima
766 mostrando os seguintes resultados:
771 @code{'med_estimate}: a mediana da amostra.
774 @code{'method}: procedimento de inferência.
777 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
780 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
783 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
786 @code{'p_value}: o valor de @math{p} do teste.
792 Verifica se a população da qual a amostra foi tomada tem mediana 6,
793 contra a alternativa @math{H_1: median > 6}.
797 @c x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
798 @c test_sign(x,'median=6,'alternative='greater);
802 (%i2) x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
803 (%i3) test_sign(x,'median=6,'alternative='greater);
808 | method = Non parametric sign test.
810 (%o3) | hypotheses = H0: median = 6 , H1: median > 6
814 | distribution = [binomial, 10, 0.5]
816 | p_value = .05468749999999989
829 @deffn {Função} test_signed_rank (@var{x})
830 @deffnx {Função} test_signed_rank (@var{x}, @var{opção_1}, @var{opção_2}, ...)
832 Esse é o teste de ranque sinalizado de Wilcoxon para fazer inferências sobre a mediana de uma
833 população contínua. O argumento @var{x} é uma lista ou uma matriz coluna
834 contendo uma amostra unidimensional. Executa uma aproximação normal se o
835 tamanho da amostra for maior que 20, ou se existirem zeros ou houverem empates.
837 Veja também @code{pdf_rank_test} e @code{cdf_rank_test}.
844 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
847 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
848 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
852 A saída da função @code{test_signed_rank} é um objecto @code{inference_result} do Maxima
853 com os seguintes resultados:
858 @code{'med_estimate}: a mediana da amostra.
861 @code{'method}: procedimento de inferência.
864 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
867 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
870 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
873 @code{'p_value}: o valor de @math{p} do teste.
879 Verifica a hipótese do nulo @math{H_0: median = 15} contra a
880 alternativa @math{H_1: median > 15}. Esse é um teste exato, ua vez que
883 @c equivalent code for R:
884 @c x <- c(17.1,15.9,13.7,13.4,15.5,17.6)
885 @c wilcox.test(x,mu=15,alternative="greater")
889 @c x: [17.1,15.9,13.7,13.4,15.5,17.6]$
890 @c test_signed_rank(x,median=15,alternative=greater);
894 (%i2) x: [17.1,15.9,13.7,13.4,15.5,17.6]$
895 (%i3) test_signed_rank(x,median=15,alternative=greater);
898 | med_estimate = 15.7
900 | method = Exact test
902 (%o3) | hypotheses = H0: med = 15 , H1: med > 15
906 | distribution = [signed_rank, 6]
911 Verifica a hipótese do nulo @math{H_0: equal(median, 2.5)} contra a
912 alternativa @math{H_1: not equal(median, 2.5)}. Esse é um teste aproximado,
913 uma vez que ocorrem empates.
915 @c equivalent code for R:
916 @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)
917 @c wilcox.test(y,mu=2.5)
921 @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]$
922 @c test_signed_rank(y,median=2.5);
926 (%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]$
927 (%i3) test_signed_rank(y,median=2.5);
932 | method = Asymptotic test. Ties
934 (%o3) | hypotheses = H0: med = 2.5 , H1: med # 2.5
938 | distribution = [normal, 60.5, 17.58195097251724]
940 | p_value = .3628097734643669
951 @deffn {Função} test_rank_sum (@var{x1}, @var{x2})
952 @deffnx {Função} test_rank_sum (@var{x1}, @var{x2}, @var{opção_1})
954 Esse é o teste de Wilcoxon-Mann-Whitney para comparação das medianas de duas
955 populações contínuas. Os primeiros dois argumentos @var{x1} e @var{x2} são listas
956 ou matrizes colunas com os dados de duas amostras independentes. Executa aproximação
957 normal se quaisquer dos tamanhos de amostra for maior que 10, ou se houverem empates.
964 @code{'alternative}, o valor padrão é @code{'twosided}, é a hipótese alternativa;
965 valores válidos são: @code{'twosided}, @code{'greater} e @code{'less}.
969 A saída da função @code{test_rank_sum} é um objecto @code{inference_result} do Maxima
970 com os seguintes resultados:
975 @code{'method}: procedimento de inferência.
978 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
981 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
984 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
987 @code{'p_value}: o valor de @math{p} do teste.
993 Verifica se populações possuem medianas similares. Tamanhos de amotra
994 são pequenos e é feito um teste exato.
996 @c equivalent code for R:
997 @c x <- c(12,15,17,38,42,10,23,35,28)
998 @c y <- c(21,18,25,14,52,65,40,43)
1003 @c x:[12,15,17,38,42,10,23,35,28]$
1004 @c y:[21,18,25,14,52,65,40,43]$
1005 @c test_rank_sum(x,y);
1008 (%i1) load("stats")$
1009 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1010 (%i3) y:[21,18,25,14,52,65,40,43]$
1011 (%i4) test_rank_sum(x,y);
1014 | method = Exact test
1016 | hypotheses = H0: med1 = med2 , H1: med1 # med2
1020 | distribution = [rank_sum, 9, 8]
1022 | p_value = .1995886466474702
1025 Agora, com grandes amostras e empates, o procedimento faz
1026 aproximação norma. A hipótese alternativa é
1027 @math{H_1: median1 < median2}.
1029 @c equivalent code for R:
1030 @c x <- c(39,42,35,13,10,23,15,20,17,27)
1031 @c y <- c(20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15)
1032 @c wilcox.test(x,y,alternative="less")
1036 @c x: [39,42,35,13,10,23,15,20,17,27]$
1037 @c y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1038 @c test_rank_sum(x,y,'alternative='less);
1041 (%i1) load("stats")$
1042 (%i2) x: [39,42,35,13,10,23,15,20,17,27]$
1043 (%i3) y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1044 (%i4) test_rank_sum(x,y,'alternative='less);
1047 | method = Asymptotic test. Ties
1049 | hypotheses = H0: med1 = med2 , H1: med1 < med2
1053 | distribution = [normal, 79.5, 18.95419580097078]
1055 | p_value = .05096985666598441
1066 @deffn {Função} test_normality (@var{x})
1068 Teste de Shapiro-Wilk para normalidade. O argumento @var{x} é uma lista de números, e o tamanho
1069 da amostra deve ser maior que 2 e menor ou igua a 5000, de outra forma, a função
1070 @code{test_normality} sinaliza com um erro.
1074 [1] Algorithm AS R94, Applied Statistics (1995), vol.44, no.4, 547-551
1076 A saída da função @code{test_normality} é um objecto @code{inference_result} do Maxima
1077 com os seguintes resultados:
1082 @code{'statistic}: valor do @var{W} estatístico.
1085 @code{'p_value}: valor de @math{p} sob a hipótese de normalidade.
1091 Verifica a normalidade de uma população, baseada em uma amostra de tamanho 9.
1093 @c equivalent code for R:
1094 @c x <- c(12,15,17,38,42,10,23,35,28)
1099 @c x:[12,15,17,38,42,10,23,35,28]$
1100 @c test_normality(x);
1103 (%i1) load("stats")$
1104 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1105 (%i3) test_normality(x);
1106 | SHAPIRO - WILK TEST
1108 (%o3) | statistic = .9251055695162436
1110 | p_value = .4361763918860381
1123 @deffn {Função} simple_linear_regression (@var{x})
1124 @deffnx {Função} simple_linear_regression (@var{x} @var{opção_1})
1126 Regressão linear simples, @math{y_i=a+b x_i+e_i}, onde os @math{e_i} são @math{N(0,sigma)}
1127 variáveis aleatórias independentes. O argumento @var{x} deve ser uma matriz de duas colunas ou uma lista de
1135 @code{'conflevel}, o valor padrão é @code{95/100}, nível de confidência para o intervalo de confidência; isso deve
1136 ser uma expressão que tome valores em (0,1).
1139 @code{'regressor}, o valor padrão é @code{'x}, nome da variável independente.
1143 A saída da função @code{simple_linear_regression} é um objecto @code{inference_result} do Maxima
1144 com os seguintes resultados:
1149 @code{'model}: a equação ajustada. Útil para fazer novas previsões. Veja exemplos abaixo.
1152 @code{'means}: média de duas variáveis pseudo-aleatórias.
1155 @code{'variances}: variâncias de ambas as variáveis.
1158 @code{'correlation}: coeficiente de correlação.
1161 @code{'adc}: coeficiente de determinação ajustado.
1164 @code{'a_estimation}: estimador do parâmetro @var{a}.
1167 @code{'a_conf_int}: intervalo de confidência do parâmetro @var{a}.
1170 @code{'b_estimation}: estimador do parâmetro @var{b}.
1173 @code{'b_conf_int}: intervalo de confidência do parâmetro @var{b}.
1176 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa sobre o parâmetro @var{b}.
1179 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
1182 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
1185 @code{'p_value}: o valor de @math{p} do teste sobre @var{b}.
1188 @code{'v_estimation}: estimador de variância imparcial, ou variância residual.
1191 @code{'v_conf_int}: intervalo de confidência da variância.
1194 @code{'cond_mean_conf_int}: intervalo de confidência paa a média condicionada. Veja exemplos abaixo.
1197 @code{'new_pred_conf_int}: intervalo de confidência para uma nova previsão. Veja exemplos abaixo.
1200 @code{'residuals}: lista de pares (previsão, resíduo), ordenados em relação às previsões.
1201 Útil para achar o melhor da análise de ajuste. Veja exemplos abaixo.
1205 Somente os itens 1, 4, 14, 9, 10, 11, 12, e 13 acima, nessa ordem, são mostrados por padrão. Os restantes
1206 escondem-se até que o utilizador faça uso de funções @code{items_inference} e @code{take_inference}.
1210 Ajustando um modelo linear para uma amostras de duas variáveis. A entrada @code{%i4} monta p gráfico
1211 da amostra junto com a linha de regressão; a entrada @code{%i5}
1212 calcula @code{y} dado @code{x=113}; a média e o
1213 intervalo de confidência para uma nova previsão quando @code{x=113} são também calculados.
1217 @c s:[[125,140.7],[130,155.1],[135,160.3],[140,167.2],[145,169.8]]$
1218 @c z:simple_linear_regression(s,conflevel=0.99);
1219 @c plot2d([[discrete, s], take_inference(model,z)],
1221 @c [gnuplot_curve_styles, ["with points","with lines"]] )$
1222 @c take_inference(model,z), x=133;
1223 @c take_inference(means,z);
1224 @c take_inference(new_pred_conf_int,z), x=133;
1227 (%i1) load("stats")$
1228 (%i2) s:[[125,140.7],[130,155.1],[135,160.3],[140,167.2],[145,169.8]]$
1229 (%i3) z:simple_linear_regression(s,conflevel=0.99);
1230 | SIMPLE LINEAR REGRESSION
1232 | model = 1.405999999999985 x - 31.18999999999804
1234 | correlation = .9611685255255155
1236 | v_estimation = 13.57966666666665
1238 (%o3) | b_conf_int = [.04469633662525263, 2.767303663374718]
1240 | hypotheses = H0: b = 0 ,H1: b # 0
1242 | statistic = 6.032686683658114
1244 | distribution = [student_t, 3]
1246 | p_value = 0.0038059549413203
1247 (%i4) plot2d([[discrete, s], take_inference(model,z)],
1249 [gnuplot_curve_styles, ["with points","with lines"]] )$
1250 (%i5) take_inference(model,z), x=133;
1252 (%i6) take_inference(means,z);
1253 (%o6) [135.0, 158.62]
1254 (%i7) take_inference(new_pred_conf_int,z), x=133;
1255 (%o7) [132.0728595995113, 179.5431404004887]
1291 @node Definições para distribuições especiais, , Definições para stats, Top
1292 @section Definições para distribuições especiais
1295 @deffn {Função} pdf_signed_rank (@var{x}, @var{n})
1296 Função densidade de probabilidade da distribuição exacta da
1297 estatística do rank sinalizado. O argumento @var{x} é um número
1298 real e @var{n} um inteiro positivo.
1300 Veja também @code{test_signed_rank}.
1303 @deffn {Função} cdf_signed_rank (@var{x}, @var{n})
1304 Função de densidade cumulativa da distribuição exacta da
1305 estatística do rank sinalizado. O argumento @var{x} é um número
1306 real e @var{n} um inteiro positivo.
1308 Veja também @code{test_signed_rank}.
1311 @deffn {Função} pdf_rank_sum (@var{x}, @var{n}, @var{m})
1312 Função densidade de probabilidade da distribuição exacta da
1313 estatística do somatório do rank. O argumento @var{x} é um número
1314 real e @var{n} e @var{m} são ambos inteiros positivos.
1316 Veja também @code{test_rank_sum}.
1319 @deffn {Função} cdf_rank_sum (@var{x}, @var{n}, @var{m})
1320 Função de densidade cumulativa da distribuição exacta da
1321 estatística do somatório do rank. O argumento @var{x} é um número
1322 real e @var{n} e @var{m} são ambos inteiro positivos.
1324 Veja também @code{test_rank_sum}.