Comprendre les résultats d'une régression linéaire

Aide à la résolution d'exercices ou de problèmes de niveau Supérieur.

Modérateur: gdm_aidesco

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser le mode LaTeX (voir ici) afin de rendre vos formules plus lisibles.
> Ne poster qu'un exercice (ou problème) par sujet et indiquer son niveau précis dans le titre du message.

Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mardi 08 Décembre 2015, 10:25

Bonjour,

j'ai des caractéristiques qui décrivent un phénomène à différents instants. Afin d'évaluer la performance individuelle de chaque caractéristique, je fais une régression linéaire avec validation croisée, puis je calcule deux corrélations et deux erreurs pour évaluer le résultats.

Donc pour une variable, je fais quelque chose du genre :
  • Entrées : phénomène $P={P_t_1, ..., P_t_n}$, caractéristique $C={C_t_1, ..., C_t_n}$
  • Régression linéaire de $P$ en fonction de $C$, plus leave one out.
  • Calcul de deux corrélations (linéaire et spearman) et de deux erreur (moyenne de erreurs absolues et des carrés)

Pour certaines de ces variables, les deux corrélations sont très bonne (> 0.9), mais lorsque je regarde les valeurs prédites, je m'aperçois qu'elles sont toutes proches de la moyenne (des valeurs à prédire, donc de la moyenne de $P$). Donc les erreurs sont grandes, ce qui voudrait donc dire que les résultats sont mauvais.

Comment est il possible d'avoir de si bonnes corrélations avec d'aussi mauvaises erreurs ?
Y a t-il un moyen de corriger cela ?

Pour les précision techniques, j'utilise weka avec l'option "-S 1" afin de ne pas faire de sélection de variables.

Merci par avance pour votre aide.
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Publicité

Re: Comprendre les résultats d'une régression linéaire

Messagepar raphkebab » Mercredi 09 Décembre 2015, 16:14

Bonjour,

J'ai plusieurs questions:

Pourquoi utilises tu weka ? (Les statistiques ne sont pas ton domaine ?)

Qu'elle est ton $R^2$-ajusté ?

J'ai vue un t qui se balade dans tes nom de variables.
Si tu as des données répétées une régression linéaire n'est sans doute pas judicieuse.

Es-tu sûr que le lien soit linéaire ?
On peut avoir une corrélation élevé sans que le lien soit linéaire, donc entraînerait des prédictions moyennes.
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mercredi 09 Décembre 2015, 21:18

raphkebab a écrit:Pourquoi utilises tu weka ? (Les statistiques ne sont pas ton domaine ?)

L'implémentation est disponible et c'est bien plus rapide que R.
De plus Weka est largement utilisé, donc j'ai confiance dans l'implémentation.


raphkebab a écrit:Qu'elle est ton $R^2$-ajusté ?

Pas calculé :-(
Formule ?





raphkebab a écrit:J'ai vue un t qui se balade dans tes nom de variables.
Si tu as des données répétées une régression linéaire n'est sans doute pas judicieuse.

Non, ce ne sont pas des données répétées. Le $t_i$ représentait juste les différents instants.

raphkebab a écrit:Es-tu sûr que le lien soit linéaire ?

Pas du tout et je pense même que la réponse finale est non. Mais c'était juste un premier essai.
Nous avons tenté depuis d'utiliser une réseau de neurones, mais nous n'avons pas eu plus de succès :-(
Est ce que tu aurais une régression non linéaire à me proposer ?


raphkebab a écrit:On peut avoir une corrélation élevé sans que le lien soit linéaire, donc entraînerait des prédictions moyennes.

C'est cette explication qui m'intéresse !!! :-)
Comment est ce que cela est il possible ?
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Re: Comprendre les résultats d'une régression linéaire

Messagepar raphkebab » Vendredi 11 Décembre 2015, 09:35

FiReTiTi a écrit:L'implémentation est disponible et c'est bien plus rapide que R.
De plus Weka est largement utilisé, donc j'ai confiance dans l'implémentation.

Weka est implémenté en java et R en C++ donc je ne pense pas que weka soit plus rapide (mais bon ce n'est pas la question).
Weka est c'est du presse boutons, c'est plus pour les non-spécialistes. R te donnera le $R^2$-ajusté et le $R^2$ directement.

$$R^2=1-\frac{\text{somme des carrés des résidus}}{somme des carrés totaux}$$


$$R^2\text{-ajusté}=1-\frac{(1-R^2)(n-1)}{n-k-1}$$


avec N le nombre de d'observations et k le nombre de degrés de libertés.

FiReTiTi a écrit:Non, ce ne sont pas des données répétées. Le $t_i$ représentait juste les différents instants.

Je n'est pas compris. Peux-tu expliquer ce que tu mesure et comment ?

FiReTiTi a écrit:Comment est ce que cela est il possible ?

Par exemple si le lien est quadratique.
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Lundi 14 Décembre 2015, 22:22

raphkebab a écrit:
FiReTiTi a écrit:Comment est ce que cela est il possible ?

Par exemple si le lien est quadratique.

Tu veux dire le lien entre les caractéristiques et les valeurs à prédire ?

Dans ce cas, je comprends tout à fait que les erreurs soient grandes, car la corrélation est mauvaise. Je fais la régression d'un phénomène non linéaire avec une fonction linéaire. Donc grandes erreurs.

Mais ce que je n'arrive pas à visualiser, c'est pourquoi est ce que les corrélations (linéaire et rangs) sont bonnes (voir excellentes).
Ce que j'entrevois, c'est que la régression linéaire est juste capable de trier les résultats afin qu'ils correspondent aux données à prédire : c'est-à-dire que si la valeur prédite pour une entrée donnée doit être plus petite que la moyenne des valeurs prédites, alors la régression la place en dessous. Donc en respectant ce semblant d'organisation, toutes les valeurs peuvent être bien triées, donc les corrélations basées sur le rang sont excellentes et les erreurs sont très grandes. Suis je clair ? Est ce bien ce qui se passe ?
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Re: Comprendre les résultats d'une régression linéaire

Messagepar raphkebab » Mardi 15 Décembre 2015, 10:25

Un exemple très concret.

$Y=X^2+e$ où e suis une loi normal centré d’écart-type 3.
On prend des mesures pour $x \in \llbracket 1;10 \rrbracket $.

J'ai fait la simulation et on obtiens.
Pour la corrélation entre $Y$ et $X$, on obtient en P-value à 7.18e-06.
Pour la corrélation entre $Y$ et $X^2$, on obtient en P-value à 3.01e-09.

La corrélation pour deux variable numérique est la probabilité que le coefficient d'une régression linéaire entre les deux variable soit nul.

Il faut bien comprendre l'hypothèse alternative : la valeur moyenne de $Y$ suffi à prédire.
Cette hypothèse ne rend pas compte du caractère croissant des valeur de $Y$ en fonction de $X$.
Donc par rapport à cette hypothèse un lien même linéaire à porte un gros plus pour les prédictions d'où la P-value à 7.18e-06.
Mais le modèle proposé est:

$$Y=-20.449+10.663+e$$


Pour $X=1$ on à une prédiction à -9.786 au lieu de 0.98504 avec le bon modèle.
Pour $X=10$ on à une prédiction à 86.181 au lieu de 98.504 avec le bon modèle.

Maintenant si tu mets les deux dans le modèle.
Tu as pour $X$ une P-value à 0.510856 et pour $X^2$ à 0.000277.

Donc soit tu fait des tests à la main en entrant plusieurs puissance de tes variables soit tu calcul la statistique de Box-Cox.

Sur mon profil linkedin, j'ai mis à disposition mes doc personnelles sur les logiciel R et SAS. Il y en à une sur les régression et une sur les tests (elle parle des tests à faire pour une régression linéaire), même si ce n'est pas sur les mêmes logiciels, il y a des explications succinctes sur les méthodes. Je pense que cela peut intéresser. [url=https://fr.linkedin.com/in/raphaël-busson-a5815792]ici[/url]

Une autre hypothèse est que tu as oublié de prendre en compte une interaction avec ta variable.
Exemple : $X1 \times X2$ comme nouvelle variable explicative.
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mardi 15 Décembre 2015, 10:43

Donc pour faire simple, mes résultats de régression sont mauvais.
Merci pour les liens, je vais étudier cela attentivement.

Est ce que ma seule chance de les améliorer est d'utiliser une méthode de régression plus complexe (certainement non linéaire) ?
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Re: Comprendre les résultats d'une régression linéaire

Messagepar raphkebab » Mardi 15 Décembre 2015, 15:17

Non par forcément. $Y=X^2+e$ c'est un modèle linéaire il suffi de créer si besoin (ça dépend des logiciels) une nouvelle variable $V=X^2$ et on à $Y=V+e$.

Dans tout les cas il faut calculer le $R^2$ et le $R^2-ajusté$.
Une autre possibilité est que la variance de ton $e$ est importent donc tu ne peux pas et tu ne pourras pas avoir de prédictions précises.
Le $R^2$ te donnera une indication sur l'amélioration que tu apportes par rapport fait de prendre la moyenne global comme estimation.

Je vient de regarder les sorties de weka pour une régression linéaire et je ne peut que t'encouragé à changé de logiciel.
Le $R^2=(\text{Root relative squared error})^2$. Leur coefficient corrélation ressemble plus à un "test de Anova" avec tout le modèle Vs la moyenne sans en être un.
Je croie qu'ils font un test de corrélation entre les prédictions du modèles du modèle et les valeurs attendus, mais je ne suis vraiment pas sûr (ce n'est pas un indicateur habituel.).
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mardi 15 Décembre 2015, 19:18

Merci, je vais calculer les $R^2$ de mon coté et vérifier s'ils correspondent.

Dans ce genre de problèmes non linéaires, est ce que tu aurais une régression "favorite", même si je sais que c'est souvent "problème dépendant". Nous avons tenté d'utiliser un réseau de neurones, mais sans succès. Ou du moins, les erreurs étaient comparables, mais les régressions bien moins bonnes.
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mardi 15 Décembre 2015, 21:55

Vu que Weka semble incomplet au niveau tests, est ce que tu connaîtrais une bonne librairie (C, C++, Java) qui teste les résultats d'une régression. Du genre une librairie qui aurait une fonction Evaluate(double[] predictions, double[] topredict) qui donnerait les erreurs, corrélations, etc.
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié

Re: Comprendre les résultats d'une régression linéaire

Messagepar raphkebab » Mercredi 16 Décembre 2015, 09:42

Va voir au département de mathématiques de ton Université, il y surement quelqu'un qui peut te faire ça.
Je ne connais pas les bibliothèques sous C, C++ et java pour les statistiques mais R est un langage de programmation avec des fonctions statistiques.
Comme tu programmes, R ne devrait te poser aucun problème.

Sans les données sous les yeux, je crains que personne ne puisse plus d'aider. :(
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat

Re: Comprendre les résultats d'une régression linéaire

Messagepar FiReTiTi » Mercredi 16 Décembre 2015, 21:04

Je travaille dans une université de médecine et je suis un des rares non biologistes/médecins.

J'ai rejeté un coup d'oeil à mes données et j'ai quelques outliers bien ennuyeux qu'il me faut détecter et supprimer.

Merci pour ton aide.
FiReTiTi
FiReTiTi
Hecto-utilisateur
 
Messages: 63
Inscription: Mercredi 26 Juillet 2006, 12:49
Localisation: Portland, OR, USA
Statut actuel: Actif et salarié


Retourner vers Exercices et problèmes : Supérieur

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google Adsense [Bot] et 5 invités