Funciones y variables de parámetros descriptivos (Manual de Maxima 5.45.0)

Siguiente: Funciones y variables para gráficos estadísticos, Anterior: Funciones y variables para el tratamiento de datos, Subir: descriptive [Índice general][Índice]

### 44.3 Funciones y variables de parámetros descriptivos

Función: mean (list)
Función: mean (matrix)

  Es la media muestral, definida como

                             n
                           ====
                   _   1   \
                   x = -    >    x
                       n   /      i
                           ====
                           i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) mean (s1);
                                     471
      (%o3)                          ---
                                     100

      (%i4) %, numer;
      (%o4)                         4.71

      (%i5) s2 : read_matrix (file_search ("wind.data"))$

      (%i6) mean (s2);
      (%o6)     [9.9485, 10.1607, 10.8685, 15.7166, 14.8441]

Función: var (list)
Función: var (matrix)

  Es la varianza muestral, definida como

                           n
                         ====
                 2   1   \          _ 2
                s  = -    >    (x - x)
                     n   /       i
                         ====
                         i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) var (s1), numer;
      (%o3)                   8.425899999999999

  Véase también `var1`.

Función: var1 (list)
Función: var1 (matrix)

  Es la cuasivarianza muestral, definida como

                           n
                         ====
                     1   \          _ 2
                    ---   >    (x - x)
                    n-1  /       i
                         ====
                         i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) var1 (s1), numer;
      (%o3)                    8.5110101010101

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) var1 (s2);
      (%o5) [17.39586540404041, 15.13912778787879, 15.63204924242424,
                                  32.50152569696971, 24.66977392929294]

  Véase también `var`.

Función: std (list)
Función: std (matrix)

  Es la desviación típica muestral, raíz cuadrada de `var`.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) std (s1), numer;
      (%o3)                   2.902740084816414

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) std (s2);
      (%o5) [4.149928523480858, 3.871399812729241, 3.933920277534866,
                                  5.672434260526957, 4.941970881136392]

  Véanse también `var` y `std1`.

Función: std1 (list)
Función: std1 (matrix)

  Es la cuasidesviación típica muestral, raíz cuadrada de `var1`.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) std1 (s1), numer;
      (%o3)                   2.917363553109228

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) std1 (s2);
      (%o5) [4.17083509672109, 3.89090320978032, 3.953738641137555,
                                  5.701010936401517, 4.966867617451963]

  Véanse también `var1` y `std`.

Función: noncentral_moment (list, k)
Función: noncentral_moment (matrix, k)

  Es el momento no central de orden k, definido como

                             n
                           ====
                       1   \      k
                       -    >    x
                       n   /      i
                           ====
                           i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) noncentral_moment (s1, 1), numer; /* the mean */
      (%o3)                         4.71

      (%i5) s2 : read_matrix (file_search ("wind.data"))$
      (%o5) [319793.8724761506, 320532.1923892463, 391249.5621381556,
                                  2502278.205988911, 1691881.797742255]

      (%i6) noncentral_moment (s2, 5);

  Véase también `central_moment`.

Función: central_moment (list, k)
Función: central_moment (matrix, k)

  Es el momento central de orden k, definido como

                          n
                        ====
                    1   \          _ k
                    -    >    (x - x)
                    n   /       i
                        ====
                        i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) central_moment (s1, 2), numer; /* the variance */
      (%o3)                   8.425899999999999

      (%i5) s2 : read_matrix (file_search ("wind.data"))$
      (%o5) [11.29584771375004, 16.97988248298583, 5.626661952750102,
                                   37.5986572057918, 25.85981904394192]

      (%i6) central_moment (s2, 3);

  Véanse también `central_moment` y `mean`.

Función: cv (list)
Función: cv (matrix)

  Es el coeficiente de variación, o cociente entre la desviación típica muestral (`std`) y la media (`mean`),

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) cv (s1), numer;
      (%o3)                   .6193977819764815

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) cv (s2);
      (%o5) [.4192426091090204, .3829365309260502, 0.363779605385983,
                                  .3627381836021478, .3346021393989506]

  Véanse también `std` y `mean`.

Función: smin (list)
Función: smin (matrix)

  Es el valor mínimo de la muestra list. Cuando el argumento es una matriz, `smin` devuelve una lista con los valores mínimos de las columnas, las cuales están asociadas a variables estadísticas.

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) smin (s1);
      (%o3)                           0

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) smin (s2);
      (%o5)             [0.58, 0.5, 2.67, 5.25, 5.17]

  Véase también `smax`.

Función: smax (list)
Función: smax (matrix)

  Es el valor máximo de la muestra list. Cuando el argumento es una matriz, `smax` devuelve una lista con los valores máximos de las columnas, las cuales están asociadas a variables estadísticas.

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) smax (s1);
      (%o3)                           9

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) smax (s2);
      (%o5)          [20.25, 21.46, 20.04, 29.63, 27.63]

  Véase también `smin`.

Función: range (list)
Función: range (matrix)

  Es la diferencia entre los valores extremos.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) range (s1);
      (%o3)                           9

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) range (s2);
      (%o5)          [19.67, 20.96, 17.37, 24.38, 22.46]

Función: quantile (list, p)
Función: quantile (matrix, p)

  Es el p-cuantil, siendo p un número del intervalo [0, 1], de la muestra list. Aunque existen varias definiciones para el cuantil muestral (Hyndman, R. J., Fan, Y. (1996) Sample quantiles in statistical packages. American Statistician, 50, 361-365), la programada en el paquete `descriptive` es la basada en la interpolación lineal.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) /* 1st and 3rd quartiles */
               [quantile (s1, 1/4), quantile (s1, 3/4)], numer;
      (%o3)                      [2.0, 7.25]

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) quantile (s2, 1/4);
      (%o5)    [7.2575, 7.477500000000001, 7.82, 11.28, 11.48]

Función: median (list)
Función: median (matrix)

  Una vez ordenada una muestra, si el tamaño muestral es impar la mediana es el valor central, en caso contrario será la media de los dos valores centrales.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) median (s1);
                                      9
      (%o3)                           -
                                      2

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) median (s2);
      (%o5)         [10.06, 9.855, 10.73, 15.48, 14.105]

  La mediana es el cuantil 1/2.

  Véase también `quantile`.

Función: qrange (list)
Función: qrange (matrix)

  El rango intercuartílico es la diferencia entre el tercer y primer cuartil, `quantile(list,3/4) - quantile(list,1/4)`,

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) qrange (s1);
                                     21
      (%o3)                          --
                                     4

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) qrange (s2);
      (%o5) [5.385, 5.572499999999998, 6.0225, 8.729999999999999,
                                                     6.650000000000002]

  Véase también `quantile`.

Función: mean_deviation (list)
Función: mean_deviation (matrix)

  Es la desviación media, definida como

                           n
                         ====
                     1   \          _
                     -    >    |x - x|
                     n   /       i
                         ====
                         i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) mean_deviation (s1);
                                     51
      (%o3)                          --
                                     20

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) mean_deviation (s2);
      (%o5) [3.287959999999999, 3.075342, 3.23907, 4.715664000000001,
                                                     4.028546000000002]

  Véase también `mean`.

Función: median_deviation (list)
Función: median_deviation (matrix)

  Es la desviación mediana, definida como

                       n
                     ====
                 1   \
                 -    >    |x - med|
                 n   /       i
                     ====
                     i = 1

  siendo `med` la mediana de list.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) median_deviation (s1);
                                      5
      (%o3)                           -
                                      2

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) median_deviation (s2);
      (%o5)           [2.75, 2.755, 3.08, 4.315, 3.31]

  Véase también `mean`.

Función: harmonic_mean (list)
Función: harmonic_mean (matrix)

  Es la media armónica, definida como

                        n
                     --------
                      n
                     ====
                     \     1
                      >    --
                     /     x
                     ====   i
                     i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$

      (%i3) harmonic_mean (y), numer;
      (%o3)                   3.901858027632205

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) harmonic_mean (s2);
      (%o5) [6.948015590052786, 7.391967752360356, 9.055658197151745,
                                  13.44199028193692, 13.01439145898509]

  Véanse también `mean` y `geometric_mean`.

Función: geometric_mean (list)
Función: geometric_mean (matrix)

  Es la media geométrica, definida como

                       /  n      \ 1/n
                       | /===\   |
                       |  ! !    |
                       |  ! !  x |
                       |  ! !   i|
                       | i = 1   |
                       \         /

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$

      (%i3) geometric_mean (y), numer;
      (%o3)                   4.454845412337012

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) geometric_mean (s2);
      (%o5) [8.82476274347979, 9.22652604739361, 10.0442675714889,
                                  14.61274126349021, 13.96184163444275]

  Véanse también `mean` y `harmonic_mean`.

Función: kurtosis (list)
Función: kurtosis (matrix)

  Es el coeficiente de curtosis, definido como

                          n
                        ====
                  1     \          _ 4
                 ----    >    (x - x)  - 3
                    4   /       i
                 n s    ====
                        i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) kurtosis (s1), numer;
      (%o3)                  - 1.273247946514421

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) kurtosis (s2);
      (%o5) [- .2715445622195385, 0.119998784429451,
         - .4275233490482866, - .6405361979019522, - .4952382132352935]

  Véanse también `mean`, `var` y `skewness`.

Función: skewness (list)
Función: skewness (matrix)

  Es el coeficiente de asimetría, definido como

                          n
                        ====
                  1     \          _ 3
                 ----    >    (x - x)
                    3   /       i
                 n s    ====
                        i = 1

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) skewness (s1), numer;
      (%o3)                  .009196180476450306

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) skewness (s2);
      (%o5) [.1580509020000979, .2926379232061854, .09242174416107717,
                                  .2059984348148687, .2142520248890832]

  Véanse también `mean`, `var` y `kurtosis`.

Función: pearson_skewness (list)
Función: pearson_skewness (matrix)

  Es el coeficiente de asimetría de Pearson, definido como

                      _
                   3 (x - med)
                   -----------
                        s

  siendo med la mediana de list.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) pearson_skewness (s1), numer;
      (%o3)                   .2159484029093895

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) pearson_skewness (s2);
      (%o5) [- .08019976629211892, .2357036272952649,
               .1050904062491204, .1245042340592368, .4464181795804519]

  Véanse también `mean`, `var` y `median`.

Función: quartile_skewness (list)
Función: quartile_skewness (matrix)

  Es el coeficiente de asimetría cuartílico, definido como

                     c    - 2 c    + c
                      3/4      1/2    1/4
                     --------------------
                         c    - c
                          3/4    1/4

  siendo c_p el p-cuantil de la muestra list.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$

      (%i3) quartile_skewness (s1), numer;
      (%o3)                  .04761904761904762

      (%i4) s2 : read_matrix (file_search ("wind.data"))$

      (%i5) quartile_skewness (s2);
      (%o5) [- 0.0408542246982353, .1467025572005382,
             0.0336239103362392, .03780068728522298, 0.210526315789474]

  Véase también `quantile`.

Función: km (list, option ...)
Función: km (matrix, option ...)

  Estimador Kaplan-Meier de la función de supervivencia o fiabilidad S(x)=1-F(x).

  Los datos se pueden introducir como una lista de pares de números o como una matriz de dos columnas. La primera componente es el tiempo observado y la segunda componente es el índice de censura (1 = no censurado, 0 = censurado por la derecha).

  El argumento opcional es el nombre de la variable en la expresión devuelta, la cual es x por defecto.

  Ejemplos:

  Muestra como una lista de pares.

      (%i1) load (descriptive)$

      (%i2) S: km([[2,1], [3,1], [5,0], [8,1]]);
                             charfun((3 <= x) and (x < 8))
      (%o2) charfun(x < 0) + -----------------------------
                                           2
                      3 charfun((2 <= x) and (x < 3))
                    + -------------------------------
                                     4
                    + charfun((0 <= x) and (x < 2))

      (%i3) load (draw)$

      (%i4) draw2d(
              line_width = 3, grid = true,
              explicit(S, x, -0.1, 10))$

  Estimación de probabilidades de supervivencia.

      (%i1) load (descriptive)$
      (%i2) S(t):= ''(km([[2,1], [3,1], [5,0], [8,1]], t)) $

      (%i3) S(6);
                                  1
      (%o3)                       -
                                  2

Función: cdf_empirical (list, option ...)
Función: cdf_empirical (matrix, option ...)

  Función de distribución empírica F(x).

  Los datos se pueden introducir como una lista de números o como una matriz columna.

  El argumento opcional es el nombre de la variable en la expresión devuelta, la cual es x por defecto.

  Ejemplo:

  Función de distribución empírica.

      (%i1) load (descriptive)$

      (%i2) F(x):= ''(cdf_empirical([1,3,3,5,7,7,7,8,9]));
      (%o2) F(x) := (charfun(x >= 9) + charfun(x >= 8)
                     + 3 charfun(x >= 7) + charfun(x >= 5)
                     + 2 charfun(x >= 3) + charfun(x >= 1))/9

      (%i3) F(6);
                                 4
      (%o3)                      -
                                 9

      (%i4) load(draw)$
      (%i5) draw2d(
              line_width = 3,
              grid       = true,
              explicit(F(z), z, -2, 12)) $

Función: cov (matrix)

  Es la matriz de covarianzas de una muestra multivariante, definida como

                    n
                   ====
                1  \           _        _
            S = -   >    (X  - X) (X  - X)'
                n  /       j        j
                   ====
                   j = 1

  siendo X_j la j-ésima fila de la matriz muestral.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec : 7$  /* change precision for pretty output */
            [ 17.22191  13.61811  14.37217  19.39624  15.42162 ]
            [                                                  ]
            [ 13.61811  14.98774  13.30448  15.15834  14.9711  ]
            [                                                  ]
      (%o4) [ 14.37217  13.30448  15.47573  17.32544  16.18171 ]
            [                                                  ]
            [ 19.39624  15.15834  17.32544  32.17651  20.44685 ]
            [                                                  ]
            [ 15.42162  14.9711   16.18171  20.44685  24.42308 ]
      (%i5) cov (s2);

  Véase también `cov1`.

Función: cov1 (matrix)

  Es la matriz de cuasivarianzas de una muestra multivariante, definida como

                    n
                   ====
               1   \           _        _
         S  = ---   >    (X  - X) (X  - X)'
          1   n-1  /       j        j
                   ====
                   j = 1

  siendo X_j la j-ésima fila de la matriz muestral.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec : 7$ /* change precision for pretty output */
            [ 17.39587  13.75567  14.51734  19.59216  15.5774  ]
            [                                                  ]
            [ 13.75567  15.13913  13.43887  15.31145  15.12232 ]
            [                                                  ]
      (%o4) [ 14.51734  13.43887  15.63205  17.50044  16.34516 ]
            [                                                  ]
            [ 19.59216  15.31145  17.50044  32.50153  20.65338 ]
            [                                                  ]
            [ 15.5774   15.12232  16.34516  20.65338  24.66977 ]
      (%i5) cov1 (s2);

  Véase también `cov`.

Función: global_variances (matrix)
Función: global_variances (matrix, options ...)

  La función `global_variances` devuelve una lista de medidas globales de variabilidad:

  - varianza total: `trace(S_1)`,
  - varianza media: `trace(S_1)/p`,
  - varianza generalizada: `determinant(S_1)`,
  - desviación típica generalizada: `sqrt(determinant(S_1))`,
  - varianza efectiva `determinant(S_1)^(1/p)`, (definida en: Peña, D. (2002) Análisis de datos multivariantes; McGraw-Hill, Madrid.)
  - desviación típica efectiva: `determinant(S_1)^(1/(2*p))`.

  donde p es la dimensión de la variable aleatoria multivariante y S_1 la matriz de covarianzas devuelta por la función `cov1`.

  Opción:

  - `'data`, por defecto `'true`, indica si la matriz de entrada contiene los datos muestrales, en cuyo caso la matriz de covarianzas `cov1` debe ser calculada; en caso contrario, se le debe pasar ésta a la función como matriz simétrica en lugar de los datos.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$

      (%i3) global_variances (s2);
      (%o3) [105.338342060606, 21.06766841212119, 12874.34690469686,
               113.4651792608502, 6.636590811800794, 2.576158149609762]

  Cálculo de `global_variances` a partir de la matriz de covarianzas.

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) s : cov1 (s2)$

      (%i4) global_variances (s, data=false);
      (%o4) [105.338342060606, 21.06766841212119, 12874.34690469686,
               113.4651792608502, 6.636590811800794, 2.576158149609762]

  Véanse también `cov` y `cov1`.

