Rename specvar integer-info to *integer-info*
[maxima.git] / doc / info / es / stats.texi
blob7a4caa8b38b41c1c985143f6d8d5a9326a1168f2
1 @c English version: 2012-08-06
2 @menu
3 * Introducción a stats::
4 * Funciones y variables para inference_result::
5 * Funciones y variables para stats::
6 * Funciones y variables para distribuciones especiales::
7 @end menu
9 @node Introducción a stats, Funciones y variables para inference_result, Top, Top
10 @section Introducción a stats
13 El paquete @code{stats} contiene procedimientos clásicos sobre inferencia
14 estadística y contraste de hipótesis.
16 Todas estas funciones devuelven un objeto Maxima de tipo @code{inference_result},
17 el cual contiene los resultados necesarios para hacer inferencias sobre la 
18 población y toma de decisiones.
20 La variable global @code{stats_numer} controla si los resultados deben darse
21 en formato decimal o simbólico y racional; su valor por defecto es @code{true},
22 por lo que el formato de salida es decimal.
24 El paquete @code{descriptive} contiene algunas utilidades para manipular 
25 estructuras de datos (listas y matrices); por ejemplo para extraer submuestras.
26 También contiene algunos ejemplos sobre cómo utilizar el paquete
27 @code{numericalio} para leer datos de ficheros en texto plano. Véanse
28 @code{descriptive} y @code{numericalio} para más detalles.
30 El paquete @code{stats} carga en memoria los paquetes @code{descriptive},
31 @code{distrib} y @code{inference_result}.
33 Para comentarios, errores o sugerencias, contáctese con el autor en
35 @var{'mario ARROBA edu PUNTO xunta PUNTO es'}.
38 @node Funciones y variables para inference_result, Funciones y variables para stats, Introducción a stats, Top
39 @section Funciones y variables para inference_result
42 @deffn {Función} inference_result (@var{title}, @var{values}, @var{numbers})
44 Construye un objeto @code{inference_result} del tipo devuelto por las funciones
45 estadísticas. El argumento @var{title} es una cadena con
46 el nombre del procedimiento; @var{values} es una lista con elementos de la
47 forma @code{symbol = value} y @var{numbers} es una lista con enteros positivos
48 desde uno hasta @code{length(@var{values})}, que indican qué valores serán
49 mostrados por defecto.
51 Ejemplo:
53 Este es un ejemplo que muestra los resultados asociados a un rectángulo. El
54 título de este objeto es la cadena @code{"Rectangle"}, el cual
55 almacena cinco resultados, a saber, @code{'base}, @code{'height}, 
56 @code{'diagonal}, @code{'area} y @code{'perimeter}, pero sólo muestra
57 el primero, segundo, quinto y cuarto. El resultado @code{'diagonal} también
58 se almacena en este objeto, pero no se muestra por defecto; para tener acceso
59 a este valor, hágase uso de la función @code{take_inference}.
61 @c ===beg===
62 @c load ("inference_result")$
63 @c b: 3$ h: 2$
64 @c inference_result("Rectangle",
65 @c                  ['base=b,
66 @c                   'height=h,
67 @c                   'diagonal=sqrt(b^2+h^2),
68 @c                   'area=b*h,
69 @c                   'perimeter=2*(b+h)],
70 @c                  [1,2,5,4] );
71 @c take_inference('diagonal,%);
72 @c ===end===
73 @example
74 (%i1) load("inference_result")$
75 (%i2) b: 3$ h: 2$
76 (%i3) inference_result("Rectangle",
77                         ['base=b,
78                          'height=h,
79                          'diagonal=sqrt(b^2+h^2),
80                          'area=b*h,
81                          'perimeter=2*(b+h)],
82                         [1,2,5,4] );
83                         |   Rectangle
84                         |
85                         |    base = 3
86                         |
87 (%o3)                   |   height = 2
88                         |
89                         | perimeter = 10
90                         |
91                         |    area = 6
92 (%i4) take_inference('diagonal,%);
93 (%o4)                        sqrt(13)
94 @end example
96 Véase también @code{take_inference}.
97 @end deffn
104 @deffn {Función} inferencep (@var{obj})
106 Devuelve @code{true} o @code{false}, dependiendo de que @var{obj} sea un
107 objeto de tipo @code{inference_result} o no.
109 @end deffn
116 @deffn {Función} items_inference (@var{obj})
118 Devuelve una lista con los nombres de los elementos almacenados en
119 @var{obj}, el cual debe ser un objeto de tipo @code{inference_result}.
121 Ejemplo:
123 El objeto @code{inference_result} almacena dos valores, cuyos nombres son @code{'pi} y @code{'e},
124 pero sólo se muestra el segundo. La función @code{items_inference} devuelve los nombres de 
125 todos los elementos almacenados, independientemente de que sean mostrados o no.
127 @c ===beg===
128 @c load ("inference_result")$
129 @c inference_result("Hi", ['pi=%pi,'e=%e],[2]);
130 @c items_inference(%);
131 @c ===end===
132 @example
133 (%i1) load("inference_result")$
134 (%i2) inference_result("Hi", ['pi=%pi,'e=%e],[2]);
135                             |   Hi
136 (%o2)                       |
137                             | e = %e
138 (%i3) items_inference(%);
139 (%o3)                        [pi, e]
140 @end example
141 @end deffn
149 @deffn {Función} take_inference (@var{n}, @var{obj})
150 @deffnx {Función} take_inference (@var{name}, @var{obj})
151 @deffnx {Función} take_inference (@var{list}, @var{obj})
153 Si @var{n} es un entero positivo, devuelve el @var{n}-ésimo
154 valor almacenado en @var{obj}; si el símbolo @var{name}
155 es el nombre de uno de los elementos almacenados, también
156 devuelve su valor. Si el primer elemento es una lista de números y/o 
157 símbolos, la función @code{take_inference}
158 devuelve una lista con los resultados correspondientes.
160 Ejemplo:
162 Dado un objeto @code{inference_result}, la función @code{take_inference}
163 es invocada para extraer cierta información almacenada en él.
165 @c ===beg===
166 @c load ("inference_result")$
167 @c b: 3$ h: 2$
168 @c sol:inference_result("Rectangle",
169 @c                      ['base=b,
170 @c                       'height=h,
171 @c                       'diagonal=sqrt(b^2+h^2),
172 @c                       'area=b*h,
173 @c                       'perimeter=2*(b+h)],
174 @c                      [1,2,5,4] );
175 @c take_inference('base,sol);
176 @c take_inference(5,sol);
177 @c take_inference([1,'diagonal],sol);
178 @c take_inference(items_inference(sol),sol);
179 @c ===end===
180 @example
181 (%i1) load("inference_result")$
182 (%i2) b: 3$ h: 2$
183 (%i3) sol: inference_result("Rectangle",
184                             ['base=b,
185                              'height=h,
186                              'diagonal=sqrt(b^2+h^2),
187                              'area=b*h,
188                              'perimeter=2*(b+h)],
189                             [1,2,5,4] );
190                         |   Rectangle
191                         |
192                         |    base = 3
193                         |
194 (%o3)                   |   height = 2
195                         |
196                         | perimeter = 10
197                         |
198                         |    area = 6
199 (%i4) take_inference('base,sol);
200 (%o4)                           3
201 (%i5) take_inference(5,sol);
202 (%o5)                          10
203 (%i6) take_inference([1,'diagonal],sol);
204 (%o6)                     [3, sqrt(13)]
205 (%i7) take_inference(items_inference(sol),sol);
206 (%o7)                [3, 2, sqrt(13), 6, 10]
207 @end example
209 Véanse también @code{inference_result} y @code{take_inference}.
210 @end deffn
218 @node Funciones y variables para stats, Funciones y variables para distribuciones especiales, Funciones y variables para inference_result, Top
219 @section Funciones y variables para stats
222 @defvr {Variable opcional} stats_numer
223 Valor por defecto: @code{true}
225 Cuando @code{stats_numer} vale @code{true}, las funciones de inferencia
226 estadística devuelven sus resultados en formato decimal de
227 coma flotante. Cuando vale @code{false}, los resultados se devuelven en
228 formato simbólico y racional.
229 @end defvr
232 @deffn {Función} test_mean (@var{x})
233 @deffnx {Función} test_mean (@var{x}, @var{options} ...)
235 Es el test @var{t} de la media. El argumento @var{x} es una lista o matriz
236 columna con los datos de una muestra unidimensional. También realiza el
237 test asintótico basado en el @i{Teorema Central del límite}
238 si se le asigna a la opción @code{'asymptotic} el valor @code{true}.
240 Opciones:
242 @itemize @bullet
244 @item
245 @code{'mean}, valor por defecto @code{0}, es el valor de la media a contrastar.
247 @item
248 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
249 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
251 @item
252 @code{'dev}, valor por defecto @code{'unknown}, este es el valor de la desviación
253 típica cuando se conoce; valores válidos son: @code{'unknown} o una
254 expresión con valor positivo.
256 @item
257 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el intervalo de confianza;
258 debe ser una expresión que tome un valor en el intervalo (0,1).
260 @item
261 @code{'asymptotic}, valor por defecto @code{false}, indica si debe realizar el test
262 exacto basado en la @var{t} de Student, o el asintótico basado en el
263 @i{Teorema Central del límite}; valores válidos son @code{true} y @code{false}.
265 @end itemize
267 El resultado devuelto por la función  @code{test_mean} es un objeto
268 @code{inference_result} con los siguientes apartados:
270 @enumerate
272 @item
273 @code{'mean_estimate}: la media muestral.
275 @item
276 @code{'conf_level}: nivel de confianza seleccionado por el usuario.
278 @item
279 @code{'conf_interval}: intervalo de confianza para la media poblacional.
281 @item
282 @code{'method}: procedimiento de inferencia.
284 @item
285 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
287 @item
288 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
290 @item
291 @code{'distribution}: distribución del estadístico de contraste, junto con su(s) parámetro(s).
293 @item
294 @code{'p_value}: @math{p}-valor del test.
296 @end enumerate
298 Ejemplos:
300 Realiza el contraste exacto @var{t} con varianza desconocida. La
301 hipótesis nula es @math{H_0: mean=50}, frente a la alternativa
302 unilátera @math{H_1: mean<50}; de acuerdo con los resultados,
303 no hay evidencia para rechazar @math{H_0}, pues el @math{p}-valor
304 es muy grande.
306 @c ===beg===
307 @c load ("stats")$
308 @c data: [78,64,35,45,45,75,43,74,42,42]$
309 @c test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
310 @c ===end===
311 @example
312 (%i1) load("stats")$
313 (%i2) data: [78,64,35,45,45,75,43,74,42,42]$
314 (%i3) test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
315           |                 MEAN TEST
316           |
317           |            mean_estimate = 54.3
318           |
319           |              conf_level = 0.9
320           |
321           | conf_interval = [minf, 61.51314273502712]
322           |
323 (%o3)     |  method = Exact t-test. Unknown variance.
324           |
325           | hypotheses = H0: mean = 50 , H1: mean < 50
326           |
327           |       statistic = .8244705235071678
328           |
329           |       distribution = [student_t, 9]
330           |
331           |        p_value = .7845100411786889
332 @end example
334 En esta ocasión Maxima realiza un test asintótico. La hipótesis
335 nula es @math{H_0: equal(mean, 50)} frente a la alternativa bilátera @math{H_1: not equal(mean, 50)};
336 de acuerdo con los resultados, @math{H_0} debe rechazarse en favor de
337 la alternativa @math{H_1}, pues el @math{p}-valor es muy pequeño. 
338 Nótese que, tal como indica la componente @code{Method}, este
339 procedimiento sólo puede aplicarse en muestras grandes.
341 @c ===beg===
342 @c load ("stats")$
343 @c test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
344 @c         98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
345 @c         45,51,123,54,151],
346 @c         'asymptotic=true,'mean=50);
347 @c ===end===
348 @example
349 (%i1) load("stats")$
350 (%i2) test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
351               98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
352               45,51,123,54,151],
353               'asymptotic=true,'mean=50);
354           |                       MEAN TEST
355           |
356           |           mean_estimate = 74.88571428571429
357           |
358           |                   conf_level = 0.95
359           |
360           | conf_interval = [57.72848600856194, 92.04294256286663]
361           |
362 (%o2)     |    method = Large sample z-test. Unknown variance.
363           |
364           |       hypotheses = H0: mean = 50 , H1: mean # 50
365           |
366           |             statistic = 2.842831192874313
367           |
368           |             distribution = [normal, 0, 1]
369           |
370           |             p_value = .004471474652002261
371 @end example
373 @end deffn
381 @deffn {Función} test_means_difference (@var{x1}, @var{x2})
382 @deffnx {Función} test_means_difference (@var{x1}, @var{x2}, @var{options} ...)
384 Este es el test @var{t} para la diferencia de medias con muestras.
385 Los argumentos @var{x1} y @var{x2} son listas o matrices columna
386 que contienen dos muestras independientes. En caso de varianzas
387 diferentes y desconocidas (véanse las opciones @code{'dev1},
388 @code{'dev2} y @code{'varequal} más abajo) los grados de libertad
389 se calculan mediante la aproximación de Welch.
390 También realiza el test asintótico basado en el
391 @i{Teorema Central del límite} si se le asigna a 
392 la opción @code{'asymptotic} el valor @code{true}.
394 Opciones:
396 @itemize @bullet
398 @item
400 @item
401 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
402 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
404 @item
405 @code{'dev1}, valor por defecto @code{'unknown}, es el valor de la desviación 
406 típica de la muestra @var{x1} cuando se conoce; valores válidos 
407 son: @code{'unknown} o una expresión positiva.
409 @item
410 @code{'dev2}, valor por defecto @code{'unknown}, es el valor de la desviación 
411 típica de la muestra @var{x2} cuando se conoce; valores válidos 
412 son: @code{'unknown} o una expresión positiva.
414 @item
415 @code{'varequal}, valor por defecto @code{false}, indica si las varianzas deben considerarse iguales o no; esta opción sólo toma efecto cuando @code{'dev1} y/o @code{'dev2} tienen el valor @code{'unknown}.
417 @item
418 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el
419 intervalo de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).
421 @item
422 @code{'asymptotic}, valor por defecto @code{false}, indica si debe realizar el test
423 exacto basado en la @var{t} de Student, o el asintótico basado en el
424 @i{Teorema Central del límite}; valores válidos son @code{true} y @code{false}.
426 @end itemize
428 El resultado devuelto por la función  @code{test_means_difference} es un objeto
429 @code{inference_result} con los siguientes apartados:
431 @enumerate
433 @item
434 @code{'diff_estimate}: el estimador de la diferencia de medias.
436 @item
437 @code{'conf_level}: nivel de confianza seleccionado por el usuario.
439 @item
440 @code{'conf_interval}: intervalo de confianza para la diferencia de medias.
442 @item
443 @code{'method}: procedimiento de inferencia.
445 @item
446 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
448 @item
449 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
451 @item
452 @code{'distribution}: distribución del estadístico de contraste, junto con su(s) parámetro(s).
454 @item
455 @code{'p_value}: @math{p}-valor del test.
457 @end enumerate
459 Ejemplos:
461 La igualdad de medias se contrasta con dos pequeñas muestras
462 @var{x} y @var{y}, contra la alternativa @math{H_1: m_1>m_2},
463 siendo @math{m_1} y @math{m_2} las medias poblacionales; las
464 varianzas son desconocidas y se supone que diferentes.
466 @c equivalent code for R:
467 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
468 @c y <- c(1.2,6.9,38.7,20.4,17.2)
469 @c t.test(x,y,alternative="greater")
471 @c ===beg===
472 @c load ("stats")$
473 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
474 @c y: [1.2,6.9,38.7,20.4,17.2]$
475 @c test_means_difference(x,y,'alternative='greater);
476 @c ===end===
477 @example
478 (%i1) load("stats")$
479 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
480 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
481 (%i4) test_means_difference(x,y,'alternative='greater);
482             |              DIFFERENCE OF MEANS TEST
483             |
484             |         diff_estimate = 20.31999999999999
485             |
486             |                 conf_level = 0.95
487             |
488             |    conf_interval = [- .04597417812882298, inf]
489             |
490 (%o4)       |        method = Exact t-test. Welch approx.
491             |
492             | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
493             |
494             |           statistic = 1.838004300728477
495             |
496             |    distribution = [student_t, 8.62758740184604]
497             |
498             |            p_value = .05032746527991905
499 @end example
501 El mismo test que antes, pero ahora se suponen las varianzas
502 iguales.
504 @c equivalent code for R:
505 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
506 @c y <- c(1.2,6.9,38.7,20.4,17.2)
507 @c t.test(x,y,var.equal=T,alternative="greater")
509 @c ===beg===
510 @c load ("stats")$
511 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
512 @c y: [1.2,6.9,38.7,20.4,17.2]$
513 @c test_means_difference(x,y,
514 @c                       'alternative='greater,
515 @c                       'varequal=true);
516 @c ===end===
517 @example
518 (%i1) load("stats")$
519 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
520 (%i3) y: matrix([1.2],[6.9],[38.7],[20.4],[17.2])$
521 (%i4) test_means_difference(x,y,
522                             'alternative='greater,
523                             'varequal=true);
524             |              DIFFERENCE OF MEANS TEST
525             |
526             |         diff_estimate = 20.31999999999999
527             |
528             |                 conf_level = 0.95
529             |
530             |     conf_interval = [- .7722627696897568, inf]
531             |
532 (%o4)       |   method = Exact t-test. Unknown equal variances
533             |
534             | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
535             |
536             |           statistic = 1.765996124515009
537             |
538             |           distribution = [student_t, 9]
539             |
540             |            p_value = .05560320992529344
541 @end example
543 @end deffn
551 @deffn {Función} test_variance (@var{x})
552 @deffnx {Función} test_variance (@var{x}, @var{options} ...)
554 Este es el test @var{chi^2} de la varianza. El argumento @var{x}
555 es una lista o matriz columna con los datos de una muestra unidimensional
556 extraída de una población normal.
558 Opciones:
560 @itemize @bullet
562 @item
563 @code{'mean}, valor por defecto @code{'unknown}, es la media de la población, si se conoce.
565 @item
566 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
567 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
569 @item
570 @code{'variance}, valor por defecto @code{1}, este es el valor (positivo) de la varianza a contrastar.
572 @item
573 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el intervalo de confianza;
574 debe ser una expresión que tome un valor en el intervalo (0,1).
576 @end itemize
578 El resultado devuelto por la función  @code{test_variance} es un objeto
579 @code{inference_result} con los siguientes apartados:
581 @enumerate
583 @item
584 @code{'var_estimate}: la varianza muestral.
586 @item
587 @code{'conf_level}: nivel de confianza seleccionado por el usuario.
589 @item
590 @code{'conf_interval}: intervalo de confianza para la varianza poblacional.
592 @item
593 @code{'method}: procedimiento de inferencia.
595 @item
596 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
598 @item
599 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
601 @item
602 @code{'distribution}: distribución del estadístico de contraste, junto con su parámetro.
604 @item
605 @code{'p_value}: @math{p}-valor del test.
607 @end enumerate
609 Ejemplos:
611 Se contrasta si la varianza de una población de media desconocida
612 es igual o mayor que 200.
614 @c ===beg===
615 @c load ("stats")$
616 @c x: [203,229,215,220,223,233,208,228,20]$
617 @c test_variance(x,'alternative='greater,'variance=200);
618 @c ===end===
619 @example
620 (%i1) load("stats")$
621 (%i2) x: [203,229,215,220,223,233,208,228,209]$
622 (%i3) test_variance(x,'alternative='greater,'variance=200);
623              |                  VARIANCE TEST
624              |
625              |              var_estimate = 110.75
626              |
627              |                conf_level = 0.95
628              |
629              |     conf_interval = [57.13433376937479, inf]
630              |
631 (%o3)        | method = Variance Chi-square test. Unknown mean.
632              |
633              |    hypotheses = H0: var = 200 , H1: var > 200
634              |
635              |                 statistic = 4.43
636              |
637              |             distribution = [chi2, 8]
638              |
639              |           p_value = .8163948512777689
640 @end example
642 @end deffn
650 @deffn {Función} test_variance_ratio (@var{x1}, @var{x2})
651 @deffnx {Función} test_variance_ratio (@var{x1}, @var{x2}, @var{options} ...)
653 Este es el test @var{F} del cociente de las varianzas para dos
654 poblaciones normales. Los argumentos @var{x1} y @var{x2} son listas
655 o matrices columna que contienen los datos de dos muestras 
656 independientes.
658 Opciones:
660 @itemize @bullet
662 @item
663 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
664 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
666 @item
667 @code{'mean1}, valor por defecto @code{'unknown}, es la media de la población de la
668 que procede @var{x1} cuando se conoce.
670 @item
671 @code{'mean2}, valor por defecto @code{'unknown}, es la media de la población de la
672 que procede @var{x2} cuando se conoce.
674 @item
675 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el intervalo
676 de confianza del cociente; debe ser una expresión que tome un valor en el intervalo (0,1).
678 @end itemize
680 El resultado devuelto por la función  @code{test_variance_ratio} es un objeto
681 @code{inference_result} con los siguientes resultados
683 @enumerate
685 @item
686 @code{'ratio_estimate}: el cociente de varianzas muestral.
688 @item
689 @code{'conf_level}: nivel de confianza seleccionado por el usuario.
691 @item
692 @code{'conf_interval}: intervalo de confianza para el cociente de varianzas.
694 @item
695 @code{'method}: procedimiento de inferencia.
697 @item
698 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
700 @item
701 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
703 @item
704 @code{'distribution}: distribución del estadístico de contraste, junto con sus parámetros.
706 @item
707 @code{'p_value}: @math{p}-valor del test.
709 @end enumerate
712 Ejemplos:
714 Se contrasta la igualdad de varianzas de dos poblaciones normales frente
715 a la alternativa de que la primera es mayor que la segunda.
717 @c equivalent code for R:
718 @c x <- c(20.4,62.5,61.3,44.2,11.1,23.7)
719 @c y <- c(1.2,6.9,38.7,20.4,17.2)
720 @c var.test(x,y,alternative="greater")
722 @c ===beg===
723 @c load ("stats")$
724 @c x: [20.4,62.5,61.3,44.2,11.1,23.7]$
725 @c y: [1.2,6.9,38.7,20.4,17.2]$
726 @c test_variance_ratio(x,y,'alternative='greater);
727 @c ===end===
728 @example
729 (%i1) load("stats")$
730 (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
731 (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
732 (%i4) test_variance_ratio(x,y,'alternative='greater);
733               |              VARIANCE RATIO TEST
734               |
735               |       ratio_estimate = 2.316933391522034
736               |
737               |               conf_level = 0.95
738               |
739               |    conf_interval = [.3703504689507268, inf]
740               |
741 (%o4)         | method = Variance ratio F-test. Unknown means.
742               |
743               | hypotheses = H0: var1 = var2 , H1: var1 > var2
744               |
745               |         statistic = 2.316933391522034
746               |
747               |            distribution = [f, 5, 4]
748               |
749               |          p_value = .2179269692254457
750 @end example
752 @end deffn
758 @deffn {Función} test_proportion (@var{x}, @var{n})
759 @deffnx {Función} test_proportion (@var{x}, @var{n}, @var{options} ...)
761 Inferencias sobre una proporción. El argumento @var{x} es el
762 número de éxitos observados en @var{n} pruebas de Bernoulli
763 con probabilidad desconocida.
765 Opciones:
767 @itemize @bullet
769 @item
770 @code{'proportion}, valor por defecto @code{1/2}, es el valor de la
771 probabilidad a contrastar.
773 @item
774 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
775 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
777 @item
778 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el intervalo
779 de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).
781 @item
782 @code{'asymptotic}, valor por defecto @code{false}, indica si debe realizar el test
783 exacto basado en la binomial, o el asintótico basado en el
784 @i{Teorema Central del límite}; valores válidos son @code{true} y @code{false}.
786 @item
787 @code{'correct}, valor por defecto @code{true}, indica si se aplica o no la
788 corrección de Yates.
790 @end itemize
792 El resultado devuelto por la función @code{test_proportion} es un objeto
793 @code{inference_result} con los siguientes apartados:
795 @enumerate
797 @item
798 @code{'sample_proportion}: proporción muestral.
800 @item
801 @code{'conf_level}: nivel de confianza seleccionado.
803 @item
804 @code{'conf_interval}: intervalo de confianza de Wilson para la proporción.
806 @item
807 @code{'method}: procedimiento de inferencia.
809 @item
810 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
812 @item
813 @code{'statistic}: valor del estadístico de contraste utilizado
814 para probar la hipótesis.
816 @item
817 @code{'distribution}: distribución del estadístico de contraste, junto con sus parámetros.
819 @item
820 @code{'p_value}: @math{p}-valor del test.
822 @end enumerate
824 Ejemplos:
826 Realiza un contraste exacto. La hipótesis nula es @math{H_0: p=1/2} 
827 y la alternativa unilátera es @math{H_1: p<1/2}.
829 @c ===beg===
830 @c load ("stats")$
831 @c test_proportion(45, 103, alternative = less);
832 @c ===end===
833 @example
834 (%i1) load("stats")$
835 (%i2) test_proportion(45, 103, alternative = less);
836          |            PROPORTION TEST              
837          |                                         
838          | sample_proportion = .4368932038834951   
839          |                                         
840          |           conf_level = 0.95             
841          |                                         
842          | conf_interval = [0, 0.522714149150231]  
843          |                                         
844 (%o2)    |     method = Exact binomial test.       
845          |                                         
846          | hypotheses = H0: p = 0.5 , H1: p < 0.5  
847          |                                         
848          |             statistic = 45              
849          |                                         
850          |  distribution = [binomial, 103, 0.5]    
851          |                                         
852          |      p_value = .1184509388901454 
853 @end example
855 Un contraste asintótico bilátero. El nivel de confianza es 99/100.
857 @c ===beg===
858 @c load ("stats")$
859 @c fpprintprec:7$
860 @c test_proportion(45, 103, 
861 @c               conflevel = 99/100, asymptotic=true);
862 @c ===end===
863 @example
864 (%i1) load("stats")$
865 (%i2) fpprintprec:7$
866 (%i3) test_proportion(45, 103, 
867                   conflevel = 99/100, asymptotic=true);
868       |                 PROPORTION TEST                  
869       |                                                  
870       |           sample_proportion = .43689             
871       |                                                  
872       |                conf_level = 0.99                 
873       |                                                  
874       |        conf_interval = [.31422, .56749]          
875       |                                                  
876 (%o3) | method = Asympthotic test with Yates correction. 
877       |                                                  
878       |     hypotheses = H0: p = 0.5 , H1: p # 0.5       
879       |                                                  
880       |               statistic = .43689                 
881       |                                                  
882       |      distribution = [normal, 0.5, .048872]       
883       |                                                  
884       |                p_value = .19662
885 @end example
887 @end deffn
895 @deffn {Función} test_proportions_difference (@var{x1}, @var{n1}, @var{x2}, @var{n2})
896 @deffnx {Función} test_proportions_difference (@var{x1}, @var{n1}, @var{x2}, @var{n2}, @var{options} ...)
898 Inferencias sobre la diferencia de dos proporciones. El argumento @var{x1} 
899 es el número de éxitos en @var{n1} experimentos de Bernoulli en la
900 primera población y @var{x2} y @var{n2} son los valores correspondientes
901 para la segunda población. Las muestras son independientes y el contraste
902 es asintótico.
904 Opciones:
906 @itemize @bullet
908 @item
909 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
910 valores válidos son:: @code{'twosided} (@code{p1 # p2}), @code{'greater} (@code{p1 > p2})
911 and @code{'less} (@code{p1 < p2}).
913 @item
914 @code{'conflevel}, valor por defecto @code{95/100}, nivel de confianza para el intervalo
915 de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).
917 @item
918 @code{'correct}, valor por defecto @code{true}, indica si se aplica o no la
919 corrección de Yates.
921 @end itemize
923 El resultado devuelto por la función @code{test_proportions_difference} es un objeto
924 @code{inference_result} con los siguientes apartados:
926 @enumerate
928 @item
929 @code{'proportions}: lista con las dos proporciones muestrales.
931 @item
932 @code{'conf_level}: nivel de confianza seleccionado.
934 @item
935 @code{'conf_interval}: intervalo de confianza para la diferencia de proporciones @code{p1 - p2}.
937 @item
938 @code{'method}: procedimiento de inferencia y mensaje de aviso en caso de que
939 alguno de los tamaños muestrales sea menor de 10.
941 @item
942 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
944 @item
945 @code{'statistic}: valor del estadístico de contraste utilizado
946 para probar la hipótesis.
948 @item
949 @code{'distribution}: distribución del estadístico de contraste, junto con sus parámetros.
951 @item
952 @code{'p_value}: @math{p}-valor del test.
954 @end enumerate
956 Ejemplos:
958 Una máquina produce 10 piezas defectuosas en un lote de 250.
959 Después de ciertas tareas de mantenimiento, produce 4 piezas
960 defectuosas de un lote de 150. A fin de saber si la tarea de 
961 mantenimiento produjo alguna mejora, se contrasta la hipótesis
962 nula @code{H0:p1=p2} contra la alternativa @code{H0:p1>p2},
963 donde @code{p1} y @code{p2} son las probabilidades de que un
964 artículo producido por la máquina sea defectuoso,
965 antes y después de la reparación. De acuerdo con el p valor, no hay
966 evidencia suficiente para aceptar la alternativa.
968 @c ===beg===
969 @c load ("stats")$
970 @c fpprintprec:7$
971 @c test_proportions_difference(10, 250, 4, 150,
972 @c                             alternative = greater);
973 @c ===end===
974 @example
975 (%i1) load("stats")$
976 (%i2) fpprintprec:7$
977 (%i3) test_proportions_difference(10, 250, 4, 150,
978                                 alternative = greater);
979       |       DIFFERENCE OF PROPORTIONS TEST         
980       |                                              
981       |       proportions = [0.04, .02666667]        
982       |                                              
983       |              conf_level = 0.95               
984       |                                              
985       |      conf_interval = [- .02172761, 1]        
986       |                                              
987 (%o3) | method = Asymptotic test. Yates correction.  
988       |                                              
989       |   hypotheses = H0: p1 = p2 , H1: p1 > p2     
990       |                                              
991       |            statistic = .01333333             
992       |                                              
993       |    distribution = [normal, 0, .01898069]     
994       |                                              
995       |             p_value = .2411936 
996 @end example
998 Desviación típica exacta de la
999 distribución normal asintótica con datos
1000 desconocidos.
1002 @c ===beg===
1003 @c load("stats")$
1004 @c stats_numer: false$
1005 @c sol: test_proportions_difference(x1,n1,x2,n2)$
1006 @c last(take_inference('distribution,sol));
1007 @c ===end===
1008 @example
1009 (%i1) load("stats")$
1010 (%i2) stats_numer: false$
1011 (%i3) sol: test_proportions_difference(x1,n1,x2,n2)$
1012 (%i4) last(take_inference('distribution,sol));
1013                1    1                  x2 + x1
1014               (-- + --) (x2 + x1) (1 - -------)
1015                n2   n1                 n2 + n1
1016 (%o4)    sqrt(---------------------------------)
1017                            n2 + n1
1018 @end example
1020 @end deffn
1028 @deffn {Función} test_sign (@var{x})
1029 @deffnx {Función} test_sign (@var{x}, @var{options} ...)
1031 Este es el test no paramétrico de los signos para contrastes
1032 sobre la mediana de una población continua. El argumento @var{x}
1033 es una lista o matriz columna que contiene los datos de una muestra
1034 unidimensional.
1036 Opciones:
1038 @itemize @bullet
1040 @item
1041 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
1042 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
1044 @item
1045 @code{'median}, valor por defecto @code{0}, es el valor de la mediana a contrastar.
1047 @end itemize
1049 El resultado devuelto por la función @code{test_sign} es un objeto
1050 @code{inference_result} con los siguientes apartados:
1052 @enumerate
1054 @item
1055 @code{'med_estimate}: la mediana muestral.
1057 @item
1058 @code{'method}: procedimiento de inferencia.
1060 @item
1061 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
1063 @item
1064 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
1066 @item
1067 @code{'distribution}: distribución del estadístico de contraste, junto con sus parámetros.
1069 @item
1070 @code{'p_value}: @math{p}-valor del test.
1072 @end enumerate
1074 Ejemplos:
1076 Contrasta si la mediana de la población de la que se ha extraido
1077 la muestra es 6, frente a la alternativa @math{H_1: median > 6}.
1079 @c ===beg===
1080 @c load ("stats")$
1081 @c x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
1082 @c test_sign(x,'median=6,'alternative='greater);
1083 @c ===end===
1084 @example
1085 (%i1) load("stats")$
1086 (%i2) x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
1087 (%i3) test_sign(x,'median=6,'alternative='greater);
1088                |                  SIGN TEST
1089                |
1090                |              med_estimate = 5.1
1091                |
1092                |      method = Non parametric sign test.
1093                |
1094 (%o3)          | hypotheses = H0: median = 6 , H1: median > 6
1095                |
1096                |                statistic = 7
1097                |
1098                |      distribution = [binomial, 10, 0.5]
1099                |
1100                |         p_value = .05468749999999989
1101 @end example
1103 @end deffn
1113 @deffn {Función} test_signed_rank (@var{x})
1114 @deffnx {Función} test_signed_rank (@var{x}, @var{options} ...)
1116 Este el test de los rangos signados de Wilcoxon para hacer inferencias sobre
1117 la mediana de una población continua. El argumento @var{x} es una lista
1118 o matriz columna que contiene los datos de una muestra unidimensional.
1119 Realiza la aproximación normal si el tamaño muestral es mayor que 20,
1120 o si en la muestra aparece algún cero o hay empates.
1122 Véanse también @code{pdf_rank_test} y @code{cdf_rank_test}.
1125 Opciones:
1127 @itemize @bullet
1129 @item
1130 @code{'median}, valor por defecto @code{0}, es el valor de la mediana a ser contrastado.
1132 @item
1133 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
1134 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
1136 @end itemize
1138 El resultado devuelto por la función  @code{test_signed_rank} es
1139 un objeto @code{inference_result} con los siguientes apartados:
1141 @enumerate
1143 @item
1144 @code{'med_estimate}: la mediana muestral.
1146 @item
1147 @code{'method}: procedimiento de inferencia.
1149 @item
1150 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
1152 @item
1153 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
1155 @item
1156 @code{'distribution}: distribución del estadístico de contraste, junto con su(s) parámetro(s).
1158 @item
1159 @code{'p_value}: @math{p}-valor del test.
1161 @end enumerate
1163 Ejemplos:
1165 Contrasta la hipótesis nula @math{H_0: median = 15} frente 
1166 a la alternativa @math{H_1: median > 15}. Este test es exacto, 
1167 puesto que no hay empates.
1170 @c equivalent code for R:
1171 @c x <- c(17.1,15.9,13.7,13.4,15.5,17.6)
1172 @c wilcox.test(x,mu=15,alternative="greater")
1174 @c ===beg===
1175 @c load ("stats")$
1176 @c x: [17.1,15.9,13.7,13.4,15.5,17.6]$
1177 @c test_signed_rank(x,median=15,alternative=greater);
1178 @c ===end===
1179 @example
1180 (%i1) load("stats")$
1181 (%i2) x: [17.1,15.9,13.7,13.4,15.5,17.6]$
1182 (%i3) test_signed_rank(x,median=15,alternative=greater);
1183                  |             SIGNED RANK TEST
1184                  |
1185                  |           med_estimate = 15.7
1186                  |
1187                  |           method = Exact test
1188                  |
1189 (%o3)            | hypotheses = H0: med = 15 , H1: med > 15
1190                  |
1191                  |              statistic = 14
1192                  |
1193                  |     distribution = [signed_rank, 6]
1194                  |
1195                  |            p_value = 0.28125
1196 @end example
1198 Contrasta la hipótesis nula @math{H_0: equal(median, 2.5)} frente 
1199 a la alternativa @math{H_1: not equal(median, 2.5)}. Este es un test asintótico,
1200 debido a la presencia de empates.
1202 @c equivalent code for R:
1203 @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)
1204 @c wilcox.test(y,mu=2.5)
1206 @c ===beg===
1207 @c load ("stats")$
1208 @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]$
1209 @c test_signed_rank(y,median=2.5);
1210 @c ===end===
1211 @example
1212 (%i1) load("stats")$
1213 (%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]$
1214 (%i3) test_signed_rank(y,median=2.5);
1215              |                 SIGNED RANK TEST
1216              |
1217              |                med_estimate = 2.9
1218              |
1219              |          method = Asymptotic test. Ties
1220              |
1221 (%o3)        |    hypotheses = H0: med = 2.5 , H1: med # 2.5
1222              |
1223              |                 statistic = 76.5
1224              |
1225              | distribution = [normal, 60.5, 17.58195097251724]
1226              |
1227              |           p_value = .3628097734643669
1228 @end example
1230 @end deffn
1238 @deffn {Función} test_rank_sum (@var{x1}, @var{x2})
1239 @deffnx {Función} test_rank_sum (@var{x1}, @var{x2}, @var{option})
1241 Este es el test de Wilcoxon-Mann-Whitney para comparar las medianas
1242 de dos poblaciones continuas. Los dos primeros argumentos @var{x1}
1243 y @var{x2} son listas o matrices columna con los datos de dos
1244 muestras independientes. Realiza la aproximación normal si
1245 alguna de las muestras tiene tamaño mayor que 10, o si hay
1246 empates.
1249 Opción:
1251 @itemize @bullet
1253 @item
1254 @code{'alternative}, valor por defecto @code{'twosided}, es la hipótesis alternativa;
1255 valores válidos son: @code{'twosided}, @code{'greater} y @code{'less}.
1257 @end itemize
1259 El resultado devuelto por la función  @code{test_rank_sum}
1260 es un objeto @code{inference_result} con los siguientes apartados:
1262 @enumerate
1264 @item
1265 @code{'method}: procedimiento de inferencia.
1267 @item
1268 @code{'hypotheses}: hipótesis nula y alternativa a ser contrastada.
1270 @item
1271 @code{'statistic}: valor del estadístico de contraste utilizado para probar la hipótesis.
1273 @item
1274 @code{'distribution}: distribución del estadístico de contraste, junto con sus parámetros.
1276 @item
1277 @code{'p_value}: @math{p}-valor del test.
1279 @end enumerate
1281 Ejemplos:
1283 Contrasta si dos poblaciones tiene medianas similares. Al ser los tamaños
1284 muestrales pequeños, se realiza el test exacto.
1286 @c equivalent code for R:
1287 @c x <- c(12,15,17,38,42,10,23,35,28)
1288 @c y <- c(21,18,25,14,52,65,40,43)
1289 @c wilcox.test(x,y)
1291 @c ===beg===
1292 @c load ("stats")$
1293 @c x:[12,15,17,38,42,10,23,35,28]$
1294 @c y:[21,18,25,14,52,65,40,43]$
1295 @c test_rank_sum(x,y);
1296 @c ===end===
1297 @example
1298 (%i1) load("stats")$
1299 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1300 (%i3) y:[21,18,25,14,52,65,40,43]$
1301 (%i4) test_rank_sum(x,y);
1302               |                 RANK SUM TEST
1303               |
1304               |              method = Exact test
1305               |
1306               | hypotheses = H0: med1 = med2 , H1: med1 # med2
1307 (%o4)         |
1308               |                 statistic = 22
1309               |
1310               |        distribution = [rank_sum, 9, 8]
1311               |
1312               |          p_value = .1995886466474702
1313 @end example
1315 Ahora, con muestras mayores y empates, el procedimiento
1316 realiza la aproximación normal. La hipótesis
1317 alternativa es @math{H_1: median1 < median2}.
1319 @c equivalent code for R:
1320 @c x <- c(39,42,35,13,10,23,15,20,17,27)
1321 @c y <- c(20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15)
1322 @c wilcox.test(x,y,alternative="less")
1324 @c ===beg===
1325 @c load ("stats")$
1326 @c x: [39,42,35,13,10,23,15,20,17,27]$
1327 @c y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1328 @c test_rank_sum(x,y,'alternative='less);
1329 @c ===end===
1330 @example
1331 (%i1) load("stats")$
1332 (%i2) x: [39,42,35,13,10,23,15,20,17,27]$
1333 (%i3) y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
1334 (%i4) test_rank_sum(x,y,'alternative='less);
1335              |                  RANK SUM TEST
1336              |
1337              |          method = Asymptotic test. Ties
1338              |
1339              |  hypotheses = H0: med1 = med2 , H1: med1 < med2
1340 (%o4)        |
1341              |                 statistic = 48.5
1342              |
1343              | distribution = [normal, 79.5, 18.95419580097078]
1344              |
1345              |           p_value = .05096985666598441
1346 @end example
1348 @end deffn
1356 @deffn {Función} test_normality (@var{x})
1358 Test de Shapiro-Wilk para el contraste de normalidad. El argumento
1359 @var{x} es una lista de números, con tamaño muestral mayor que 2
1360 y menor o igual que 5000; bajo cualesquiera otras condiciones, la
1361 función @code{test_normality} emite un mensaje de error.
1363 Referencia:
1365   [1] Algorithm AS R94, Applied Statistics (1995), vol.44, no.4, 547-551
1367 El resultado devuelto por la función @code{test_normality} es
1368 un objeto @code{inference_result} con los siguientes apartados:
1371 @enumerate
1373 @item
1374 @code{'statistic}: valor del estadístico @var{W}.
1376 @item
1377 @code{'p_value}: @math{p}-valor bajo la hipótesis de normalidad.
1379 @end enumerate
1381 Ejemplos:
1383 Contrasta la normalidad de una población a partir de una muestra
1384 de tamaño 9.
1386 @c equivalent code for R:
1387 @c x <- c(12,15,17,38,42,10,23,35,28)
1388 @c shapiro.test(x)
1390 @c ===beg===
1391 @c load ("stats")$
1392 @c x:[12,15,17,38,42,10,23,35,28]$
1393 @c test_normality(x);
1394 @c ===end===
1395 @example
1396 (%i1) load("stats")$
1397 (%i2) x:[12,15,17,38,42,10,23,35,28]$
1398 (%i3) test_normality(x);
1399                        |      SHAPIRO - WILK TEST
1400                        |
1401 (%o3)                  | statistic = .9251055695162436
1402                        |
1403                        |  p_value = .4361763918860381
1404 @end example
1406 @end deffn
1416 @deffn {Función} linear_regression (@var{x})
1417 @deffnx {Función} linear_regression (@var{x} @var{option})
1419 Regresión lineal múltiple, 
1420 @math{y_i = b0 + b1*x_1i + b2*x_2i + ... + bk*x_ki + u_i},
1421 donde @math{u_i} son variables aleatorias independientes 
1422 @math{N(0,sigma)}. El argumento @var{x} debe ser una matriz 
1423 con más de una columna. La última columna se considera
1424 que son las respuestas (@math{y_i}).
1426 Opción:
1428 @itemize @bullet
1430 @item
1431 @code{'conflevel}, valor por defecto @code{95/100}, nivel de
1432 confianza para los intervalos de confianza; debe ser una expresión 
1433 que tome un valor en el intervalo (0,1).
1434 @end itemize
1436 El resultado devuelto por la función @code{linear_regression} es
1437 un objeto @code{inference_result} de Maxima con los siguientes campos:
1439 @enumerate
1441 @item
1442 @code{'b_estimation}: estimadores de los coeficientes de regresión.
1444 @item
1445 @code{'b_covariances}: matriz de covarianzas de los estimadores
1446 de los coeficientes de regresión.
1448 @item
1449 @code{b_conf_int}: intervalos de confianza para los coeficientes de regresión.
1451 @item
1452 @code{b_statistics}: estadísticos para los contrastes
1453 de los coeficientes.
1455 @item
1456 @code{b_p_values}: p-valores para los contrastes de los coeficientes.
1458 @item
1459 @code{b_distribution}: distribución de probabilidad para
1460 los contrastes de los coeficientes.
1462 @item
1463 @code{v_estimation}: estimador insesgado de la varianza.
1465 @item
1466 @code{v_conf_int}: intervalo de confianza de la varianza.
1468 @item
1469 @code{v_distribution}: distribución de probabilidad para
1470 el contraste de la varianza.
1472 @item
1473 @code{residuals}: residuos.
1475 @item
1476 @code{adc}: coeficiente de determinación ajustado.
1478 @item
1479 @code{aic}: Criterio de información de Akaike.
1481 @item
1482 @code{bic}: Criterio de información de Bayes.
1484 @end enumerate
1486 Solamente los apartados 1, 4, 5, 6, 7, 8, 9 y 11, en este orden, 
1487 se muestran por defecto. El resto permanecen ocultos hasta que
1488 el usuario haga uso de las funciones @code{items_inference}
1489 y @code{take_inference}.
1491 Ejemplo:
1493 Ajustando un modelo lineal a una muestra tridimensional. La 
1494 última columna se considera que son las respuestas (@math{y_i}).
1496 @c ===beg===
1497 @c load ("stats")$
1498 @c X:matrix(
1499 @c    [58,111,64],[84,131,78],[78,158,83],
1500 @c    [81,147,88],[82,121,89],[102,165,99],
1501 @c    [85,174,101],[102,169,102])$
1502 @c fpprintprec: 4$
1503 @c res: linear_regression(X);
1504 @c items_inference(res);
1505 @c take_inference('b_covariances, res);
1506 @c take_inference('bic, res);
1507 @c load("draw")$
1508 @c draw2d(
1509 @c    points_joined = true,
1510 @c    grid = true,
1511 @c    points(take_inference('residuals, res)) )$
1512 @c ===end===
1513 @example
1514 (%i2) load("stats")$
1515 (%i3) X:matrix(
1516     [58,111,64],[84,131,78],[78,158,83],
1517     [81,147,88],[82,121,89],[102,165,99],
1518     [85,174,101],[102,169,102])$
1519 (%i4) fpprintprec: 4$
1520 (%i5) res: linear_regression(X);
1521              |       LINEAR REGRESSION MODEL         
1522              |                                       
1523              | b_estimation = [9.054, .5203, .2397]  
1524              |                                       
1525              | b_statistics = [.6051, 2.246, 1.74]   
1526              |                                       
1527              | b_p_values = [.5715, .07466, .1423]   
1528              |                                       
1529 (%o5)        |   b_distribution = [student_t, 5]     
1530              |                                       
1531              |         v_estimation = 35.27          
1532              |                                       
1533              |     v_conf_int = [13.74, 212.2]       
1534              |                                       
1535              |      v_distribution = [chi2, 5]       
1536              |                                       
1537              |             adc = .7922               
1538 (%i6) items_inference(res);
1539 (%o6) [b_estimation, b_covariances, b_conf_int, b_statistics, 
1540 b_p_values, b_distribution, v_estimation, v_conf_int, 
1541 v_distribution, residuals, adc, aic, bic]
1542 (%i7) take_inference('b_covariances, res);
1543                   [  223.9    - 1.12   - .8532  ]
1544                   [                             ]
1545 (%o7)             [ - 1.12    .05367   - .02305 ]
1546                   [                             ]
1547                   [ - .8532  - .02305   .01898  ]
1548 (%i8) take_inference('bic, res);
1549 (%o8)                          30.98
1550 (%i9) load("draw")$
1551 (%i10) draw2d(
1552     points_joined = true,
1553     grid = true,
1554     points(take_inference('residuals, res)) )$
1555 @end example
1556 @end deffn
1563 @node Funciones y variables para distribuciones especiales, , Funciones y variables para stats, Top
1564 @section Funciones y variables para distribuciones especiales
1567 @deffn {Función} pdf_signed_rank (@var{x}, @var{n})
1568 Función de densidad de probabilidad de la distribución exacta
1569 del estadístico de contraste del test de los
1570 rangos signados. El argumento @var{x} es un número real y
1571 @var{n} un entero positivo.
1573 Véase también @code{test_signed_rank}.
1574 @end deffn
1576 @deffn {Función} cdf_signed_rank (@var{x}, @var{n})
1577 Función de probabilidad acumulada de la distribución exacta
1578 del estadístico de contraste del test de los
1579 rangos signados. El argumento @var{x} es un número real y
1580 @var{n} un entero positivo.
1582 Véase también @code{test_signed_rank}.
1583 @end deffn
1585 @deffn {Función} pdf_rank_sum (@var{x}, @var{n}, @var{m})
1586 Función de densidad de probabilidad de la distribución exacta
1587 del estadístico de contraste de Wilcoxon-Mann-Whitney.
1588 El argumento @var{x} es un número real y
1589 @var{n} y @var{m} son ambos enteros positivos.
1591 Véase también @code{test_rank_sum}.
1592 @end deffn
1594 @deffn {Función} cdf_rank_sum (@var{x}, @var{n}, @var{m})
1595 Función de probabilidad acumulada de la distribución exacta
1596 del estadístico de contraste de Wilcoxon-Mann-Whitney.
1597 El argumento @var{x} es un número real y
1598 @var{n} y @var{m} son ambos enteros positivos.
1600 Véase también @code{test_rank_sum}.
1601 @end deffn