In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / doc / info / pt_BR / stats.texi
blob2f57dd542df3907548c486ed1c4c00a52d771c62
1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /stats.texi/1.5/Sat Jun  2 00:13:33 2007//
3 @menu
4 * Introdução a stats::
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::
8 @end menu
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.
49 Exemplo:
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}.
58 @c ===beg===
59 @c load ("inference_result")$
60 @c b: 3$ h: 2$
61 @c inference_result("Retângulo",
62 @c                  ['base=b,
63 @c                   'altura=h,
64 @c                   'diagonal=sqrt(b^2+h^2),
65 @c                   'area=b*h,
66 @c                   'perímetro=2*(b+h)],
67 @c                  [1,2,5,4] );
68 @c take_inference('diagonal,%);
69 @c ===end===
70 @example
71 (%i1) load("inference_result")$
72 (%i2) b: 3$ h: 2$
73 (%i3) inference_result("Retângulo",
74                         ['base=b,
75                          'altura=h,
76                          'diagonal=sqrt(b^2+h^2),
77                          'área=b*h,
78                          'perímetro=2*(b+h)],
79                         [1,2,5,4] );
80                         |   Retângulo
81                         |
82                         |    base = 3
83                         |
84 (%o3)                   |   altura = 2
85                         |
86                         | perímetro = 10
87                         |
88                         |    area = 6
89 (%i4) take_inference('diagonal,%);
90 (%o4)                        sqrt(13)
91 @end example
93 Veja também @code{take_inference}.
94 @end deffn
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.
106 @end deffn
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}.
118 Exemplo:
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.
124 @c ===beg===
125 @c load ("inference_result")$
126 @c inference_result("Hi", ['pi=%pi,'e=%e],[2]);
127 @c items_inference(%);
128 @c ===end===
129 @example
130 (%i1) load("inference_result")$
131 (%i2) inference_result("Hi", ['pi=%pi,'e=%e],[2]);
132                             |   Hi
133 (%o2)                       |
134                             | e = %e
135 (%i3) items_inference(%);
136 (%o3)                        [pi, e]
137 @end example
138 @end deffn
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.
155 Exemplo:
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.
160 @c ===beg===
161 @c load ("inference_result")$
162 @c b: 3$ h: 2$
163 @c sol:inference_result("Retângulo",
164 @c                      ['base=b,
165 @c                       'altura=h,
166 @c                       'diagonal=sqrt(b^2+h^2),
167 @c                       'area=b*h,
168 @c                       'perímetro=2*(b+h)],
169 @c                      [1,2,5,4] );
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);
174 @c ===end===
175 @example
176 (%i1) load("inference_result")$
177 (%i2) b: 3$ h: 2$
178 (%i3) sol: inference_result("Retângulo",
179                             ['base=b,
180                              'altura=h,
181                              'diagonal=sqrt(b^2+h^2),
182                              'area=b*h,
183                              'perímetro=2*(b+h)],
184                             [1,2,5,4] );
185                         |   Retângulo
186                         |
187                         |    base = 3
188                         |
189 (%o3)                   |   altura = 2
190                         |
191                         | perímetro = 10
192                         |
193                         |    area = 6
194 (%i4) take_inference('base,sol);
195 (%o4)                           3
196 (%i5) take_inference(5,sol);
197 (%o5)                          10
198 (%i6) take_inference([1,'diagonal],sol);
199 (%o6)                     [3, sqrt(13)]
200 (%i7) take_inference(items_inference(sol),sol);
201 (%o7)                [3, 2, sqrt(13), 6, 10]
202 @end example
204 Veja também @code{inference_result} e @code{take_inference}.
205 @end deffn
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.
226 @end defvr
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
236 @code{true}.
238 Opções:
240 @itemize @bullet
242 @item
243 @code{'mean}, o valor padrão é @code{0}, é o valor da média a ser verificado.
245 @item
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}.
249 @item
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.
253 @item
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).
257 @item
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}.
262 @end itemize
264 A saída da função @code{test_mean} é um objeto @code{inference_result} do Maxima
265 mostrando os seguintes resultados:
267 @enumerate
269 @item
270 @code{'mean_estimate}: a média da amostra.
272 @item
273 @code{'conf_level}: nível de confidência selecionado pelo usuário.
275 @item
276 @code{'conf_interval}: intervalo de confidência para a média da população.
278 @item
279 @code{'method}: procedimento de inferência.
281 @item
282 @code{'hypotheses}: hipótese do nulo e hipótese alternativa a ser testada.
284 @item
285 @code{'statistic}: valor da amostra estatística a ser usado para testar a hipótese do nulo.
287 @item
288 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetro(s).
290 @item
291 @code{'p_value}: valores de @math{p} do teste.
293 @end enumerate
295 Exemplos:
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}.
302 @c ===beg===
303 @c load ("stats")$
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);
306 @c ===end===
307 @example
308 (%i1) load("stats")$
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);
311           |                 MEAN TEST
312           |
313           |            mean_estimate = 54.3
314           |
315           |              conf_level = 0.9
316           |
317           | conf_interval = [minf, 61.51314273502712]
318           |
319 (%o3)     |  method = Exact t-test. Unknown variance.
320           |
321           | hypotheses = H0: mean = 50 , H1: mean < 50
322           |
323           |       statistic = .8244705235071678
324           |
325           |       distribution = [student_t, 9]
326           |
327           |        p_value = .7845100411786889
328 @end example
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.
336 @c ===beg===
337 @c load ("stats")$
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);
342 @c ===end===
343 @example
344 (%i1) load("stats")$
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,
347               45,51,123,54,151],
348               'asymptotic=true,'mean=50);
349           |                       MEAN TEST
350           |
351           |           mean_estimate = 74.88571428571429
352           |
353           |                   conf_level = 0.95
354           |
355           | conf_interval = [57.72848600856194, 92.04294256286663]
356           |
357 (%o2)     |    method = Large sample z-test. Unknown variance.
358           |
359           |       hypotheses = H0: mean = 50 , H1: mean # 50
360           |
361           |             statistic = 2.842831192874313
362           |
363           |             distribution = [normal, 0, 1]
364           |
365           |             p_value = .004471474652002261
366 @end example
368 @end deffn
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}.
388 Opções:
390 @itemize @bullet
392 @item
394 @item
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}.
398 @item
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.
402 @item
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.
406 @item
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}.
410 @item
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.
416 @item
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}.
421 @end itemize
423 A saída da função @code{test_means_difference} é um objeto @code{inference_result} do Maxima
424 mostrando os seguintes resultados:
426 @enumerate
428 @item
429 @code{'diff_estimate}: a diferença de médias estimadas.
431 @item
432 @code{'conf_level}: nível de confidência selecionado pelo usuário.
434 @item
435 @code{'conf_interval}: intervalo de confidência para a diferença de médias.
437 @item
438 @code{'method}: procedimento de inferência.
440 @item
441 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
443 @item
444 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
446 @item
447 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
449 @item
450 @code{'p_value}: valor de @math{p} do teste.
452 @end enumerate
454 Exemplos:
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")
465 @c ===beg===
466 @c load ("stats")$
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);
470 @c ===end===
471 @example
472 (%i1) load("stats")$
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
477             |
478             |         diff_estimate = 20.31999999999999
479             |
480             |                 conf_level = 0.95
481             |
482             |    conf_interval = [- .04597417812882298, inf]
483             |
484 (%o4)       |        method = Exact t-test. Welch approx.
485             |
486             | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
487             |
488             |           statistic = 1.838004300728477
489             |
490             |    distribution = [student_t, 8.62758740184604]
491             |
492             |            p_value = .05032746527991905
493 @end example
495 O mesmo teste que antes, mas agora as variâncias são admitidas serem supostamente
496 iguais.
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")
503 @c ===beg===
504 @c load ("stats")$
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);
508 @c ===end===
509 @example
510 (%i1) load("stats")$
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
515             |
516             |         diff_estimate = 20.31999999999999
517             |
518             |                 conf_level = 0.95
519             |
520             |     conf_interval = [- .7722627696897568, inf]
521             |
522 (%o4)       |   method = Exact t-test. Unknown equal variances
523             |
524             | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
525             |
526             |           statistic = 1.765996124515009
527             |
528             |           distribution = [student_t, 9]
529             |
530             |            p_value = .05560320992529344
531 @end example
533 @end deffn
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.
547 Opções:
549 @itemize @bullet
551 @item
552 @code{'mean}, o valor padrão é @code{'unknown}, é a média da população, quando for conhecida.
554 @item
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}.
558 @item
559 @code{'variance}, o valor padrão é @code{1}, isso é o valor (positivo) da variância a ser testado.
561 @item
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).
565 @end itemize
567 A saída da função @code{test_variance} está no objeto @code{inference_result} do Maxima
568 mostrando os seguintes resultados:
570 @enumerate
572 @item
573 @code{'var_estimate}: a variância da amostra.
575 @item
576 @code{'conf_level}: nível de confidência selecionado pelo usuário.
578 @item
579 @code{'conf_interval}: intervalo de confidência para a variância da população.
581 @item
582 @code{'method}: procedimento de inferência.
584 @item
585 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
587 @item
588 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
590 @item
591 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
593 @item
594 @code{'p_value}: o valor de @math{p} do teste.
596 @end enumerate
598 Exemplos:
600 Isso é testado se a variância de uma população com média desconhhecida
601 for igual ou maior que 200.
603 @c ===beg===
604 @c load ("stats")$
605 @c x: [203,229,215,220,223,233,208,228,20]$
606 @c test_variance(x,'alternative='greater,'variance=200);
607 @c ===end===
608 @example
609 (%i1) load("stats")$
610 (%i2) x: [203,229,215,220,223,233,208,228,209]$
611 (%i3) test_variance(x,'alternative='greater,'variance=200);
612              |                  VARIANCE TEST
613              |
614              |              var_estimate = 110.75
615              |
616              |                conf_level = 0.95
617              |
618              |     conf_interval = [57.13433376937479, inf]
619              |
620 (%o3)        | method = Variance Chi-square test. Unknown mean.
621              |
622              |    hypotheses = H0: var = 200 , H1: var > 200
623              |
624              |                 statistic = 4.43
625              |
626              |             distribution = [chi2, 8]
627              |
628              |           p_value = .8163948512777689
629 @end example
631 @end deffn
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.
646 Opções:
648 @itemize @bullet
650 @item
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}.
654 @item
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.
658 @item
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.
662 @item
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).
666 @end itemize
668 A saída da função @code{test_variance_ratio} é um objeto @code{inference_result} do Maxima
669 mostrando os seguintes resultados:
671 @enumerate
673 @item
674 @code{'ratio_estimate}: a razão de variância da amostra.
676 @item
677 @code{'conf_level}: nível de confidência selecionado pelo usuário.
679 @item
680 @code{'conf_interval}: intervalo de confidência para a razão de variância.
682 @item
683 @code{'method}: procedimento de inferência.
685 @item
686 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
688 @item
689 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
691 @item
692 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
694 @item
695 @code{'p_value}: o valor de @math{p} do teste.
697 @end enumerate
700 Exemplos:
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")
710 @c ===beg===
711 @c load ("stats")$
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);
715 @c ===end===
716 @example
717 (%i1) load("stats")$
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
722               |
723               |       ratio_estimate = 2.316933391522034
724               |
725               |               conf_level = 0.95
726               |
727               |    conf_interval = [.3703504689507268, inf]
728               |
729 (%o4)         | method = Variance ratio F-test. Unknown means.
730               |
731               | hypotheses = H0: var1 = var2 , H1: var1 > var2
732               |
733               |         statistic = 2.316933391522034
734               |
735               |            distribution = [f, 5, 4]
736               |
737               |          p_value = .2179269692254457
738 @end example
740 @end deffn
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.
753 Opções:
755 @itemize @bullet
757 @item
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}.
761 @item
762 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
764 @end itemize
766 A saída da função @code{test_sign} é um objeto @code{inference_result} do Maxima
767 mostrando os seguintes resultados:
769 @enumerate
771 @item
772 @code{'med_estimate}: a mediana da amostra.
774 @item
775 @code{'method}: procedimento de inferência.
777 @item
778 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
780 @item
781 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
783 @item
784 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
786 @item
787 @code{'p_value}: o valor de @math{p} do teste.
789 @end enumerate
791 Exemplos:
793 Verifica se a população da qual a amostra foi tomada tem mediana 6, 
794 contra a alternativa @math{H_1: median > 6}.
796 @c ===beg===
797 @c load ("stats")$
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);
800 @c ===end===
801 @example
802 (%i1) load("stats")$
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);
805                |                  SIGN TEST
806                |
807                |              med_estimate = 5.1
808                |
809                |      method = Non parametric sign test.
810                |
811 (%o3)          | hypotheses = H0: median = 6 , H1: median > 6
812                |
813                |                statistic = 7
814                |
815                |      distribution = [binomial, 10, 0.5]
816                |
817                |         p_value = .05468749999999989
818 @end example
820 @end deffn
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}.
840 Opções:
842 @itemize @bullet
844 @item
845 @code{'median}, o valor padrão é @code{0}, é o valor da mediana a ser verificado.
847 @item
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}.
851 @end itemize
853 A saída da função @code{test_signed_rank} é um objeto @code{inference_result} do Maxima
854 com os seguintes resultados:
856 @enumerate
858 @item
859 @code{'med_estimate}: a mediana da amostra.
861 @item
862 @code{'method}: procedimento de inferência.
864 @item
865 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
867 @item
868 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
870 @item
871 @code{'distribution}: distribuição da amostra estatística, juntamente com seu(s) parâmetro(s).
873 @item
874 @code{'p_value}: o valor de @math{p} do teste.
876 @end enumerate
878 Exemplos:
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
882 não exite empates.
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")
888 @c ===beg===
889 @c load ("stats")$
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);
892 @c ===end===
893 @example
894 (%i1) load("stats")$
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);
897                  |             SIGNED RANK TEST
898                  |
899                  |           med_estimate = 15.7
900                  |
901                  |           method = Exact test
902                  |
903 (%o3)            | hypotheses = H0: med = 15 , H1: med > 15
904                  |
905                  |              statistic = 14
906                  |
907                  |     distribution = [signed_rank, 6]
908                  |
909                  |            p_value = 0.28125
910 @end example
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)
920 @c ===beg===
921 @c load ("stats")$
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);
924 @c ===end===
925 @example
926 (%i1) load("stats")$
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);
929              |                 SIGNED RANK TEST
930              |
931              |                med_estimate = 2.9
932              |
933              |          method = Asymptotic test. Ties
934              |
935 (%o3)        |    hypotheses = H0: med = 2.5 , H1: med # 2.5
936              |
937              |                 statistic = 76.5
938              |
939              | distribution = [normal, 60.5, 17.58195097251724]
940              |
941              |           p_value = .3628097734643669
942 @end example
944 @end deffn
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.
960 Opção:
962 @itemize @bullet
964 @item
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}.
968 @end itemize
970 A saída da função @code{test_rank_sum} é um objeto @code{inference_result} do Maxima
971 com os seguintes resultados:
973 @enumerate
975 @item
976 @code{'method}: procedimento de inferência.
978 @item
979 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa a serem testadas.
981 @item
982 @code{'statistic}: valor da amostra estatística usada para testar a hipótese do nulo.
984 @item
985 @code{'distribution}: distribuição da amostra estatística, juntamente com seus parâmetros.
987 @item
988 @code{'p_value}: o valor de @math{p} do teste.
990 @end enumerate
992 Exemplos:
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)
1000 @c wilcox.test(x,y)
1002 @c ===beg===
1003 @c load ("stats")$
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);
1007 @c ===end===
1008 @example
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);
1013               |                 RANK SUM TEST
1014               |
1015               |              method = Exact test
1016               |
1017               | hypotheses = H0: med1 = med2 , H1: med1 # med2
1018 (%o4)         |
1019               |                 statistic = 22
1020               |
1021               |        distribution = [rank_sum, 9, 8]
1022               |
1023               |          p_value = .1995886466474702
1024 @end example
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")
1035 @c ===beg===
1036 @c load ("stats")$
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);
1040 @c ===end===
1041 @example
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);
1046              |                  RANK SUM TEST
1047              |
1048              |          method = Asymptotic test. Ties
1049              |
1050              |  hypotheses = H0: med1 = med2 , H1: med1 < med2
1051 (%o4)        |
1052              |                 statistic = 48.5
1053              |
1054              | distribution = [normal, 79.5, 18.95419580097078]
1055              |
1056              |           p_value = .05096985666598441
1057 @end example
1059 @end deffn
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.
1073 Referência:
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:
1080 @enumerate
1082 @item
1083 @code{'statistic}: valor do @var{W} estatístico.
1085 @item
1086 @code{'p_value}: valor de @math{p} sob a hipótese de normalidade.
1088 @end enumerate
1090 Exemplos:
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)
1096 @c shapiro.test(x)
1098 @c ===beg===
1099 @c load ("stats")$
1100 @c x:[12,15,17,38,42,10,23,35,28]$
1101 @c test_normality(x);
1102 @c ===end===
1103 @example
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
1108                        |
1109 (%o3)                  | statistic = .9251055695162436
1110                        |
1111                        |  p_value = .4361763918860381
1112 @end example
1114 @end deffn
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
1129 pares.
1131 Opções:
1133 @itemize @bullet
1135 @item
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).
1139 @item
1140 @code{'regressor}, o valor padrão é @code{'x}, nome da variável independente.
1142 @end itemize
1144 A saída da função @code{simple_linear_regression} é um objeto @code{inference_result} do Maxima
1145 com os seguintes resultados:
1147 @enumerate
1149 @item
1150 @code{'model}: a equação ajustada. Útil para fazer novas previsões. Veja exemplos abaixo.
1152 @item
1153 @code{'means}: média de duas variáveis pseudo-aleatórias.
1155 @item
1156 @code{'variances}: variâncias de ambas as variáveis.
1158 @item
1159 @code{'correlation}: coeficiente de correlação.
1161 @item
1162 @code{'adc}: coeficiente de determinação ajustado.
1164 @item
1165 @code{'a_estimation}: estimador do parâmetro @var{a}.
1167 @item
1168 @code{'a_conf_int}: intervalo de confidência do parâmetro @var{a}.
1170 @item
1171 @code{'b_estimation}: estimador do parâmetro @var{b}.
1173 @item
1174 @code{'b_conf_int}: intervalo de confidência do parâmetro @var{b}.
1176 @item
1177 @code{'hypotheses}: a hipótese do nulo e a hipótese alternativa sobre o parâmetro @var{b}.
1179 @item
1180 @code{'statistic}: valor da amostra estatística usado para testar a hipótese do nulo.
1182 @item
1183 @code{'distribution}: distribuição da amostra estatística, juntamente com seu parâmetro.
1185 @item
1186 @code{'p_value}: o valor de @math{p} do teste sobre @var{b}.
1188 @item
1189 @code{'v_estimation}: estimador de variância imparcial, ou variância residual.
1191 @item
1192 @code{'v_conf_int}: intervalo de confidência da variância.
1194 @item
1195 @code{'cond_mean_conf_int}: intervalo de confidência paa a média condicionada. Veja exemplos abaixo.
1197 @item
1198 @code{'new_pred_conf_int}: intervalo de confidência para uma nova previsão. Veja exemplos abaixo.
1200 @item
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.
1204 @end enumerate
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}.
1209 Exemplo:
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.
1216 @c ===beg===
1217 @c load ("stats")$
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)],
1221 @c           [x,120,150],
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;
1226 @c ===end===
1227 @example
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
1232            |
1233            |   model = 1.405999999999985 x - 31.18999999999804
1234            |
1235            |           correlation = .9611685255255155
1236            |
1237            |           v_estimation = 13.57966666666665
1238            |
1239 (%o3)      | b_conf_int = [.04469633662525263, 2.767303663374718]
1240            |
1241            |          hypotheses = H0: b = 0 ,H1: b # 0
1242            |
1243            |            statistic = 6.032686683658114
1244            |
1245            |            distribution = [student_t, 3]
1246            |
1247            |             p_value = 0.0038059549413203
1248 (%i4) plot2d([[discrete, s], take_inference(model,z)],
1249               [x,120,150],
1250               [gnuplot_curve_styles, ["with points","with lines"]] )$
1251 (%i5) take_inference(model,z), x=133;
1252 (%o5)                         155.808
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]
1257 @end example
1259 @end deffn
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}.
1302 @end deffn
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}.
1310 @end deffn
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}.
1318 @end deffn
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}.
1326 @end deffn