| 1 | = Paquete RandVar = |
| 2 | |
| 3 | El paquete RandVar permite la creación de variables aleatorias. Las variables aleatorias se basan en una gramática y en un tipo de distribución o muestra. Por ejemplo, es igualmente posible: crear una variable aleatoria tipo Real con distribución normal, crear una variable aleatoria tipo Serie a partir de una estructura ARIMA o crear una variable aleatoria tipo Matrix basado en una muestra de matrices de igual dimensión. |
| 4 | |
| 5 | == Variables aleatorias de tipo Real == |
| 6 | Para crear una variable aleatoria tipo Real con distribución Normal, se especificará la media y la desviación típica. Por ejemplo: |
| 7 | {{{ |
| 8 | RandVar::@Real.Normal r1 = RandVar::@Real.Normal::Default(0, 10); |
| 9 | }}} |
| 10 | Es posible obtener un ejemplo de esta variable usando el método {{{GetExperiment()}}}: |
| 11 | {{{ |
| 12 | Real ej1 = r1::GetExperiment(?); |
| 13 | }}} |
| 14 | De forma similar, utilizando el método {{{GetExperiment()}}} es posible obtener una serie ejemplo a partir de una variable aleatoria tipo Serie, u obtener una matriz ejemplo a partir de una variable aleatoria tipo Matrix. |
| 15 | |
| 16 | También podemos crear una variable aleatoria tipo Real a partir de un conjunto de valores reales. |
| 17 | {{{ |
| 18 | Set sample = [[1, 2, 1.2, 3, 1.1, 1.9, 2.2, 5, 1.3]]; |
| 19 | RandVar::@Real.Sample r2 = RandVar::@Real.Sample::Default(sample); |
| 20 | }}} |
| 21 | Para conocer la media y la desviación típica usamos {{{GetMean()}}} y {{{GetSigma}}}, por ejemplo: |
| 22 | {{{ |
| 23 | Real rMean = r2::GetMean(?); |
| 24 | Real rSigma = r2::GetSigma(?); |
| 25 | }}} |
| 26 | |
| 27 | |
| 28 | == Variables aleatorias de tipo Matrix == |
| 29 | Para crear una variable aleatoria tipo Matrix con distribución normal, podemos especificar (en este orden): la cantidad de filas, cantidad de columnas, la media y la desviación típica. Por ejemplo: |
| 30 | {{{ |
| 31 | RandVar::@Matrix.Normal m1 = RandVar::@Matrix.Normal::Definition(10, 2, 1, 10); |
| 32 | }}} |
| 33 | |
| 34 | Podemos crear una variable aleatoria tipo Matrix basados en una muestra como sigue: |
| 35 | {{{ |
| 36 | RandVar::@Matrix.Sample m2 = RandVar::@Matrix.Sample::Default( |
| 37 | For(1, 1000, Matrix (Real k) |
| 38 | { |
| 39 | m1::GetExperiment(?) |
| 40 | }) |
| 41 | ); |
| 42 | }}} |
| 43 | |
| 44 | Si queremos conocer su media y desviación típica, usamos: |
| 45 | {{{ |
| 46 | Serie mean = m2::GetMean(?); |
| 47 | Serie stddev = m2::GetVariance(?); |
| 48 | }}} |
| 49 | |
| 50 | == Variables aleatorias de tipo Serie == |
| 51 | Podemos crear varias clases de variables aleatorias tipo Serie. Por ejemplo: basados en una distribución normal, a partir de una muestra, a partir de la especificación de una estructura ARIMA, o a partir de una distribución BoxCox Normal. |
| 52 | |
| 53 | En el caso de variables aleatorias tipo Serie con distribución Normal pudiera crearse especificando (en ese orden): fechado, fecha inicial, fecha final, media y desviación típica. Por ejemplo: |
| 54 | {{{ |
| 55 | RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Definition(C, y2008, y2009, 0, 9); |
| 56 | }}} |
| 57 | Una alternativa es especificar una Serie con los valores de la media y la desviación típica que puede ser un valor real o una Serie. Ejemplo: |
| 58 | {{{ |
| 59 | Serie serieMean = ... |
| 60 | Serie serieSigma = ... |
| 61 | ... |
| 62 | RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Default(serieMean, 5); |
| 63 | RandVar::@Serie.Normal ts2 = RandVar::@Serie.Normal::Default(serieMean, serieSigma); |
| 64 | }}} |
| 65 | Un ejemplo de variable aleatoria tipo Serie creada a partir de una muestra: |
| 66 | {{{ |
| 67 | Set sample = For(1, 1000, Serie (Real k) |
| 68 | { ts1::GetExperiment(?) }); |
| 69 | RandVar::@Serie.Sample ts3 = RandVar::@Serie.Sample::Default(sample); |
| 70 | }}} |
| 71 | Podríamos conocer su media y desviación típica por medio de {{{GetMean()}}} y {{{GetSigma()}}}. Ejemplo: |
| 72 | {{{ |
| 73 | Serie mean = ts3::GetMean(?); |
| 74 | Serie variance = ts3::GetVariance(?); |
| 75 | }}} |