Función: cor (matrix)
Función: cor (matrix, options ...)

  Es la matriz de correlaciones de la muestra multivariante.

  Opción:

  - `'data`, por defecto `'true`, indica si la matriz de entrada contiene los datos muestrales, en cuyo caso la matriz de covarianzas `cov1` debe ser calculada; en caso contrario, se le debe pasar ésta a la función como matriz simétrica en lugar de los datos.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) fpprintprec:7$
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) cor (s2);
            [   1.0     .8476339  .8803515  .8239624  .7519506 ]
            [                                                  ]
            [ .8476339    1.0     .8735834  .6902622  0.782502 ]
            [                                                  ]
      (%o4) [ .8803515  .8735834    1.0     .7764065  .8323358 ]
            [                                                  ]
            [ .8239624  .6902622  .7764065    1.0     .7293848 ]
            [                                                  ]
            [ .7519506  0.782502  .8323358  .7293848    1.0    ]

  Cálculo de la matriz de correlaciones a partir de la matriz de covarianzas.

      (%i1) load (descriptive)$
      (%i2) fpprintprec : 7 $
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) s : cov1 (s2)$

      (%i5) cor (s, data=false); /* this is faster */
            [   1.0     .8476339  .8803515  .8239624  .7519506 ]
            [                                                  ]
            [ .8476339    1.0     .8735834  .6902622  0.782502 ]
            [                                                  ]
      (%o5) [ .8803515  .8735834    1.0     .7764065  .8323358 ]
            [                                                  ]
            [ .8239624  .6902622  .7764065    1.0     .7293848 ]
            [                                                  ]
            [ .7519506  0.782502  .8323358  .7293848    1.0    ]

  Véanse también `cov` y `cov1`.

Función: list_correlations (matrix)
Función: list_correlations (matrix, options ...)

  La función `list_correlations` devuelve una lista con medidas de correlación:

  - matriz de precisión: es la inversa de la matriz de covarianzas S_1,

               -1     ij
              S   = (s  )
               1         i,j = 1,2,...,p

  - multiple correlation vector: (R_1^2, R_2^2, ..., R_p^2), with

               2          1
              R  = 1 - -------
               i        ii
                       s   s
                            ii

    es un indicador de la bondad de ajuste del modelo de regresión lineal multivariante de X_i cuando el resto de variables se utilizan como regresores.

  - matriz de correlaciones parciales: en la que el elemento (i, j) es

                                 ij
                                s
              r        = - ------------
               ij.rest     / ii  jj\ 1/2
                           |s   s  |
                           \       /

  Opción:

  - `'data`, por defecto `'true`, indica si la matriz de entrada contiene los datos muestrales, en cuyo caso la matriz de covarianzas `cov1` debe ser calculada; en caso contrario, se le debe pasar ésta a la función como matriz simétrica en lugar de los datos.

  Ejemplo:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) z : list_correlations (s2)$

      (%i4) fpprintprec : 5$ /* for pretty output */
            [  .38486   - .13856   - .15626   - .10239    .031179  ]
            [                                                      ]
            [ - .13856   .34107    - .15233    .038447   - .052842 ]
            [                                                      ]
      (%o5) [ - .15626  - .15233    .47296    - .024816  - .10054  ]
            [                                                      ]
            [ - .10239   .038447   - .024816   .10937    - .034033 ]
            [                                                      ]
            [ .031179   - .052842  - .10054   - .034033   .14834   ]
      (%o6)       [.85063, .80634, .86474, .71867, .72675]
             [  - 1.0     .38244   .36627   .49908   - .13049 ]
             [                                                ]
             [  .38244    - 1.0    .37927  - .19907   .23492  ]
             [                                                ]
      (%o7)  [  .36627    .37927   - 1.0    .10911    .37956  ]
             [                                                ]
             [  .49908   - .19907  .10911   - 1.0     .26719  ]
             [                                                ]
             [ - .13049   .23492   .37956   .26719    - 1.0   ]

  Véanse también `cov` y `cov1`.

