Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

-46%
Le deal à ne pas rater :
Yakuza Like a Dragon Jeu PS5
32.19 € 59.99 €
Voir le deal

Modéliser des valeurs strictement positives

5 participants

Aller en bas

Modéliser des valeurs strictement positives Empty Modéliser des valeurs strictement positives

Message par zezima Lun 17 Aoû 2020 - 11:15

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
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par gg Lun 17 Aoû 2020 - 13:49

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 Very Happy

gg

Nombre de messages : 2172
Date d'inscription : 10/01/2011

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par niaboc Lun 17 Aoû 2020 - 17:16

Bonjour,

Intégrer une contrainte sur les coefficients pour les forcer à être positif sinon?

Niaboc
niaboc
niaboc

Nombre de messages : 996
Age : 34
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par Ayana Mar 18 Aoû 2020 - 12:33

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
Ayana
Ayana

Nombre de messages : 549
Localisation : Londres
Date d'inscription : 18/08/2009

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par zezima Mar 18 Aoû 2020 - 12:39

Bonjour, merci à tous les trois pour vos réponses

gg a écrit:On peut penser à écrire Y = Z²
J'ai essayé mais ça ne fonctionne pas toujours car l'intercept estimé du modèle peut être négatif.
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.

niaboc a écrit:Intégrer une contrainte sur les coefficients pour les forcer à être positif sinon?
Tu pensais à quelle contrainte exactement ?

Ayana a écrit:
Malheureusement je cherche à faire de la prédiction individuelle

Merci
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par niaboc Mar 18 Aoû 2020 - 13:36

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
niaboc
niaboc

Nombre de messages : 996
Age : 34
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par zezima Mer 19 Aoû 2020 - 8:28

Merci niaboc, je vais regarder si c'est également une option possible pour l'outcome (Y)
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par Eric Wajnberg Mer 19 Aoû 2020 - 9:29

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.
Eric Wajnberg
Eric Wajnberg

Nombre de messages : 1223
Date d'inscription : 14/09/2012

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par zezima Jeu 20 Aoû 2020 - 9:03

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
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
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par Eric Wajnberg Jeu 20 Aoû 2020 - 14:53

Ok, je comprends.

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))
C'est la prise en compte d'un plan de régression (deux variables) qui va dans des valeurs négatives. Mais j'ai compris. Merci.

Eric.
Eric Wajnberg
Eric Wajnberg

Nombre de messages : 1223
Date d'inscription : 14/09/2012

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par zezima Jeu 20 Aoû 2020 - 15:04

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

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
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Modéliser des valeurs strictement positives Empty Re: Modéliser des valeurs strictement positives

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum