{{{ #!div style="width:15%; height:100%; float: left; clear: none; margin-top: 0em; margin-right: 1em; background: #ffb; border: 1px dotted #d00; color: #500; padding-left: 1em; padding-right: 1em" '''MMS''' [[BR]] [wiki:Introduction Introducción] [[BR]] [[BR]] '''Paquetes''' [[BR]] [wiki:MMS.1] [[BR]] [wiki:RandVar] [[BR]] [wiki:DecoTools] }}} {{{ #!div style="width:50%; height:100%; margin-left: 20%; padding-left: 2em; padding-right: 2em" = Paquete RandVar = 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. == Variables aleatorias de tipo Real == Para crear una variable aleatoria tipo Real con distribución Normal, se especificará la media y la desviación típica. Por ejemplo: {{{ RandVar::@Real.Normal r1 = RandVar::@Real.Normal::Default(0, 10); }}} Es posible obtener un ejemplo de esta variable usando el método {{{GetExperiment()}}}: {{{ Real ej1 = r1::GetExperiment(?); }}} 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. También podemos crear una variable aleatoria tipo Real a partir de un conjunto de valores reales. {{{ Set sample = [[1, 2, 1.2, 3, 1.1, 1.9, 2.2, 5, 1.3]]; RandVar::@Real.Sample r2 = RandVar::@Real.Sample::Default(sample); }}} Para conocer la media y la desviación típica usamos {{{GetMean()}}} y {{{GetSigma}}}, por ejemplo: {{{ Real rMean = r2::GetMean(?); Real rSigma = r2::GetSigma(?); }}} == Variables aleatorias de tipo Matrix == 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: {{{ RandVar::@Matrix.Normal m1 = RandVar::@Matrix.Normal::Definition(10, 2, 1, 10); }}} Podemos crear una variable aleatoria tipo Matrix basados en una muestra como sigue: {{{ RandVar::@Matrix.Sample m2 = RandVar::@Matrix.Sample::Default( For(1, 1000, Matrix (Real k) { m1::GetExperiment(?) }) ); }}} Si queremos conocer su media y desviación típica, usamos: {{{ Serie mean = m2::GetMean(?); Serie stddev = m2::GetVariance(?); }}} == Variables aleatorias de tipo Serie == 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. 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: {{{ RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Definition(C, y2008, y2009, 0, 9); }}} 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: {{{ Serie serieMean = ... Serie serieSigma = ... ... RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Default(serieMean, 5); RandVar::@Serie.Normal ts2 = RandVar::@Serie.Normal::Default(serieMean, serieSigma); }}} Un ejemplo de variable aleatoria tipo Serie creada a partir de una muestra: {{{ Set sample = For(1, 1000, Serie (Real k) { ts1::GetExperiment(?) }); RandVar::@Serie.Sample ts3 = RandVar::@Serie.Sample::Default(sample); }}} Podríamos conocer su media y desviación típica por medio de {{{GetMean()}}} y {{{GetSigma()}}}. Ejemplo: {{{ Serie mean = ts3::GetMean(?); Serie variance = ts3::GetVariance(?); }}} }}}