coefficients de regression multiple négatifs
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

coefficients de regression multiple négatifs



  1. #1
    invite32170f2b

    coefficients de regression multiple négatifs


    ------

    Bonjour à tous,


    Je tente d'expliquer un vecteur ventes par différents vecteurs budgets +1 vecteur "semaine" en faisant une régression multiple.
    Mon objectif est de comprendre quel poids a en réalité chaque budget sur mes ventes.

    Cependant je me retrouve avec des coefficients négatifs, comme si investir à un "endroit" faisait perdre des ventes! Ce qui n'est bien sûr pas le cas car au pire ca n'en apporte pas, mais ca n'en fait pas perdre.

    Donc avez vous une explication ou aors peux-t-on forcer le modèle à n'avoir que des coefficients positifs?

    Je vous remercie d'avance

    -----

  2. #2
    invitec5eb4b89

    Re : coefficients de regression multiple négatifs

    Probablement parce que le logiciel que tu utilises centre tes variables pour effectuer la régression multiple ?

    Attention à la régression linéaire dans le cas de variables qualitatives, ça fait des choses bizarres parfois (cf. un autre post sur ce même forum).

  3. #3
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Citation Envoyé par HigginsVincent Voir le message
    Probablement parce que le logiciel que tu utilises centre tes variables pour effectuer la régression multiple ?

    Attention à la régression linéaire dans le cas de variables qualitatives, ça fait des choses bizarres parfois (cf. un autre post sur ce même forum).
    merci de ta réponse

    j'utilise R, qui centre peut être mes variables (je ne sais pas). Cependant, même en enlevant ma seule variable qualitative (le facteur "semaine") j'obtiens le même genre de résultats ==> ce que je ne trouve pas logique

  4. #4
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    la fonction lm de R ne centre pas. Mais si ça n'est pas logique d'avoir des coefficients de pente négatifs, peut-être qu'un modèle linéaire ne représente pas bien tes données. Tu pourrais essayer une régresion polynômiale, ou bien un modèle non linéaire, ou encore un modèle base sur les splines (gam), etc.

  5. A voir en vidéo sur Futura
  6. #5
    invitec5eb4b89

    Re : coefficients de regression multiple négatifs

    Alors, euh je crois que j'ai dit une bêtise : centrer les données ou non peut changer le coefficient de régression, mais pas le faire passer de positif à négatif !

    R centre bien les données (du moins la fonction lm), mais peut être que tes coefficients négatifs sont assez "petits" (proches de 0) pour considérer qu'ils sont en fait nuls ?

  7. #6
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    j'ai quand même un R² à 0.98 donc je pensais que le modèle expliquait bien mes données. D'autant plus que la différence entre valeurs prédites et valeurs estimées étaient très faible.

    Mais comme je suis en réalité dans une optique de prévision, tout ceci n'est pas non plus primordial!

    Donc je vais tenter d'autres modèles je suis d'accord avec toi Ambrosio.

    Pas d'idée lequel particulièrement, si quelqu'un a deja été confronté à ce genre de problèmes...?

    Merci en tout cas

  8. #7
    invitec5eb4b89

    Re : coefficients de regression multiple négatifs

    Pourrais-tu nous recopier la sortie de la commande

    summary(lm(y~X))

    en enlevant les champs que tu souhaites garder confidentiels ?

  9. #8
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    je vous mets l'anova + le summary

    à savoir que quand je ne mets pas le facteur semaine (tab[,1]), j'ai un R² un peu plus faible (0.95) mais j'ai le même genre de résultats


    > anova(res6)
    Analysis of Variance Table

    Response: Vventes2
    Df Sum Sq Mean Sq F value Pr(>F)
    e 1 615924388 615924388 3338.2232 7.019e-13 ***
    e1 1 33951646 33951646 184.0131 2.693e-07 ***
    e2 1 29685598 29685598 160.8917 4.794e-07 ***
    e3 1 24305405 24305405 131.7319 1.124e-06 ***
    e4 1 20307747 20307747 110.0651 2.397e-06 ***
    a 1 36228656 36228656 196.3542 2.035e-07 ***
    L 1 354902 354902 1.9235 0.1988536
    L1 1 1943476 1943476 10.5334 0.0100694 *
    L2 1 10171338 10171338 55.1272 3.997e-05 ***
    r 1 34118843 34118843 184.9193 2.636e-07 ***
    TV 1 2565674 2565674 13.9056 0.0047046 **
    s 1 16073566 16073566 87.1165 6.333e-06 ***
    s1 1 6348801 6348801 34.4096 0.0002390 ***
    s2 1 2008280 2008280 10.8846 0.0092420 **
    s3 1 28002 28002 0.1518 0.7059098
    s4 1 1227411 1227411 6.6524 0.0297345 *
    a2 1 1851778 1851778 10.0364 0.0114021 *
    a3 1 1286586 1286586 6.9731 0.0268844 *
    a4 1 22432300 22432300 121.5799 1.578e-06 ***
    c 1 9476067 9476067 51.3589 5.271e-05 ***
    c4 1 1288515 1288515 6.9836 0.0267973 *
    e3 1 6710894 6710894 36.3721 0.0001950 ***
    as.factor(tab[, 1]) 52 48627168 935138 5.0683 0.0065248 **
    Residuals 9 1660560 184507
    ---
    Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

    > summary(res6)

    Call:
    lm(formula = mod6)

    Residuals:
    Min 1Q Median 3Q Max
    -4.088e+02 -6.334e+01 9.271e-15 6.334e+01 4.088e+02

    Coefficients:
    Estimate Std. Error t value Pr(>|t|)
    e -2.297e-03 3.680e-03 -0.624 0.547992
    e1 -3.488e-04 4.255e-03 -0.082 0.936463
    e2 3.043e-03 4.491e-03 0.677 0.515153
    e3 6.268e-04 4.406e-03 0.142 0.890023
    e4 2.442e-03 2.838e-03 0.861 0.411742
    a -6.781e-02 4.631e-02 -1.464 0.177118
    L -1.941e-03 1.867e-02 -0.104 0.919484
    L1 8.492e-06 2.240e-02 0.000379 0.999706
    L2 4.959e-03 2.462e-02 0.201 0.844815
    r 4.151e-04 1.475e-04 2.814 0.020231 *
    TV 7.799e-04 5.189e-04 1.503 0.167090
    s -4.607e-01 4.269e-01 -1.079 0.308635
    s1 6.108e-01 6.479e-01 0.943 0.370487
    s2 3.577e-01 6.696e-01 0.534 0.606075
    s3 -3.283e-01 6.183e-01 -0.531 0.608307
    s4 7.060e-01 4.637e-01 1.523 0.162193
    a2 -9.502e-04 1.282e-03 -0.741 0.477457
    a3 4.409e-04 1.977e-03 0.223 0.828526
    a4 -1.717e-04 1.142e-03 -0.150 0.883804
    c 1.314e-02 3.184e-02 0.413 0.689481
    ci4 -4.822e-03 3.756e-02 -0.128 0.900674
    e3 1.178e-01 1.772e-01 0.665 0.522855
    as.factor(tab[, 1])1 2.155e+03 5.762e+03 0.374 0.717093
    as.factor(tab[, 1])2 4.134e+03 4.679e+03 0.884 0.399921
    as.factor(tab[, 1])3 2.891e+03 4.345e+03 0.665 0.522495
    as.factor(tab[, 1])4 2.899e+03 3.778e+03 0.767 0.462531
    as.factor(tab[, 1])5 2.490e+03 7.882e+02 3.159 0.011563 *
    as.factor(tab[, 1])6 1.972e+03 6.788e+02 2.905 0.017456 *
    as.factor(tab[, 1])7 1.183e+03 7.102e+02 1.666 0.130125
    as.factor(tab[, 1])8 8.935e+02 6.071e+02 1.472 0.175172
    as.factor(tab[, 1])9 2.555e+03 8.105e+02 3.153 0.011679 *
    as.factor(tab[, 1])10 2.059e+03 1.364e+03 1.510 0.165349
    as.factor(tab[, 1])11 2.063e+03 1.383e+03 1.491 0.170124
    as.factor(tab[, 1])12 2.104e+03 1.371e+03 1.535 0.159157
    as.factor(tab[, 1])13 2.574e+03 1.704e+03 1.511 0.165182
    as.factor(tab[, 1])14 1.980e+03 1.772e+03 1.117 0.292768
    as.factor(tab[, 1])15 1.277e+03 1.496e+03 0.854 0.415391
    as.factor(tab[, 1])16 1.603e+03 1.518e+03 1.056 0.318632
    as.factor(tab[, 1])17 2.363e+03 1.465e+03 1.613 0.141245
    as.factor(tab[, 1])18 2.360e+03 1.140e+03 2.070 0.068333 .
    as.factor(tab[, 1])19 2.242e+03 6.842e+02 3.277 0.009574 **
    as.factor(tab[, 1])20 2.376e+03 8.682e+02 2.736 0.022987 *
    as.factor(tab[, 1])21 2.209e+03 9.879e+02 2.236 0.052175 .
    as.factor(tab[, 1])22 1.639e+03 1.065e+03 1.539 0.158256
    as.factor(tab[, 1])23 2.313e+03 9.516e+02 2.431 0.037940 *
    as.factor(tab[, 1])24 2.165e+03 1.092e+03 1.982 0.078743 .
    as.factor(tab[, 1])25 2.256e+03 9.574e+02 2.357 0.042832 *
    as.factor(tab[, 1])26 2.026e+03 1.199e+03 1.690 0.125232
    as.factor(tab[, 1])27 1.720e+03 1.177e+03 1.462 0.177762
    as.factor(tab[, 1])28 1.457e+03 1.058e+03 1.377 0.201800
    as.factor(tab[, 1])29 2.007e+03 9.382e+02 2.139 0.061099 .
    as.factor(tab[, 1])30 2.223e+03 9.085e+02 2.447 0.036921 *
    as.factor(tab[, 1])31 2.509e+03 6.768e+02 3.708 0.004862 **
    as.factor(tab[, 1])32 3.091e+03 6.827e+02 4.527 0.001432 **
    as.factor(tab[, 1])33 2.998e+03 5.854e+02 5.122 0.000626 ***
    as.factor(tab[, 1])34 3.552e+03 7.489e+02 4.743 0.001054 **
    as.factor(tab[, 1])35 4.190e+03 7.904e+02 5.301 0.000493 ***
    as.factor(tab[, 1])36 1.140e+04 6.835e+03 1.668 0.129633
    as.factor(tab[, 1])37 -4.790e+03 1.038e+04 -0.461 0.655483
    as.factor(tab[, 1])38 -1.647e+03 1.074e+04 -0.153 0.881538
    as.factor(tab[, 1])39 8.260e+03 9.871e+03 0.837 0.424361
    as.factor(tab[, 1])40 -1.370e+04 1.856e+04 -0.738 0.479381
    as.factor(tab[, 1])41 -3.293e+03 1.685e+04 -0.195 0.849400
    as.factor(tab[, 1])42 -4.011e+03 1.698e+04 -0.236 0.818507
    as.factor(tab[, 1])43 1.897e+03 1.691e+04 0.112 0.913129
    as.factor(tab[, 1])44 1.921e+03 2.600e+04 0.074 0.942728
    as.factor(tab[, 1])45 5.007e+03 2.301e+04 0.218 0.832636
    as.factor(tab[, 1])46 4.202e+03 2.294e+04 0.183 0.858712
    as.factor(tab[, 1])47 3.911e+03 2.322e+04 0.168 0.869934
    as.factor(tab[, 1])48 4.197e+03 1.617e+04 0.260 0.800996
    as.factor(tab[, 1])49 5.069e+03 9.601e+03 0.528 0.610323
    as.factor(tab[, 1])50 5.851e+03 9.378e+03 0.624 0.548128
    as.factor(tab[, 1])51 2.070e+03 9.537e+03 0.217 0.833019
    as.factor(tab[, 1])52 1.832e+03 1.010e+04 0.181 0.860130
    ---
    Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

    Residual standard error: 429.5 on 9 degrees of freedom
    Multiple R-Squared: 0.9982, Adjusted R-squared: 0.9835
    F-statistic: 67.89 on 74 and 9 DF, p-value: 1.098e-07

  10. #9
    invitec5eb4b89

    Re : coefficients de regression multiple négatifs

    En effet le modèle linéaire ajuste très bien aux données, ce qui, vu le nombre de variables, est presque louche !

    Combien y a-t-il d'individus ?

  11. #10
    isozv

    Re : coefficients de regression multiple négatifs

    Ce qui n'est bien sûr pas le cas car au pire ca n'en apporte pas, mais ca n'en fait pas perdre.
    Bonjour,

    Je suis étonné par cette affirmation... sans démonstration mathématique!

    Je pourrai te donner avec un petit peu de temps plus de dix exemples simplistes (non mathématiques) qui te montreraient le contraire.

  12. #11
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Pour répondre à Vincent dans un premier temps :

    j'ai seulement 95 semaines donc 95 individus

    Pour Isov, je ne parle pas mathématiquement mais simplement en terme de logique : comment en investissant sur un média pour une marque on peut lui faire perdre des ventes ? Je ne saisis pas

  13. #12
    isozv

    Re : coefficients de regression multiple négatifs

    Eh bien puisque tu parles d'investissement média pour de marques voici un exemple simple:

    Imaginons que tu investisses plus par exemple dans le média télévisuel et que tu le fais dans un période de vacances estivales alors il est connu que pendant ces périodes là, les cibles consomment moins d'heures télévisuelles que d'heures papier. Donc elles consommeront (facteurs externis omis) moins ta marque.

    C'est un exemple simple, certes discutables mais si tu précises ta situation je te donnerai, j'en suis presque sûr, un exemple à chaque fois du contraire de ton affirmation.

  14. #13
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Je suis d'accord, mais ce que je veux dire, c'est que même en investissant sur cette période creuse, cet investissement te fait quand même gagner quelques ventes. Moins que d'habitude ok mais certaines quand même.

    Donc si tu as ventes=a*radio + b*presse + c*TV

    avec c négatif, et bien c'est comme si le modèle disait "tu ferais mieux de ne pas investir sur la tv, car sans cet investissement, ventes serait plus grand "

    vois tu ce que je veux dire?

  15. #14
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    j'ai regardé un peu la sortie de ton modèle linéaire. Je trouve que tu as beaucoup de variables! il y a de gros risques de collinéarité dans ce cas. Il faut élaguer!

    pour HigginsVincent: on ne doit pas avoir la même notion de ce que c'est que centrer les données, j'ai l'impression que lm ne touche pas aux variables.

  16. #15
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    je sais que j'ai beaucoup de variables :s, surtout quand je mets le facteur "semaine" ...

    mais j'ai besoin de le mettre pour un minimum de saisonnalité

  17. #16
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    essaie de remplacer la semaine par une variable "saison" à mettons quatre modalités (ou deux si c'est possible). Et puis est-ce qu'il n'y aurait pas des effets multiplicatifs? Tu pourrais aussi travailler sur les logarithmes des chiffres de vente. As-tu regardé les résidus? variation systématique, normalité...

  18. #17
    invitec5eb4b89

    Re : coefficients de regression multiple négatifs

    Citation Envoyé par ambrosio Voir le message
    j'ai regardé un peu la sortie de ton modèle linéaire. Je trouve que tu as beaucoup de variables! il y a de gros risques de collinéarité dans ce cas. Il faut élaguer!

    pour HigginsVincent: on ne doit pas avoir la même notion de ce que c'est que centrer les données, j'ai l'impression que lm ne touche pas aux variables.
    Euh soit, voici un petit exemple :

    Code:
    X <- matrix(runif(10*5,0,5),10,5)
    beta <- rbinom(5,4,0.5)-2.5
    y <- X%*%beta + rnorm(10)
    lm(y~X)
    Bon jusque là tout va bien... Et maintenant on compare avec le beta construit avec la formule consacrée :

    Code:
    beta1 <- solve(t(X)%*%X)%*%t(X)%*%y
    Xs <- scale(X,scale=F)
    beta2 <- solve(t(Xs)%*%Xs)%*%t(Xs)%*%y
    On retrouve avec beta2 les coefficients calculés par la fonction lm... On pourrait aussi calculer la même chose avec les données centrées :

    Code:
     lm(y~Xs)
    Et on retrouve les mêmes coefficients... Est-ce que c'est convaincant ?

  19. #18
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    et non on ne retrouve pas les mêmes coefficients, regarde l'intercept. Dans tes calculs de beta1 et beta2 tu as oublié l'intercept il me semble (c'est cbind(1,X) la matrice du modèle)

  20. #19
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Citation Envoyé par ambrosio Voir le message
    essaie de remplacer la semaine par une variable "saison" à mettons quatre modalités (ou deux si c'est possible). Et puis est-ce qu'il n'y aurait pas des effets multiplicatifs? Tu pourrais aussi travailler sur les logarithmes des chiffres de vente. As-tu regardé les résidus? variation systématique, normalité...
    oui pour la saisonnalité je vais faire ça, une variable à 4 modalités, c'est le mieux clairement!

    les résidus sont propres, pas de choses aberrantes à signaler.

    Par contre que faire avec les logarithmes? Quant aux effets multiplicatifs, je me suis dit que ça rajouterait encore des variables donc je n'ai pas voulu...

  21. #20
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    si les résidues vont bien, ce n'est peut-être pas la peine de passer en logarithmes. C'est souvent intéressant quand on a une réponse positive.

  22. #21
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Pour en revenir à une question plus simpliste mais qui m'aiderait : est-ce possible de forcer un modèle à n'avoir que des coefficients positifs ou nuls?

    Si ce n'est pas le cas, je vais regarder les autres modèles !!

  23. #22
    invite986312212
    Invité

    Re : coefficients de regression multiple négatifs

    oui ça peut se faire, tu peux regarder la théorie ici:
    http://archive.numdam.org/ARCHIVE/RS..._23_3_37_0.pdf
    je ne sais pas s'il existe un package R qui le fait, mais ça doit pouvoir se programmer dans le package sem, ou alors directement puisque finalement c'est un problème de programmation quadratique (minimisation d'une fonction quadratique sous contrainte linéaire).

    mais je ne suis pas sûr que ce soit la bonne approche, surtout si tu veux faire de la prédiction.

  24. #23
    invite32170f2b

    Re : coefficients de regression multiple négatifs

    Merci beaucoup pour le lien!

    Je sais que ce n'est pas la solution... mais ce serait une issue de secours en quelque sorte! Je vais regarder de plus près les modèles avec spline ...

Discussions similaires

  1. [Régression multiple] Lien entre coefficients
    Par invite1c50defe dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 25/06/2009, 07h57
  2. Analyse de régression multiple
    Par invite015ebafc dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 23/07/2008, 20h03
  3. Régression multiple
    Par invite464a084f dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 10/05/2007, 09h30
  4. Régression linéaire multiple
    Par invite3569df15 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 13/01/2007, 20h56
  5. regression multiple
    Par invite8e50baf6 dans le forum Mathématiques du supérieur
    Réponses: 28
    Dernier message: 29/09/2004, 22h14