Función: principal_components (matrix)
Función: principal_components (matrix, options ...)

  Calcula las componentes principales de una muestra multivariante. Las componentes principales se utilizan en el análisis estadístico multivariante para reducir la dimensionalidad de la muestra.

  Opción:

  - `'data`, por defecto `'true`, indica si la matriz de entrada contiene los datos muestrales, en cuyo caso la matriz de covarianzas `cov1` debe ser calculada; en caso contrario, se le debe pasar ésta a la función como matriz simétrica en lugar de los datos.

  La salida de la función `principal_components` es una lista con los siguientes resultados:

  - varianzas de las componentes principales,
  - porcentajes de variación total explicada por cada componente principal,
  - matriz de rotación.

  Ejemplos:

  En este ejemplo, la primera componente explica el 83.13 por ciento de la varianza total.

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec:4 $
      (%i4) res: principal_components(s2);
      0 errors, 0 warnings
      (%o4) [[87.57, 8.753, 5.515, 1.889, 1.613],
      [83.13, 8.31, 5.235, 1.793, 1.531],

      [ .4149  .03379   - .4757  - 0.581   - .5126 ]
      [                                            ]
      [ 0.369  - .3657  - .4298   .7237    - .1469 ]
      [                                            ]
      [ .3959  - .2178  - .2181  - .2749    .8201  ]]
      [                                            ]
      [ .5548   .7744    .1857    .2319    .06498  ]
      [                                            ]
      [ .4765  - .4669   0.712   - .09605  - .1969 ]

      (%i5) /* porcentajes acumulados  */
          block([ap: copy(res[2])],
            for k:2 thru length(ap) do ap[k]: ap[k]+ap[k-1],
            ap);
      (%o5)                 [83.13, 91.44, 96.68, 98.47, 100.0]
      (%i6) /* dimension de la muestra */
            p: length(first(res));
      (%o6)                                  5
      (%i7) /* dibuja porcentajes para seleccionar el numero de
               componentes principales para el analisis ulterior */
           draw2d(
              fill_density = 0.2,
              apply(bars, makelist([k, res[2][k], 1/2], k, p)),
              points_joined = true,
              point_type    = filled_circle,
              point_size    = 3,
              points(makelist([k, res[2][k]], k, p)),
              xlabel = "Variances",
              ylabel = "Percentages",
              xtics  = setify(makelist([concat("PC",k),k], k, p))) $

  En caso de que la matriz de covarianzas sea conocida, se le puede pasar a la función, pero debe utilizarse la opción `data=false`.

      (%i1) load (descriptive)$
      (%i2) S: matrix([1,-2,0],[-2,5,0],[0,0,2]);
                                      [  1   - 2  0 ]
                                      [             ]
      (%o2)                           [ - 2   5   0 ]
                                      [             ]
                                      [  0    0   2 ]
      (%i3) fpprintprec:4 $
      (%i4) /* el argumento es una matriz de covarianzas */
            res: principal_components(S, data=false);
      0 errors, 0 warnings
                                                        [ - .3827  0.0  .9239 ]
                                                        [                     ]
      (%o4) [[5.828, 2.0, .1716], [72.86, 25.0, 2.145], [  .9239   0.0  .3827 ]]
                                                        [                     ]
                                                        [   0.0    1.0   0.0  ]
      (%i5) /* transformacion para obtener las componentes principales a
               partir de los registros originales */
            matrix([a1,b2,c3],[a2,b2,c2]).last(res);
                   [ .9239 b2 - .3827 a1  1.0 c3  .3827 b2 + .9239 a1 ]
      (%o5)        [                                                  ]
                   [ .9239 b2 - .3827 a2  1.0 c2  .3827 b2 + .9239 a2 ]

Siguiente: Funciones y variables para gráficos estadísticos, Anterior: Funciones y variables para el tratamiento de datos, Subir: descriptive [Índice general][Índice]