Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 04/08/2008, 14h19   #1 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut regression puissance avec Excel

Bonjour,

Sous Excel, je connais la régression linéaire, avec comme formule:
y = b + m1x1 + m2x2 + ...
en utilisant droitereg, linest en anglais.

ainsi que la régression exponentielle, avec comme formule:
y = b * m1^x1 * m2^x2 * ...
en utilisant logreg, logest en anglais.

Est-il possible de faire de la régression puissance, avec comme formule:
y = b * x1^m1 * x2^m2 * ...

???

merci bien,
Slimane.
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 10h11   #2 (permalink)
Membre à l'essai
 
Date d'inscription: janvier 2006
Messages: 43
Par défaut

Je n'ai pas bien compris si c'était les mi ou les xi tes variables explicatives.

Ce que tu veux faire revient à modéliser y comme :


ln y = ln b + m1 ln x1 + m2 ln x2 +...


Tu peux donc te contenter de faire une régression sur la variable (ln y) par les variables (ln xi)...

Ca c'est si tes variables xi sont tes variables explicatives...

Si tes mi sont tes variables explicatives, il faut mener une régression de (ln y) en fonction des variables (mi), ce qui te permettra de trouver tes (ln xi) optimaux.

Ensuite, il faut passer à l'exponentielle pour xi
Magemax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 10h59   #3 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

Salut et merci pour ta réponse,

les "x" sont les inconnues qui servent ensuite à faire des estimations.
Par exemple, un résultat pour une régression puissance serait:

y = 0.8 * x1^0.56 * x2^2.1

Si j'ai bien compris, il faut que j'applique un ln sur toutes mes données, et ensuite je fais un droite reg?

Au niveau formule, r2 et F il n'y a rien a modifier par la suite?
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 11h19   #4 (permalink)
Membre à l'essai
 
Date d'inscription: janvier 2006
Messages: 43
Par défaut

pour la formule il ne faut rien modifier...

En revanche, le R2 et le F seront moins pertinents (voire pas pertinents du tout).

En fait, ton modèle minimise la variance de la variable W dans la formule :

Y = b*x1^m1*x2^m2*exp(W)

où W est une v.a. d'espérance nulle...

d'ailleurs, comme E(exp(W)) = exp(E(W)+V(W)/2) (en tout cas si W est une loi normale), je pense que la formule que je t'ai donné précédemment est biaisée, et qu'un meilleur estimateur de ton modèle optimal serait

Y = b*exp(V(W)/2)*x1^m1*x2^m2

où W est la standart deviation qui reste dans ta régression des log en fonction des logs...

Pour le F, je pense qu'il ne change pas (en même temps je suis pas très à l'aise avec le F).

Pour le R2, tu peux calculer toi même le R2 de ton modèle en regardant la variance résiduelle (i.e. la variance de Y-b*exp(V(W)/2)*x1^m1*x2^m2) et en prenant son rapport avec la variance de Y. Ca te donnera effectivement la part de variance expliquée par le modèle (en fait, la formule que je viens de te donner te donnera 1-R2 mais je pense que tu sauras faire le calcul ).

Cette méthode est un peu heuristique, et il faudrait que quelqu'un plus fort que moi en régressions étranges valide la partie "résultats mathématiques" (la partie "donne des résultats cools et utiles" est déjà assurée par le fait qu'on utilise une régression auxiliaire sur les logs)...

En tout cas, je pense qu'un forum mathématique serait plus adapté pour poser ce genre de questions qu'un forum Excel, on est un peu en train de tomber dans le HS...
Magemax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 12h06   #5 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

Ma question, et mon espoir au début, était de savoir si excel fournissait d'origine ce calcul. (un truc comme droitereg genre puissreg)

Tout ce que tu m'explique est compliqué à mes yeux et sort de mes possibilités en temps...
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 14h44   #6 (permalink)
Membre à l'essai
 
Date d'inscription: janvier 2006
Messages: 43
Par défaut

ben si t'as pas de temps, tu fais juste ta régression linéaire normale sur les logs, et puis tu passes à l'exponentielle.

Si c'est pour analyser des effets rapidement, tu auras toutes tes informations, et tu pourras en déduire un modèle pas trop moche.
Si c'est à des fins mathématiques, ca risque de ne pas te suffire.
Magemax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 15h04   #7 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

Citation:
et puis tu passes à l'exponentielle
Que veux-tu dire par passer à l'exponentielle?

Ce que j'ai compris pour l'instant c'est:

-appliquer un log sur toutes les données
-faire un droitereg
-la formule resultante sera de la forme y = b * x1^m1 * x2^m2

