Funciones y variables de parámetros descriptivos (Manual de Maxima 5.46.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]