Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Modéliser des valeurs strictement positives
5 participants
Page 1 sur 1
Modéliser des valeurs strictement positives
Bonjour,
Je travaille sur la modélisation d'un marqueur Y strictement positif compris entre 0 et 150.
Mon objectif est de sélectionner quelques biomarqueurs qui prédisent Y - par défaut j'utilise la régression linéaire.
J'ai checké les 4 hypothèses avant d'appliquer la régression linéaire (linéarité, homoscédasticité et normalité des résidus, indépendance) et tous semblent plutôt tenir la route.
En sélectionnant mes modèles optimums, je me retrouve avec une variable qui a un coefficient négatif et qui entraîne quelques valeurs négatives en prédiction (ce qui n'est théoriquement pas possible).
Je me demandais s'il existait une transformation à faire dans mon modèle afin que je puisse ne pas avoir de valeurs prédites positives ?
Ou alors peut-être faudrait-il utiliser un autre modèle que la régression linéaire ?
Merci
Je travaille sur la modélisation d'un marqueur Y strictement positif compris entre 0 et 150.
Mon objectif est de sélectionner quelques biomarqueurs qui prédisent Y - par défaut j'utilise la régression linéaire.
J'ai checké les 4 hypothèses avant d'appliquer la régression linéaire (linéarité, homoscédasticité et normalité des résidus, indépendance) et tous semblent plutôt tenir la route.
En sélectionnant mes modèles optimums, je me retrouve avec une variable qui a un coefficient négatif et qui entraîne quelques valeurs négatives en prédiction (ce qui n'est théoriquement pas possible).
Je me demandais s'il existait une transformation à faire dans mon modèle afin que je puisse ne pas avoir de valeurs prédites positives ?
Ou alors peut-être faudrait-il utiliser un autre modèle que la régression linéaire ?
Merci
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Modéliser des valeurs strictement positives
Bonjour.
On peut penser à écrire Y = Z² et chercher si Z peut être correctement modélisé, ou bien Y=exp(Z).
Mais si ça marche bien et que les valeurs négatives n'arrivent que très rarement, conserver le modèle est une option.
Cordialement.
Nb : Grâce à toi, ce forum a repris vie
On peut penser à écrire Y = Z² et chercher si Z peut être correctement modélisé, ou bien Y=exp(Z).
Mais si ça marche bien et que les valeurs négatives n'arrivent que très rarement, conserver le modèle est une option.
Cordialement.
Nb : Grâce à toi, ce forum a repris vie
gg- Nombre de messages : 2174
Date d'inscription : 10/01/2011
Re: Modéliser des valeurs strictement positives
Bonjour,
Intégrer une contrainte sur les coefficients pour les forcer à être positif sinon?
Niaboc
Intégrer une contrainte sur les coefficients pour les forcer à être positif sinon?
Niaboc
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Modéliser des valeurs strictement positives
Hello,
Si ton objectif n'est pas de faire des prédictions individuelles mais simplement d'estimer les coefficients de ton modele, ce n'est pas trop problématique d'avoir des prédictions négatives, car tant que les hypotheses du modele sont valides, tu auras des estimations non biaisées de tes parametres.
Et je suis d'accord avec gg, ca fait plaisir de revoir de la vie sur ce forum :-)
Ayana
Si ton objectif n'est pas de faire des prédictions individuelles mais simplement d'estimer les coefficients de ton modele, ce n'est pas trop problématique d'avoir des prédictions négatives, car tant que les hypotheses du modele sont valides, tu auras des estimations non biaisées de tes parametres.
Et je suis d'accord avec gg, ca fait plaisir de revoir de la vie sur ce forum :-)
Ayana
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: Modéliser des valeurs strictement positives
Bonjour, merci à tous les trois pour vos réponses
J'ai essayé autre chose qui semble fonctionner (mais qui semble augmenter le RMSE), j'écris le modèle racine(Y) = Z et je mets au carré chaque point prédit. Les prédictions sont toutes positives et assez vraisemblables.
Merci
J'ai essayé mais ça ne fonctionne pas toujours car l'intercept estimé du modèle peut être négatif.gg a écrit:On peut penser à écrire Y = Z²
J'ai essayé autre chose qui semble fonctionner (mais qui semble augmenter le RMSE), j'écris le modèle racine(Y) = Z et je mets au carré chaque point prédit. Les prédictions sont toutes positives et assez vraisemblables.
Tu pensais à quelle contrainte exactement ?niaboc a écrit:Intégrer une contrainte sur les coefficients pour les forcer à être positif sinon?
Malheureusement je cherche à faire de la prédiction individuelleAyana a écrit:
Merci
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Modéliser des valeurs strictement positives
Une contrainte sur les paramètres du modèles, par exemple du type :
y=ax+bz+d avec a, b, d>0
qui peut se faire avec la proc nlin en sas ou fonction nls en R.
Niaboc
y=ax+bz+d avec a, b, d>0
qui peut se faire avec la proc nlin en sas ou fonction nls en R.
Niaboc
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Modéliser des valeurs strictement positives
Merci niaboc, je vais regarder si c'est également une option possible pour l'outcome (Y)
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Modéliser des valeurs strictement positives
Hello à tous,
Je ne suis pas trop sûr de bien comprendre la question, en fait.
Sachant que la variable à expliquer est toujours positive (comprise entre 0 et 150), on ne voit pas bien comment un modèle de régression, qui passe au mieux dans les points, en arrive à prédire des valeurs négatives. Est-ce ceci le problème ? La phrase "je me retrouve avec une variable qui a un coefficient négatif" ne veux pas nécessairement dire que les variables modélisées prédites sont négatives. Ceci mérite une explication.
Par ailleurs, dans une régression, et surtout dans une démarche de prédiction, il ne fait pas bon aller chercher des valeurs prédites en dehors du range des variables explicatives. Rien ne prouve que le modèle (linéaire ou non) soit valide en-dehors de ces ranges. Serait-ce là le problème ?
Bref, je ne comprends pas comment le modèle peut prédire des variables négatives. Peut-être un graphique serait nécessaire ici ?
HTH, Eric.
Je ne suis pas trop sûr de bien comprendre la question, en fait.
Sachant que la variable à expliquer est toujours positive (comprise entre 0 et 150), on ne voit pas bien comment un modèle de régression, qui passe au mieux dans les points, en arrive à prédire des valeurs négatives. Est-ce ceci le problème ? La phrase "je me retrouve avec une variable qui a un coefficient négatif" ne veux pas nécessairement dire que les variables modélisées prédites sont négatives. Ceci mérite une explication.
Par ailleurs, dans une régression, et surtout dans une démarche de prédiction, il ne fait pas bon aller chercher des valeurs prédites en dehors du range des variables explicatives. Rien ne prouve que le modèle (linéaire ou non) soit valide en-dehors de ces ranges. Serait-ce là le problème ?
Bref, je ne comprends pas comment le modèle peut prédire des variables négatives. Peut-être un graphique serait nécessaire ici ?
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Modéliser des valeurs strictement positives
Salut Eric,
Un modèle même évalué sur un jeu de données d'entraînement ne passera pas par tous les points (surtout un modèle linéaire).
Ce qui fait donc qu'il y aura potentiellement des erreurs calculées entre chaque observation et chaque prédiction.
Etant donné que certaines observations ont des valeurs de 0, il est facile pour le modèle de faire une estimation erronée autour de 0 et donc de prédire une valeur négative.
Voici une exemple sur R
Un modèle même évalué sur un jeu de données d'entraînement ne passera pas par tous les points (surtout un modèle linéaire).
Ce qui fait donc qu'il y aura potentiellement des erreurs calculées entre chaque observation et chaque prédiction.
Etant donné que certaines observations ont des valeurs de 0, il est facile pour le modèle de faire une estimation erronée autour de 0 et donc de prédire une valeur négative.
Voici une exemple sur R
- Code:
set.seed(3)
y=c(0,0,0,0,1,2,3,4,5,6)
x1=rnorm(10,10,2)
x2=rnorm(10,7,1)
dataset=data.frame(y=y,x1=x1,x2=x2)
mod=lm(y~x1+x2,data=dataset)
predict(mod,data=dataset)
plot(y,predict(mod,data=dataset),pch=19,lwd=10,xlab="obs",ylab="pred")
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Modéliser des valeurs strictement positives
Ok, je comprends.
Si on regarde chaque variable séparément, sur l'exemple que tu donnes, les prédictions sont toutes positives.
Eric.
Si on regarde chaque variable séparément, sur l'exemple que tu donnes, les prédictions sont toutes positives.
- Code:
predict(lm(y~x1))
predict(lm(y~x2))
Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Modéliser des valeurs strictement positives
Oui exactement, ensuite c'est possible d'avoir des prédictions négatives quel que soit le nombre de variables prédictrices dans le modèle, dans l'exemple ci-dessous c'est le cas avec une VI
Après ça met surtout en lumière les pauvres performances du modèle
- Code:
set.seed(47)
y=c(0,0,0,0,1,2,3,4,5,6)
x1=rnorm(10,10,2)
dataset=data.frame(y=y,x1=x1)
mod=lm(y~x1,data=dataset)
predict(mod,data=dataset)
plot(y,predict(mod,data=dataset),pch=19,lwd=10,xlab="obs",ylab="pred")
Après ça met surtout en lumière les pauvres performances du modèle
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Sujets similaires
» comment les valeurs estimées toujours positives avec GLM?
» comment modéliser ceci ?
» comment modéliser un processus?? c urgent!!
» Pour modéliser par une régression de poisson ?
» Modéliser un taux avec une régression logistique
» comment modéliser ceci ?
» comment modéliser un processus?? c urgent!!
» Pour modéliser par une régression de poisson ?
» Modéliser un taux avec une régression logistique
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum