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.

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1029 closed doubt (fixed)

Diferentes gramáticas de salida del método Estimation::GetParameters(?)

Reported by: lmperez Owned by: Pedro Gea
Priority: minor Milestone: Maintenance
Component: Results Keywords: GetParameters, Parameters
Cc:

Description (last modified by Pedro Gea)

Hola MMS, teniendo estimado un modelo y queriendo obtener los parámetros de esa estimación con el método estimation::GetParameters(?), obtengo objetos de gramáticas diferentes si el modelo estimado es un Logit (devuelve Real) o es una regresión bayesiana (devuelve @Real.Sample)
No se si esto es un error, por eso os lo comento.

Gracias de antemano

Change History (5)

comment:1 Changed 13 years ago by lmperez

Perdón, quería decir un modelo Probit, no Logit.

comment:2 Changed 13 years ago by Pedro Gea

Description: modified (diff)
Milestone: Maintenance
Status: newaccepted
Type: defectdoubt
version: 1

comment:3 Changed 13 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

Hola, no se trata de un error, las estimaciones de los parámetros pueden ser reales (gramática Real) o reales aleatorios (instancias de RandVar::@Real.Random). La elección de uno u otro tipo de objeto depende del estimador.

Te cuento brevemente:
Para poder recoger en un objeto el valor estimado (pero no sólo su valor esperado o su media) de un parámetro, se creó el paquete RandVar (independiente del paquete MMS, pero vinculado a este proyecto) destinado a gestionar las variables aleatorias.

El paquete permite definir como una extensión a las gramáticas de datos (Real, Serie, Matrix,...) instancias no-deterministas o aleatorias de los datos. Concretamente para los reales disponemos de dos clases usadas muy frecuentemente en MMS:

  • RandVar::@Real.Normal: que representa a una variable aleatoria real con distribución normal.
  • RandVar::@Real.Sample: que representa a una variable aleatoria real para la cual disponemos de una muestra.

Veamos el ejemplo:

#Require RandVar;

// Variable (determinista) real:
Real a = 1.0;

// Variable aleatoria real de tipo normal:
RandVar::@Real.Normal b = RandVar::@Real.Normal::Default(1.0, 0.5);
// como variable aleatoria puedo pedirle estadísticos:
Real b::GetMean(?);
Real b::GetMedian(?);
Real b::GetVariance(?);
// o incluso una muestra:
Set sample = For(1, 1000, Real (Real i) {
  Real b::GetExperiment(?)
});

// Variable aleatoria real de tipo muestra:
// Uso la muestra de la variable b para crear esta nueva variable.
RandVar::@Real.Sample c = RandVar::@Real.Sample::Default(sample);
// puedo obtener también algunos estadísticos de c y compararlos con los de b
Real c::GetMean(?);
Real c::GetMedian(?);
Real c::GetVariance(?);

Nota que tanto a, b como c son reales válidos para la estimación de un parámetro

comment:4 Changed 13 years ago by lmperez

Ok, muchas gracias por la explicación. No estaba seguro si era un fallo o no.

Un abrazo

comment:5 Changed 13 years ago by Pedro Gea

Véase también #921.

Note: See TracTickets for help on using tickets.