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 15 years ago

Closed 12 years ago

Last modified 12 years ago

#346 closed enhancement (fixed)

Tablas de contingencia en modelos de respuesta cualitativa (Logit, Probit)

Reported by: atorre Owned by: Pedro Gea
Priority: major Milestone: Development 1B
Component: Results Keywords: respuesta cualitativa, Logit, Probit, Results, Tablas, Contigencia
Cc: cperez@…, mamigo@…, jgallardo@…, irobles@…

Description (last modified by Pedro Gea)

Hola MMS,
¿se podría incorporar a los resultados de las estimaciones de modelos Logit y Probit las tablas de contingencia?

Sigue a continuación una función que devuelve distintas tablas de contingencia dada una estimación:

Set MMS_ContingencyTables(NameBlock est)
{
  Set subModels = est::GetModel.Results(?)::GetSubmodels(?);
  Matrix y    = (subModels[1])::GetOutput.Original(?);
  Matrix yEst = (subModels[1])::GetPrediction(?);
  Real prob = MatSum(y)/Rows(y);
  Real probMax = MatMax(yEst);
  Set conTabValues = SetOfReal(0.01, 0.05, 0.10, 0.25, 0.50, 0.75, 0.9) <<
    SetOfReal(prob, 2*prob, probMax);
  Set EvalSet(conTabValues, Set(Real value)
  {
    Eval("Set CT_"+ FormatReal(value, "%.4lf") +
         " = ContingencyTable(y, yEst, value);")
  })
};

Notar que la función ContingencyTable está en StdLib.

Sería ideal poder acceder a estos resultados con una opción de botón derecho desde la estimación.

Attachments (2)

MétricasQRM.docx (41.6 KB) - added by imendez 14 years ago.
Métricas para modelos de respuesta cualitativa binaria (QRM)
roc.png (13.8 KB) - added by Pedro Gea 12 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 15 years ago by Pedro Gea

Description: modified (diff)
Type: defectenhancement

comment:2 Changed 15 years ago by Pedro Gea

Component: GeneralResults

comment:3 Changed 14 years ago by imendez

Hola, al igual que sucede con el área ROC (#347), creo que esto debería formar parte de los resultados de una estimación, pudiendo ser excluido mediante algún parámetro de configuración de la estimación (por ejemplo _.DoROC, al estilo del _.DoStatistics de Estimate).
Además, este resultado requiere que el usuario defina el conjunto de puntos de corte _.ConTabValues para el que quiere calcular las tablas de contingencia (en el código de ejemplo, es el conjunto conTabValues).

¿Tiene sentido que esos parámetros _.DoROC y _.ConTabValues formen parte de unas Settings de la estimación de este tipo de modelos?

Por cierto, aprovecho para insistir en la resolución de este ticket.

Un saludo.

comment:4 Changed 14 years ago by imendez

En el anterior comentario, donde decía _.DoROC quería decir _.DoConTab.

Adjunto un documento orientativo sobre algunas métricas para la evaluación de modelos de respuesta cualitativa binaria. Sería interesante incorporar todas esas métricas a los resultados de una estimación de un modelo Logit o Probit.
Hay dos grupos de métricas:

  • Uno de métricas discretas, que se pueden mostrar en las tablas de contingencia.
  • Otro de métricas continuas, más relacionado con #347 y #702.

La mayoría de las definiciones de este documento están extraídas de http://es.wikipedia.org/wiki/Curva_ROC

Un saludo.

Changed 14 years ago by imendez

Attachment: MétricasQRM.docx added

Métricas para modelos de respuesta cualitativa binaria (QRM)

comment:5 Changed 12 years ago by Pedro Gea

Resolution: fixed
Status: newclosed

La implementación de los métodos para obtener la curva ROC o las tablas de contingencia fue implementado en el paquete QltvRespModel. Véase TOL#1350.

En MMS, estas opciones se incorporan a través de menú contextual sobre un objeto de tipo @Submodel.Results como este:

NameBlock submodelR = <estimation>::GetModel.Results(?)::GetSubmodel(1)

cuando el submodelo es de tipo probit o logit:

->Estadísticos->Obtener curva ROC (interpolada)

Esta opción devuelve un objeto QltvRespModel::@InterpolationROC construido con 400 puntos como:

QltvRespModel::@InterpolationROC roc = QltvRespModel::@InterpolationROC::Default(
  submodelR::GetOutput(?), submodelR::GetPrediction(?), 400);

Este objeto a través de su menu contextual facilita graficar la curva ROC y las tablas de contingencia.

Changed 12 years ago by Pedro Gea

Attachment: roc.png added

comment:6 Changed 12 years ago by Pedro Gea


Note: See TracTickets for help on using tickets.