close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of RandVar


Ignore:
Timestamp:
Feb 28, 2012, 12:08:26 PM (13 years ago)
Author:
Daniel Eduardo Castro Morell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RandVar

    v1 v1  
     1= Paquete RandVar =
     2
     3El 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 ==
     6Para crear una variable aleatoria tipo Real con distribución Normal, se especificará la media y la desviación típica. Por ejemplo:
     7{{{
     8RandVar::@Real.Normal r1 = RandVar::@Real.Normal::Default(0, 10);
     9}}}
     10Es posible obtener un ejemplo de esta variable usando el método {{{GetExperiment()}}}:
     11{{{
     12Real ej1 = r1::GetExperiment(?);
     13}}}
     14De 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
     16También podemos crear una variable aleatoria tipo Real a partir de un conjunto de valores reales.
     17{{{
     18Set sample = [[1, 2, 1.2, 3, 1.1, 1.9, 2.2, 5, 1.3]];
     19RandVar::@Real.Sample r2 = RandVar::@Real.Sample::Default(sample);
     20}}}
     21Para conocer la media y la desviación típica usamos {{{GetMean()}}} y {{{GetSigma}}}, por ejemplo:
     22{{{
     23Real rMean = r2::GetMean(?);
     24Real rSigma = r2::GetSigma(?);
     25}}}
     26
     27
     28== Variables aleatorias de tipo Matrix ==
     29Para 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{{{
     31RandVar::@Matrix.Normal m1 = RandVar::@Matrix.Normal::Definition(10, 2, 1, 10);
     32}}}
     33
     34Podemos crear una variable aleatoria tipo Matrix basados en una muestra como sigue:
     35{{{
     36RandVar::@Matrix.Sample m2 = RandVar::@Matrix.Sample::Default(
     37  For(1, 1000, Matrix (Real k)
     38  {
     39    m1::GetExperiment(?)
     40  })
     41);
     42}}}
     43
     44Si queremos conocer su media y desviación típica, usamos:
     45{{{
     46Serie mean = m2::GetMean(?);
     47Serie stddev = m2::GetVariance(?);
     48}}}
     49
     50== Variables aleatorias de tipo Serie ==
     51Podemos 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
     53En 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{{{
     55RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Definition(C, y2008, y2009, 0, 9);
     56}}}
     57Una 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{{{
     59Serie serieMean = ...
     60Serie serieSigma = ...
     61...
     62RandVar::@Serie.Normal ts1 = RandVar::@Serie.Normal::Default(serieMean, 5);
     63RandVar::@Serie.Normal ts2 = RandVar::@Serie.Normal::Default(serieMean, serieSigma);
     64}}}
     65Un ejemplo de variable aleatoria tipo Serie creada a partir de una muestra:
     66{{{
     67Set sample = For(1, 1000, Serie (Real k)
     68{ ts1::GetExperiment(?) });
     69RandVar::@Serie.Sample ts3 = RandVar::@Serie.Sample::Default(sample);
     70}}}
     71Podríamos conocer su media y desviación típica por medio de {{{GetMean()}}} y {{{GetSigma()}}}. Ejemplo:
     72{{{
     73Serie mean = ts3::GetMean(?);
     74Serie variance = ts3::GetVariance(?);
     75}}}