Introducción a stats
====================

El paquete stats contiene procedimientos clásicos sobre inferencia estadística y contraste de hipótesis.

Todas estas funciones devuelven un objeto Maxima de tipo inference_result, el cual contiene los resultados necesarios para hacer inferencias sobre la población y toma de decisiones.

La variable global stats_numer controla si los resultados deben darse en formato decimal o simbólico y racional; su valor por defecto es true, por lo que el formato de salida es decimal.

El paquete descriptive contiene algunas utilidades para manipular estructuras de datos (listas y matrices); por ejemplo para extraer submuestras. También contiene algunos ejemplos sobre cómo utilizar el paquete numericalio para leer datos de ficheros en texto plano. Véanse descriptive y numericalio para más detalles.

El paquete stats carga en memoria los paquetes descriptive, distrib y inference_result.

Para comentarios, errores o sugerencias, contáctese con el autor en

'MARIO ARROBA EDU PUNTO XUNTA PUNTO ES'.

Funciones y variables para inference_result
===========================================

 -- Función: inference_result (TITLE, VALUES, NUMBERS)

     Construye un objeto inference_result del tipo devuelto por las funciones estadísticas. El argumento TITLE es una cadena de Maxima con el nombre del procedimiento; VALUES es una lista con elementos de la forma symbol = value y NUMBERS es una lista con enteros positivos desde uno hasta length(VALUES), que indican qué valores serán mostrados por defecto.

     Ejemplo:

     Este es un ejemplo que muestra los resultados asociados a un rectángulo. El título de este objeto es la cadena "Rectangle", el cual almacena cinco resultados, a saber, 'base, 'height, 'diagonal, 'area y 'perimeter, pero sólo muestra el primero, segundo, quinto y cuarto. El resultado 'diagonal también se almacena en este objeto, pero no se muestra por defecto; para tener acceso a este valor, hágase uso de la función take_inference.

          (%i1) load(inference_result)$
          (%i2) b: 3$ h: 2$
          (%i3) inference_result("Rectangle",
                                  ['base=b,
                                   'height=h,
                                   'diagonal=sqrt(b^2+h^2),
                                   'area=b*h,
                                   'perimeter=2*(b+h)],
                                  [1,2,5,4] );
                                  |   Rectangle
                                  |
                                  |    base = 3
                                  |
          (%o3)                   |   height = 2
                                  |
                                  | perimeter = 10
                                  |
                                  |    area = 6
          (%i4) take_inference('diagonal,%);
          (%o4)                        sqrt(13)

     Véase también take_inference.

 -- Función: inferencep (OBJ)

     Devuelve true o false, dependiendo de que OBJ sea un objeto de tipo inference_result o no.

 -- Función: items_inference (OBJ)

     Devuelve una lista con los nombres de los elementos almacenados en OBJ, el cual debe ser un objeto de tipo inference_result.

     Ejemplo:

     El objeto inference_result almacena dos valores, cuyos nombres son 'pi y 'e, pero sólo se muestra el segundo. La función items_inference devuelve los nombres de todos los elementos almacenados, independientemente de que sean mostrados o no.

          (%i1) load(inference_result)$
          (%i2) inference_result("Hi", ['pi=%pi,'e=%e],[2]);
                                      |   Hi
          (%o2)                       |
                                      | e = %e
          (%i3) items_inference(%);
          (%o3)                        [pi, e]

 -- Función: take_inference (N, OBJ)
 -- Función: take_inference (NAME, OBJ)
 -- Función: take_inference (LIST, OBJ)

     Si N es un entero positivo, devuelve el N-ésimo valor almacenado en OBJ; si el símbolo NAME es el nombre de uno de los elementos almacenados, también devuelve su valor. Si el primer elemento es una lista de números y/o símbolos, la función take_inference devuelve una lista con los resultados correspondientes.

     Ejemplo:

     Dado un objeto inference_result, la función take_inference es invocada para extraer cierta información almacenada en él.

          (%i1) load(inference_result)$
          (%i2) b: 3$ h: 2$
          (%i3) sol: inference_result("Rectangle",
                                      ['base=b,
                                       'height=h,
                                       'diagonal=sqrt(b^2+h^2),
                                       'area=b*h,
                                       'perimeter=2*(b+h)],
                                      [1,2,5,4] );
                                  |   Rectangle
                                  |
                                  |    base = 3
                                  |
          (%o3)                   |   height = 2
                                  |
                                  | perimeter = 10
                                  |
                                  |    area = 6
          (%i4) take_inference('base,sol);
          (%o4)                           3
          (%i5) take_inference(5,sol);
          (%o5)                          10
          (%i6) take_inference([1,'diagonal],sol);
          (%o6)                     [3, sqrt(13)]
          (%i7) take_inference(items_inference(sol),sol);
          (%o7)                [3, 2, sqrt(13), 6, 10]

     Véanse también inference_result y take_inference.

Funciones y variables para stats
================================

 -- Variable opcional: stats_numer
     Valor por defecto: true

     Cuando stats_numer vale true, las funciones de inferencia estadística devuelven sus resultados en formato decimal de coma flotante. Cuando vale false, los resultados se devuelven en formato simbólico y racional.

 -- Función: test_mean (X)
 -- Función: test_mean (X, OPTION_1, OPTION_2, ...)

     Es el test T de la media. El argumento X es una lista o matriz columna con los datos de una muestra unidimensional. También realiza el test asintótico basado en el Teorema Central del límite si se le asigna a la opción 'asymptotic el valor true.

     Opciones:

       * 'mean, valor por defecto 0, es el valor de la media a contrastar.

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

       * 'dev, valor por defecto 'unknown, este es el valor de la desviación típica cuando se conoce; valores válidos son: 'unknown o una expresión con valor positivo.

       * 'conflevel, valor por defecto 95/100, nivel de confianza para el intervalo de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).

       * 'asymptotic, valor por defecto false, indica si debe realizar el test exacto basado en la T de Student, o el asintótico basado en el Teorema Central del límite; valores válidos son true y false.

     El resultado devuelto por la función  test_mean es un objeto inference_result con los siguientes resultados:

      1. 'mean_estimate: la media muestral.

      2. 'conf_level: nivel de confianza seleccionado por el usuario.

      3. 'conf_interval: intervalo de confianza para la media poblacional.

      4. 'method: procedimiento de inferencia.

      5. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      6. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      7. 'distribution: distribución del estadístico de contraste, junto con su(s) parámetro(s).

      8. 'p_value: p-valor del test.

     Ejemplos:

     Realiza el contraste exacto T con varianza desconocida. La hipótesis nula es H_0: mean=50, frente a la alternativa unilátera H_1: mean<50; de acuerdo con los resultados, no hay evidencia para rechazar H_0, pues el p-valor es muy grande.

          (%i1) load("stats")$
          (%i2) data: [78,64,35,45,45,75,43,74,42,42]$
          (%i3) test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
                    |                 MEAN TEST
                    |
                    |            mean_estimate = 54.3
                    |
                    |              conf_level = 0.9
                    |
                    | conf_interval = [minf, 61.51314273502712]
                    |
          (%o3)     |  method = Exact t-test. Unknown variance.
                    |
                    | hypotheses = H0: mean = 50 , H1: mean < 50
                    |
                    |       statistic = .8244705235071678
                    |
                    |       distribution = [student_t, 9]
                    |
                    |        p_value = .7845100411786889

     En esta ocasión Maxima realiza un test asintótico. La hipótesis nula es H_0: equal(mean, 50) frente a la alternativa bilátera H_1: not equal(mean, 50); de acuerdo con los resultados, H_0 debe rechazarse en favor de la alternativa H_1, pues el p-valor es muy pequeño. Nótese que, tal como indica la componente Method, este procedimiento sólo puede aplicarse en muestras grandes.

          (%i1) load("stats")$
          (%i2) test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35,
                        98,41,45,198,54,79,63,35,45,44,75,42,75,45,45,
                        45,51,123,54,151],
                        'asymptotic=true,'mean=50);
                    |                       MEAN TEST
                    |
                    |           mean_estimate = 74.88571428571429
                    |
                    |                   conf_level = 0.95
                    |
                    | conf_interval = [57.72848600856194, 92.04294256286663]
                    |
          (%o2)     |    method = Large sample z-test. Unknown variance.
                    |
                    |       hypotheses = H0: mean = 50 , H1: mean # 50
                    |
                    |             statistic = 2.842831192874313
                    |
                    |             distribution = [normal, 0, 1]
                    |
                    |             p_value = .004471474652002261

 -- Función: test_means_difference (X1, X2)
 -- Función: test_means_difference (X1, X2, OPTION_1, OPTION_2, ...)

     Este es el test T para la diferencia de medias con muestras. Los argumentos X1 y X2 son listas o matrices columna que contienen dos muestras independientes. En caso de varianzas diferentes y desconocidas (véanse las opciones 'dev1, 'dev2 y 'varequal más abajo) los grados de libertad se calculan mediante la aproximación de Welch. También realiza el test asintótico basado en el Teorema Central del límite si se le asigna a la opción 'asymptotic el valor true.

     Opciones:

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

       * 'dev1, valor por defecto 'unknown, es el valor de la desviación típica de la muestra X1 cuando se conoce; valores válidos son: 'unknown o una expresión positiva.

       * 'dev2, valor por defecto 'unknown, es el valor de la desviación típica de la muestra X2 cuando se conoce; valores válidos son: 'unknown o una expresión positiva.

       * 'varequal, valor por defecto false, indica si las varianzas deben considerarse iguales o no; esta opción sólo toma efecto cuando 'dev1 y/o 'dev2 tienen el valor 'unknown.

       * 'conflevel, valor por defecto 95/100, nivel de confianza para el intervalo de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).

       * 'asymptotic, valor por defecto false, indica si debe realizar el test exacto basado en la T de Student, o el asintótico basado en el Teorema Central del límite; valores válidos son true y false.

     El resultado devuelto por la función  test_means_difference es un objeto inference_result con los siguientes resultados:

      1. 'diff_estimate: el estimador de la diferencia de medias.

      2. 'conf_level: nivel de confianza seleccionado por el usuario.

      3. 'conf_interval: intervalo de confianza para la diferencia de medias.

      4. 'method: procedimiento de inferencia.

      5. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      6. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      7. 'distribution: distribución del estadístico de contraste, junto con su(s) parámetro(s).

      8. 'p_value: p-valor del test.

     Ejemplos:

     La igualdad de medias se contrasta con dos pequeñas muestras X y Y, contra la alternativa H_1: m_1>m_2, siendo m_1 y m_2 las medias poblacionales; las varianzas son desconocidas y se supone que diferentes.

          (%i1) load("stats")$
          (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
          (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
          (%i4) test_means_difference(x,y,'alternative='greater);
                      |              DIFFERENCE OF MEANS TEST
                      |
                      |         diff_estimate = 20.31999999999999
                      |
                      |                 conf_level = 0.95
                      |
                      |    conf_interval = [- .04597417812882298, inf]
                      |
          (%o4)       |        method = Exact t-test. Welch approx.
                      |
                      | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
                      |
                      |           statistic = 1.838004300728477
                      |
                      |    distribution = [student_t, 8.62758740184604]
                      |
                      |            p_value = .05032746527991905

     El mismo test que antes, pero ahora se suponen las varianzas iguales.

          (%i1) load("stats")$
          (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
          (%i3) y: matrix([1.2],[6.9],[38.7],[20.4],[17.2])$
          (%i4) test_means_difference(x,y,
                                      'alternative='greater,
                                      'varequal=true);
                      |              DIFFERENCE OF MEANS TEST
                      |
                      |         diff_estimate = 20.31999999999999
                      |
                      |                 conf_level = 0.95
                      |
                      |     conf_interval = [- .7722627696897568, inf]
                      |
          (%o4)       |   method = Exact t-test. Unknown equal variances
                      |
                      | hypotheses = H0: mean1 = mean2 , H1: mean1 > mean2
                      |
                      |           statistic = 1.765996124515009
                      |
                      |           distribution = [student_t, 9]
                      |
                      |            p_value = .05560320992529344

 -- Función: test_variance (X)
 -- Función: test_variance (X, OPTION_1, OPTION_2, ...)

     Este es el test CHI^2 de la varianza. El argumento X es una lista o matriz columna con los datos de una muestra unidimensional extraída de una población normal.

     Opciones:

       * 'mean, valor por defecto 'unknown, es la media de la población, si se conoce.

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

       * 'variance, valor por defecto 1, este es el valor (positivo) de la varianza a contrastar.

       * 'conflevel, valor por defecto 95/100, nivel de confianza para el intervalo de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).

     El resultado devuelto por la función  test_variance es un objeto inference_result con los siguientes resultados:

      1. 'var_estimate: la varianza muestral.

      2. 'conf_level: nivel de confianza seleccionado por el usuario.

      3. 'conf_interval: intervalo de confianza para la varianza poblacional.

      4. 'method: procedimiento de inferencia.

      5. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      6. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      7. 'distribution: distribución del estadístico de contraste, junto con su parámetro.

      8. 'p_value: p-valor del test.

     Ejemplos:

     Se contrasta si la varianza de una población de media desconocida es igual o mayor que 200.

          (%i1) load("stats")$
          (%i2) x: [203,229,215,220,223,233,208,228,209]$
          (%i3) test_variance(x,'alternative='greater,'variance=200);
                       |                  VARIANCE TEST
                       |
                       |              var_estimate = 110.75
                       |
                       |                conf_level = 0.95
                       |
                       |     conf_interval = [57.13433376937479, inf]
                       |
          (%o3)        | method = Variance Chi-square test. Unknown mean.
                       |
                       |    hypotheses = H0: var = 200 , H1: var > 200
                       |
                       |                 statistic = 4.43
                       |
                       |             distribution = [chi2, 8]
                       |
                       |           p_value = .8163948512777689

 -- Función: test_variance_ratio (X1, X2)
 -- Función: test_variance_ratio (X1, X2, OPTION_1, OPTION_2, ...)

     Este es el test F del cociente de las varianzas para dos poblaciones normales. Los argumentos X1 y X2 son listas o matrices columna que contienen los datos de dos muestras independientes.

     Opciones:

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

       * 'mean1, valor por defecto 'unknown, es la media de la población de la que procede X1 cuando se conoce.

       * 'mean2, valor por defecto 'unknown, es la media de la población de la que procede X2 cuando se conoce.

       * 'conflevel, valor por defecto 95/100, nivel de confianza para el intervalo de confianza del cociente; debe ser una expresión que tome un valor en el intervalo (0,1).

     El resultado devuelto por la función  test_variance_ratio es un objeto inference_result con los siguientes resultados

      1. 'ratio_estimate: el cociente de varianzas muestral.

      2. 'conf_level: nivel de confianza seleccionado por el usuario.

      3. 'conf_interval: intervalo de confianza para el cociente de varianzas.

      4. 'method: procedimiento de inferencia.

      5. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      6. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      7. 'distribution: distribución del estadístico de contraste, junto con sus parámetros.

      8. 'p_value: p-valor del test.

     Ejemplos:

     Se contrasta la igualdad de varianzas de dos poblaciones normales frente a la alternativa de que la primera es mayor que la segunda.

          (%i1) load("stats")$
          (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$
          (%i3) y: [1.2,6.9,38.7,20.4,17.2]$
          (%i4) test_variance_ratio(x,y,'alternative='greater);
                        |              VARIANCE RATIO TEST
                        |
                        |       ratio_estimate = 2.316933391522034
                        |
                        |               conf_level = 0.95
                        |
                        |    conf_interval = [.3703504689507268, inf]
                        |
          (%o4)         | method = Variance ratio F-test. Unknown means.
                        |
                        | hypotheses = H0: var1 = var2 , H1: var1 > var2
                        |
                        |         statistic = 2.316933391522034
                        |
                        |            distribution = [f, 5, 4]
                        |
                        |          p_value = .2179269692254457

 -- Función: test_sign (X)
 -- Función: test_sign (X, OPTION_1, OPTION_2, ...)

     Este es el test no paramétrico de los signos para contrastes sobre la mediana de una población continua. El argumento X es una lista o matriz columna que contiene los datos de una muestra unidimensional.

     Opciones:

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

       * 'median, valor por defecto 0, es el valor de la mediana a contrastar.

     El resultado devuelto por la función test_sign es un objeto inference_result con los siguientes resultados:

      1. 'med_estimate: la mediana muestral.

      2. 'method: procedimiento de inferencia.

      3. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      4. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      5. 'distribution: distribución del estadístico de contraste, junto con sus parámetros.

      6. 'p_value: p-valor del test.

     Ejemplos:

     Contrasta si la mediana de la población de la que se ha extraido la muestra es 6, frente a la alternativa H_1: median > 6.

          (%i1) load("stats")$
          (%i2) x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$
          (%i3) test_sign(x,'median=6,'alternative='greater);
                         |                  SIGN TEST
                         |
                         |              med_estimate = 5.1
                         |
                         |      method = Non parametric sign test.
                         |
          (%o3)          | hypotheses = H0: median = 6 , H1: median > 6
                         |
                         |                statistic = 7
                         |
                         |      distribution = [binomial, 10, 0.5]
                         |
                         |         p_value = .05468749999999989

 -- Función: test_signed_rank (X)
 -- Función: test_signed_rank (X, OPTION_1, OPTION_2, ...)

     Este el test de los rangos signados de Wilcoxon para hacer inferencias sobre la mediana de una población continua. El argumento X es una lista o matriz columna que contiene los datos de una muestra unidimensional. Realiza la aproximación normal si el tamaño muestral es mayor que 20, o si en la muestra aparece algún cero o hay empates.

     Véanse también pdf_rank_test y cdf_rank_test.

     Opciones:

       * 'median, valor por defecto 0, es el valor de la mediana a ser contrastado.

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

     El resultado devuelto por la función  test_signed_rank es un objeto inference_result con los siguientes resultados:

      1. 'med_estimate: la mediana muestral.

      2. 'method: procedimiento de inferencia.

      3. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      4. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      5. 'distribution: distribución del estadístico de contraste, junto con su(s) parámetro(s).

      6. 'p_value: p-valor del test.

     Ejemplos:

     Contrasta la hipótesis nula H_0: median = 15 frente a la alternativa H_1: median > 15. Este test es exacto, puesto que no hay empates.

          (%i1) load("stats")$
          (%i2) x: [17.1,15.9,13.7,13.4,15.5,17.6]$
          (%i3) test_signed_rank(x,median=15,alternative=greater);
                           |             SIGNED RANK TEST
                           |
                           |           med_estimate = 15.7
                           |
                           |           method = Exact test
                           |
          (%o3)            | hypotheses = H0: med = 15 , H1: med > 15
                           |
                           |              statistic = 14
                           |
                           |     distribution = [signed_rank, 6]
                           |
                           |            p_value = 0.28125

     Contrasta la hipótesis nula H_0: equal(median, 2.5) frente a la alternativa H_1: not equal(median, 2.5). Este es un test asintótico, debido a la presencia de empates.

          (%i1) load("stats")$
          (%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]$
          (%i3) test_signed_rank(y,median=2.5);
                       |                 SIGNED RANK TEST
                       |
                       |                med_estimate = 2.9
                       |
                       |          method = Asymptotic test. Ties
                       |
          (%o3)        |    hypotheses = H0: med = 2.5 , H1: med # 2.5
                       |
                       |                 statistic = 76.5
                       |
                       | distribution = [normal, 60.5, 17.58195097251724]
                       |
                       |           p_value = .3628097734643669

 -- Función: test_rank_sum (X1, X2)
 -- Función: test_rank_sum (X1, X2, OPTION_1)

     Este es el test de Wilcoxon-Mann-Whitney para comparar las medianas de dos poblaciones continuas. Los dos primeros argumentos X1 y X2 son listas o matrices columna con los datos de dos muestras independientes. Realiza la aproximación normal si alguna de las muestras tiene tamaño mayor que 10, o si hay empates.

     Opción:

       * 'alternative, valor por defecto 'twosided, es la hipótesis alternativa; valores válidos son: 'twosided, 'greater y 'less.

     El resultado devuelto por la función  test_rank_sum es un objeto inference_result con los siguientes resultados:

      1. 'method: procedimiento de inferencia.

      2. 'hypotheses: hipótesis nula y alternativa a ser contrastada.

      3. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      4. 'distribution: distribución del estadístico de contraste, junto con sus parámetros.

      5. 'p_value: p-valor del test.

     Ejemplos:

     Contrasta si dos poblaciones tiene medianas similares. Al ser los tamaños muestrales pequeños, se realiza el test exacto.

          (%i1) load("stats")$
          (%i2) x:[12,15,17,38,42,10,23,35,28]$
          (%i3) y:[21,18,25,14,52,65,40,43]$
          (%i4) test_rank_sum(x,y);
                        |                 RANK SUM TEST
                        |
                        |              method = Exact test
                        |
                        | hypotheses = H0: med1 = med2 , H1: med1 # med2
          (%o4)         |
                        |                 statistic = 22
                        |
                        |        distribution = [rank_sum, 9, 8]
                        |
                        |          p_value = .1995886466474702

     Ahora, con muestras mayores y empates, el procedimiento realiza la aproximación normal. La hipótesis alternativa es H_1: median1 < median2.

          (%i1) load("stats")$
          (%i2) x: [39,42,35,13,10,23,15,20,17,27]$
          (%i3) y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$
          (%i4) test_rank_sum(x,y,'alternative='less);
                       |                  RANK SUM TEST
                       |
                       |          method = Asymptotic test. Ties
                       |
                       |  hypotheses = H0: med1 = med2 , H1: med1 < med2
          (%o4)        |
                       |                 statistic = 48.5
                       |
                       | distribution = [normal, 79.5, 18.95419580097078]
                       |
                       |           p_value = .05096985666598441

 -- Función: test_normality (X)

     Test de Shapiro-Wilk para el contraste de normalidad. El argumento X es una lista de números, con tamaño muestral mayor que 2 y menor o igual que 5000; bajo cualesquiera otras condiciones, la función test_normality emite un mensaje de error.

     Referencia:

     [1] Algorithm AS R94, Applied Statistics (1995), vol.44, no.4, 547-551

     El resultado devuelto por la función test_normality es un objeto inference_result con los siguientes resultados:

      1. 'statistic: valor del estadístico W.

      2. 'p_value: p-valor bajo la hipótesis de normalidad.

     Ejemplos:

     Contrasta la normalidad de una población a partir de una muestra de tamaño 9.

          (%i1) load("stats")$
          (%i2) x:[12,15,17,38,42,10,23,35,28]$
          (%i3) test_normality(x);
                                 |      SHAPIRO - WILK TEST
                                 |
          (%o3)                  | statistic = .9251055695162436
                                 |
                                 |  p_value = .4361763918860381

 -- Función: simple_linear_regression (X)
 -- Función: simple_linear_regression (X OPTION_1)

     Regresión lineal simple, y_i=a+b x_i+e_i, donde las e_i son variables aleatorias independientes de distribución N(0,sigma). El argumento X debe ser una matriz de dos columnas o una lista de pares de números.

     Opciones:

       * 'conflevel, valor por defecto 95/100, nivel de confianza para el intervalo de confianza; debe ser una expresión que tome un valor en el intervalo (0,1).

       * 'regressor, valor por defecto 'x, nombre de la variable independiente.

     El resultado devuelto por la función  simple_linear_regression es un objeto inference_result con los siguientes resultados:

      1. 'model: la ecuación ajustada. Útil para hacer predicciones. Véanse los ejemplos más abajo.

      2. 'means: media bivariante.

      3. 'variances: varianzas de ambas variables.

      4. 'correlation: coeficiente de correlación.

      5. 'adc: coeficiente de determinación ajustado.

      6. 'a_estimation: estimador del parámetro A.

      7. 'a_conf_int: intervalo de confianza del parámetro A.

      8. 'b_estimation: estimador del parámetro B.

      9. 'b_conf_int: intervalo de confianza del parámetro B.

      10. 'hypotheses: hipótesis nula y altenativa sobre el parámetro B.

      11. 'statistic: valor del estadístico de contraste utilizado para probar la hipótesis.

      12. 'distribution: distribución del estadístico de contraste, junto con su parámetro.

      13. 'p_value: p-valor del test sobre B.

      14. 'v_estimation: estimador insesgado de la varianza, o varianza residual.

      15. 'v_conf_int: intervalo de confianza de la varianza.

      16. 'cond_mean_conf_int: intervalo de confianza para la media condicionada. Véanse los ejemplos más abajo.

      17. 'new_pred_conf_int: intervalo de confianza para una nueva predicción. Véanse los ejemplos más abajo.

      18. 'residuals: lista de pares (predicción, residuo), ordenado respecto de las predicciones. Útil para el análisis de la bondad de ajuste. Véanse los ejemplos más abajo.

     Sólo los elementos 1, 4, 14, 9, 10, 11, 12 y 13 de arriba, y en este orden, son mostrados por defecto. El resto permanecen ocultos hasta que el usuario haga uso de las funciones items_inference y take_inference.

     Ejemplo:

     Ajuste de un modelo lineal a una muestra bivariante. La entrada %i4 representa gráficamente la muestra junto con la recta de regresión; la entrada %i5 calcula y dado x=113; también se calculan las medias y el intervalo de confianza para una nueva predicción cuando x=113.

          (%i1) load("stats")$
          (%i2) s:[[125,140.7],[130,155.1],[135,160.3],
                     [140,167.2],[145,169.8]]$
          (%i3) z:simple_linear_regression(s,conflevel=0.99);
                     |               SIMPLE LINEAR REGRESSION
                     |
                     |   model = 1.405999999999985 x - 31.18999999999804
                     |
                     |           correlation = .9611685255255155
                     |
                     |           v_estimation = 13.57966666666665
                     |
          (%o3)      | b_conf_int = [.04469633662525263, 2.767303663374718]
                     |
                     |          hypotheses = H0: b = 0 ,H1: b # 0
                     |
                     |            statistic = 6.032686683658114
                     |
                     |            distribution = [student_t, 3]
                     |
                     |             p_value = 0.0038059549413203
          (%i4) plot2d([[discrete, s], take_inference(model,z)],
                        [x,120,150],
                        [gnuplot_curve_styles, ["with points","with lines"]] )$
          (%i5) take_inference(model,z), x=133;
          (%o5)                         155.808
          (%i6) take_inference(means,z);
          (%o6)                     [135.0, 158.62]
          (%i7) take_inference(new_pred_conf_int,z), x=133;
          (%o7)              [132.0728595995113, 179.5431404004887]

Funciones y variables para distribuciones especiales
====================================================

 -- Función: pdf_signed_rank (X, N)
     Función de densidad de probabilidad de la distribución exacta del estadístico de contraste del test de los rangos signados. El argumento X es un número real y N un entero positivo.

     Véase también test_signed_rank.

 -- Función: cdf_signed_rank (X, N)
     Función de probabilidad acumulada de la distribución exacta del estadístico de contraste del test de los rangos signados. El argumento X es un número real y N un entero positivo.

     Véase también test_signed_rank.

 -- Función: pdf_rank_sum (X, N, M)
     Función de densidad de probabilidad de la distribución exacta del estadístico de contraste de Wilcoxon-Mann-Whitney. El argumento X es un número real y N y M son ambos enteros positivos.

     Véase también test_rank_sum.

 -- Función: cdf_rank_sum (X, N, M)
     Función de probabilidad acumulada de la distribución exacta del estadístico de contraste de Wilcoxon-Mann-Whitney. El argumento X es un número real y N y M son ambos enteros positivos.

     Véase también test_rank_sum.