Régression Linéaire?

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Qwertywerty
Messages: 4
Enregistré le: 21 Jan 2013, 02:45

Régression Linéaire?

par Qwertywerty » 21 Jan 2013, 02:59

Bon, ce que je dois faire:
- On a des données x et y http://pastebin.com/SDUnc1gC
- X et Y, c'est les ln (log) de tout les données x et y
- il faut faire ça: http://puu.sh/1QkFZ

On a déja fait le linéaire, on a trouver le m avec cette formule: http://puu.sh/1QoMR (il y a aussi la formule du b)

Mais le problème c'est, je fait quoi pour les autres? C'est quoi "ce" ou/et "c" et "e". Il y a aussi le grand "B" plus tard. Est-ce que quelqu'un a une formule pour les trouver? Uh aussi, c'est quoi le coefficient de détermination?

Merci d'avance



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 21 Jan 2013, 06:54

exponentiel c'est f(x) = constante * e^(m*x)
Si tes points sont de la forme (x_i, y_i)
et que tu veux trouver f qui minimise la distance par rapport à ces points, tu écris
min_{constante, m} Somme distance(f(x_i), y_i))

On te propose d'écrire le changement y->ln(y)
donc tu écris
min_{constante, m} Somme distance(ln(f(x_i)), ln(y_i))

si par exemple ta distance c'est la valeur absolue, tu as
min_{constante, m} Somme distance(ln(f(x_i)) - ln(y_i))
min_{constante, m} Somme distance(mx+B - ln(y_i))

et après tu trouves m et B, et puis tu remontes à l'expression de f(x)
la vie est une fête :)

Qwertywerty
Messages: 4
Enregistré le: 21 Jan 2013, 02:45

par Qwertywerty » 21 Jan 2013, 20:16

Merci, ca va bien m'aider

hammana
Membre Relatif
Messages: 477
Enregistré le: 24 Avr 2012, 20:26

par hammana » 22 Jan 2013, 12:02

Qwertywerty a écrit:Merci, ca va bien m'aider


Je suis très intéressé par ton problème.
Pour ton information, le coefficient de détermination est égal au carré du coefficient de corrélation.
j'ai fait les calculs dans le cas de la régression linéaire et je trouve:
equation de la droite de régression : y=4168x-35974
coefficient de détermination = 0,867
nous pouvons ainsi comparer nos résultats.
Je vais faire les calculs pour les autres formes de corrélation.

Qwertywerty
Messages: 4
Enregistré le: 21 Jan 2013, 02:45

par Qwertywerty » 22 Jan 2013, 22:05

Bizarre, ca me donne:

FONCTION LINEAIRE
y = mx + b
y= 4168.726259013597x + -35974.94256265208
Coéficient de détermination: 0.9313449517278208

Comment je calcule le Coéficient de détermination:
for (int i = 0; i < x.length; i++){
r1_li += (x[i] - x_moy) * (y[i] - y_moy);
r2x_li += Math.pow((x[i] - x_moy),2);
r2y_li += Math.pow((y[i] - y_moy),2);
}
CoefDeDet1 = r1_li / (Math.sqrt(r2x_li)*Math.sqrt(r2y_li));
System.out.println("FONCTION LINEAIRE");
System.out.println("y = mx + b");
System.out.println("y= " + m + "x " + "+ " + b);
System.out.println("Coéficient de détermination: " + CoefDeDet1);
Exponentiel(r2x_li, r2y_li, CoefDeDet1);

dsl pour le java ^^;;

hammana
Membre Relatif
Messages: 477
Enregistré le: 24 Avr 2012, 20:26

par hammana » 22 Jan 2013, 23:38

Qwertywerty a écrit:Bizarre, ca me donne:

FONCTION LINEAIRE
y = mx + b
y= 4168.726259013597x + -35974.94256265208
Coéficient de détermination: 0.9313449517278208

Comment je calcule le Coéficient de détermination:
for (int i = 0; i < x.length; i++){
r1_li += (x[i] - x_moy) * (y[i] - y_moy);
r2x_li += Math.pow((x[i] - x_moy),2);
r2y_li += Math.pow((y[i] - y_moy),2);
}
CoefDeDet1 = r1_li / (Math.sqrt(r2x_li)*Math.sqrt(r2y_li));
System.out.println("FONCTION LINEAIRE");
System.out.println("y = mx + b");
System.out.println("y= " + m + "x " + "+ " + b);
System.out.println("Coéficient de détermination: " + CoefDeDet1);
Exponentiel(r2x_li, r2y_li, CoefDeDet1);

dsl pour le java ^^;;

Le chiffre que tu trouves corrrespond au cefficient de correlation. Il faut l'élever au carré pour obtenir le coefficient de détermination. Pour le reste nos résultats concordent bien.
Je trouve les coefficients de détermintion suivants:
0.876 pour la régression exponentielle
0.549 pour la régression logarithmique
0.994 pour la régression puissance. c'est la seule qui conviet

Qwertywerty
Messages: 4
Enregistré le: 21 Jan 2013, 02:45

par Qwertywerty » 23 Jan 2013, 01:43

Tout mes résultats:
http://pastebin.com/3AHvEfDE

C'est pas trop trop loin, mais c'est pas pareille x_x. C'est quoi qu'il faut élever au carré?

Aussi, je crois pas que j'ai le bon résultat pour B, et c marche pas non plus x_x
B = Y[0] - ( m * x[0] );
c = Math.pow(e, B);

Voici le code au complet si quelqu'un est curieux:
http://pastebin.com/Fkc94w4x

Et moi qui pensais que j'avais fini x_x


Edit:
J'ai compris plus tard =D
J'ai rajouter:
CoefDeDet1 = Math.pow(CoefDeDet1,2);
http://pastebin.com/NkKmeL7x

Tout match avec tes résultats =D

Mais il y a encore le c et B qui sont bizarre

Edit 2: Bon ben c'est pas trop trop grave a propo de ces deux la, j'ai juste enlever les parties:
System.out.println("y = ce^mx");
System.out.println("y= " + c + " * " + Math.E + "^" + m + "x");

Comme ca qui sont même pas important

Merci beaucoups pour l'aide!

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 23 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite