Buenas tardes, tengo una variable bimodal (*var)*, de presencias y ausencias (1s y 0s) y otra variable, *prob*, con las probabilidades que le asigna un modelo (entre 0 y 1). Con: *ggplot(Preds, aes(x=prob, fill= var )) + geom_density(alpha=.3)* obtengo la distribución de las presencias y de las ausencias, por separado, en función del valor de probabilidad asignado. Las dos curvas se cruzan en un punto. ¿Sabéis si hay forma de averiguar el valor de *prob* de ese punto analíticamente? Gracias, Manuel [image: image.png] ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/e5ac9c22/attachment.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 12490 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/e5ac9c22/attachment.png>
Hola Manuel, Resolver el punto de corte de forma analítica implicaría el tener ajustada cada densidad también de forma analítica. Una alternativa que se me ocurre es la siguiente: - Con la función "density()" ajustar la densidad de las presencias y las ausencias. - Con esta función (del paquete base) obtienes los valores x e y. Seguro que dentro del objeto de ggplot también está, pero con "density()" acceder a esos valores es mucho más sencillo. - Esos valores x, y de cada densidad, los puedes ajustar con una función polinómica, o vaya si conoces el tipo de función analítica a la que se debieran de ajustar, puedes ajustar los valores a esos datos (función "nls()" ). - Y teniendo ya las funciones analíticas el problema se reduce a solucionar el sistema de ecuaciones para encontrar los puntos de corte (función "solve()"). Vaya, es un tanto elaborado, pero con un par de funciones sencillas, se puede automatizar todo esto. :-). Gracias, Carlos Ortega www.qualityexcellence.es El lun., 24 ago. 2020 a las 14:17, Manuel Mendoza (< mmendoza en fulbrightmail.org>) escribió:> Buenas tardes, tengo una variable bimodal (*var)*, de presencias y > ausencias (1s y 0s) y otra variable, *prob*, con las probabilidades que > le asigna un modelo (entre 0 y 1). > Con: *ggplot(Preds, aes(x=prob, fill= var )) + geom_density(alpha=.3)* > obtengo la distribución de las presencias y de las ausencias, por > separado, en función del valor de probabilidad asignado. Las dos curvas se > cruzan en un punto. ¿Sabéis si hay forma de averiguar el valor de *prob* de > ese punto analíticamente? > Gracias, > Manuel > [image: image.png] > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/1047dcd5/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 12490 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/1047dcd5/attachment-0001.png>
Creo que el problema se podría simplificar y aún obtener un resultado aceptable si simplemente haces un ajuste lineal en un entorno del punto. Como ya tienes los valores de los puntos de cada curva como dices Carlos, creo que con esa información podrías identificar un entorno adecuado en el cual ajustar linealmente. Cuéntanos como te va, Saludos !! Eric. On 24-08-20 12:52, Carlos Ortega wrote:> Hola Manuel, > > Resolver el punto de corte de forma analítica implicaría el tener > ajustada cada densidad también de forma analítica. > Una alternativa que se me ocurre es la siguiente: > > * Con la función "density()" ajustar la densidad de las presencias y > las ausencias. > o Con esta función (del paquete base) obtienes los valores x e > y. Seguro que dentro del objeto de ggplot también está, pero > con "density()" acceder a esos valores es mucho más sencillo. > * Esos valores x, y de cada densidad, los puedes ajustar con una > función polinómica, o vaya si conoces el tipo de función analítica > a la que se debieran de ajustar, puedes ajustar los valores a esos > datos (función "nls()" ). > o Y teniendo ya las funciones analíticas el problema se reduce a > solucionar el sistema de ecuaciones para encontrar los puntos > de corte (función "solve()"). > > Vaya, es un tanto elaborado, pero con un par de funciones sencillas, > se puede automatizar todo esto. :-). > > Gracias, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > El lun., 24 ago. 2020 a las 14:17, Manuel Mendoza > (<mmendoza en fulbrightmail.org <mailto:mmendoza en fulbrightmail.org>>) > escribió: > > Buenas tardes, tengo una variable bimodal (/var)/, de presencias y > ausencias (1s y 0s) y otra variable, /prob/, con las > probabilidades que le asigna un modelo (entre 0 y 1). > Con: *ggplot(Preds, aes(x=prob, fill= var )) + geom_density(alpha=.3)* > obtengo la distribución de las presencias y de las ausencias, por > separado, en función del valor de probabilidad asignado. Las dos > curvas se cruzan en un punto. ¿Sabéis si hay forma de averiguar el > valor de /prob/ de ese punto analíticamente? > Gracias, > Manuel > image.png > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > <https://stat.ethz.ch/mailman/listinfo/r-help-es> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/c6bd9cf0/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 12490 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20200824/c6bd9cf0/attachment-0001.png>