merci encore pour ton soutien.
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 17h00   #8 (permalink)
Membre à l'essai
 
Date d'inscription: janvier 2006
Messages: 43
Par défaut

Voilà la marche à suivre en plus précis :

Remplacer tes colonnes Xi par leur log : log(Xi).

Faire une régression linéaire de (ln(Y)) sur ces variables. Tu obtiens un truc genre :


ln Y = a + b * (ln X1) + c * (ln X2) + epsilon

Où epsilon est une variable aléatoire d'espérance nulle et de variance V (la variance résiduelle)

En passant à l'exponentielle, tu obtiens :

Y = exp(a)* X1^b * X2^C * exp(epsilon)


C'est là qu'intervient la phase un peu technique :

en supposant que epsilon est une loi normale, on a Espérance[ exp(epsilon) ] = exp(V²/2)

Par conséquent, l'espérance de Y sachant X1 et X2 est, selon ce modèle :


exp(a+V²/2)*X1^b*X2^c.

C'est ton meilleur estimateur de Y (toujours d'après ce modèle), et c'est donc là ta solution.

Une version un peu moins précise (et donc fausse) peut être obtenue en obtenant le terme exp(V²/2)...
Magemax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 18h32   #9 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

merci, je commence à comprendre...

Je cite Excel:
Citation:
L'équation de la droite renvoyée par la fonction de régression linéaire est la suivante :

y = m1x1 + m2x2 + ... + b

où la valeur dépendante y est une fonction des valeurs indépendantes x. Les valeurs m sont des coefficients correspondant à chaque valeur x et b est une valeur constante.
Par contre je ne sais pas comment obtenir le a et le V à partir de ce que renvoie Excel lors d'une regression linéaire pour calculer exp(a+V²/2)

Quel est le lien entre le b ci-dessus et exp(a+V²/2) dont j'ai besoin?


Est-ce que les valeurs dont j'ai besoin sont dans les autres valeurs qui sont retournées par la régression, à savoir:

Citation:
se1,se2,...,sen Les valeurs d'erreur type correspondant aux coefficients m1,m2,...,mn.

seb La valeur d'erreur type correspondant à la constante b (seb = #N/A si l'argument constante a la valeur FAUX).

r2 Le coefficient de détermination. Compare les valeurs y estimées aux valeurs y réelles et varie entre 0 et 1. Un coefficient de détermination égal à 1 indique une corrélation parfaite de l'échantillon (aucune différence entre les valeurs y estimées et réelles). A l'inverse, un coefficient de détermination égal à 0 (zéro) indique que l'équation de régression ne peut servir à prévoir une valeur y.

sey L'erreur type pour la valeur y estimée.

F La statistique F ou valeur F observée. Utilisez ce paramètre pour déterminer si la relation observée entre les variables dépendantes et indépendantes est due au hasard.

df Les degrés de liberté. Ils vous aident à trouver les valeurs critiques de la statistique F dans une table statistique. Comparez les valeurs trouvées dans la table à la statistique F renvoyée par la fonction DROITEREG pour déterminer le niveau de confiance du modèle.

ssreg La somme de régression des carrés.

ssresid La somme résiduelle des carrés.
La solution n'a pas l'air très loin, mais je suis piètre statisticien...
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/08/2008, 11h30   #10 (permalink)
Membre à l'essai
 
Date d'inscription: janvier 2006
Messages: 43
Par défaut

alors le "a" dont je te parle, c'est en fait la constante qu'Excel trouve en faisant sa régression.

Ce que j'appelle a, c'es donc le b dans

Citation:
L'équation de la droite renvoyée par la fonction de régression linéaire est la suivante :

y = m1x1 + m2x2 + ... + b

Quant au V, il s'agit de la variance résiduelle de y.


C'est donc ssresid divisé par les degrés de libertés (les degrés de liberté, c'est tout simplement le nombre d'observations moins le nombre de variables explicatives)

donc V = ssresid/df




donc pour faire le lien entre les deux notations (j'insiste lourdement) :

exp(a+V/2) = exp(b+ssresid/(2*df))


J'avais mis V² dans ma formule, je m'étais trompé. C'est la variance tout court qu'il faut mettre (la variance étant parfois notée sigma², cela explique mon erreur).
Magemax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/08/2008, 15h32   #11 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

merci beaucoup magemax.

Je vais me pencher sur les calculs avec Excel et dirais des nouvelles.
smedini est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/08/2008, 17h29   #12 (permalink)
Membre du Club
 
Date d'inscription: septembre 2005
Messages: 92
Par défaut

T'es un super boss magemax, les calculs semblent vraiment coller. (on verra les retours des testeurs...).
smedini est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide