Regression linéaire bizare (matlab)

Regression linéaire bizare (matlab) - Aide aux devoirs - Emploi & Etudes

Marsh Posté le 18-03-2008 à 10:50:24    

Bonjour,
 
J'éssaye d'appliquer une regression linéaire sur deux nuages de points (ne pas tenir compte des deux trois points bleus qui traitent en dehors du nuage)
 
Je trouve que regression linéaire sur cette image ne passe pas vraiment pas le "milieu" du nuages de points,  
http://img262.imageshack.us/img262/2879/regzarbdq3.th.jpg
 
et sur cette image, la droite ne passe pas du tout par les points. Pourriez-vous m'éclairer?
 
http://images3.hiboox.com/vignettes/1208/x1vzougd.jpg
Voici le code :
d contient mon nuage de points
 
 

Code :
  1. plot(d(1,:), d(2,:), 'd');
  2. % Regression lineaire d'ordre 2 : f(x) = m*x*x +o .x + n
  3. p = polyfit(d(:,1), d(:,2), 1);
  4. c = [];
  5. c(1,:) = d(1,:);
  6. c(2,:) = (p(2) + d(1,:) * p(1));
  7. plot(d(1,:), d(2,:), 'd', c(1,:), c(2,:));
  8. %title('Donnees et regressions lineaires');
  9. legend('donnees', 'ordre 0', 'ordre 1');


 
Vous en pensez quoi?

Message cité 1 fois
Message édité par jijiz le 18-03-2008 à 10:57:11
Reply

Marsh Posté le 18-03-2008 à 10:50:24   

Reply

Marsh Posté le 18-03-2008 à 12:43:54    

bonbenup

Reply

Marsh Posté le 18-03-2008 à 13:20:15    

jijiz a écrit :


 
Vous en pensez quoi?


 
Que ta droite de régression est pas bonne :D
 
Tu as tracé ton polyfit? Il colle bien? Y a pas de grosse déviation par rapport à tes données initiales?
Regarde déjà tes valeurs du polyfit, voir si le problème vient pas de là.
 
Quand je regarde tes 2 graphs, j'ai l'impression que tes 2 droites de régression sont les mêmes (je vois pas tres bien).
Est ce que entre tes 2 calculs, tes valeurs sont bien réinitialisées? y a peut-être un problème de dimension de vecteur
si tu n'as pas le même nombre de points entre chaque calcul et que tu réinitialises pas...
 
Essaye de voir ca
 
 
 

Reply

Marsh Posté le 18-03-2008 à 14:08:23    

Bonjour,
 
Merci pour ta réponse, j'ai implémenté directement le calcul des coefficients de la droite teta=inv(H'*H)*H'*Y;  .... et tout et tout. Et ca passe nikel. Par contre j'aimerai estimer la dispersion des points, comment s'appelle mathématiquement cette "dispersion"?

Reply

Marsh Posté le 18-03-2008 à 14:11:32    

c'est pas résidu?

Reply

Marsh Posté le 18-03-2008 à 14:48:06    

erreur = (d(1, : )-a*d(2,: )-b);
                erreur = erreur*erreur';
                somErreur = sum(erreur)/size(d,2);
 
a l'air de marcher. Merci


Message édité par jijiz le 18-03-2008 à 14:51:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed