Bonsoir,
N'étant pas mathématicien de formation je fais face à un soucis mathématique dont je ne trouve pas la vraie solution.
J'aimerai pouvoir obtenir un plan qui fit avec des points dans l'espace. En d'autre terme, une regression linéaire des données en 3D.
Le problème étant est que je ne suis pas mathématicien et que je n'ai jamais eu de formation en 3D.
J'ai pu voir sous R cran des exemples permettant de faire cela mais il n'y a pas d'explication mathématique.
Ma question pour résumer :
J'ai des points (une bonne 50aines), et je veux trouver l'équation du plan qui fit au mieux les données. JE recherche l'explication mathématique et au cas ou si vous connaissez une library en C ou en Python qui le fasse.
Exemple :
A(0,1,2)
B(1,2,3)
C(4,2,1)
D(9,5,4)
Equation :
ax+by+cz+d=0 d'après ce que j'ai compris comment fonctionner les équations de plan
JE vous remercie par avance,
Mister
Bonjour
tu peux voir ça comme un problème de projection orthogonale dans un espace de dimension n = le nombre de points dont tu disposes. On commence par mettre l'équation de plan cherchée sous la forme z = ax + by + c
tu fabriques des vecteurs : 1 = (1,1,1...1) (autant de 1 que tu as de points), (les abscisses de tes points),
(les ordonnées de tes points),
(les cotes de tes points).
tu cherches à minimiser , qui peut être vue comme
(dans notre espace à n dimensions.)
le minimum est atteint lorsque aX+bY+c1 est le projeté orthogonal de Z sur l'espace engendré par X, Y et 1, ce qui donne
où ( .|. ) désigne le produit scalaire à n dimensions (par exemple, )
tu résous ce système et tu trouves a, b et c
Bonjour,
ce problème de régression par la méthode des moindres carrés des distances vraies (orthogonales) est usuellement résolu par des méthodes itératives.
Un calcul direct (sans itération) est possible grâce aux formules données dans l'article suivant :
"Régressions et prajectoires 3D" par le lien :
http://www.scribd.com/people/documents/10794575-jjacquelin
Jja, quel intérêt de répondre (un poil hors sujet , au demeurant) à un topic vieux de plus de deux ans, posté par un membre vert (c'est -à-dire plus connecté à l'île depuis au moins 6 mois) ?
Bonjour,
Merci pour la réponse dans ce topic, ça m'a beaucoup aidé!
Cependant, je voulais savoir si la technique utilisée des projections orthogonales pouvait se généraliser , ou s'adapter,pour des régressions quadratiques, ou même d'ordre supérieur.
D'avance merci!
--
Mr Patate
Bonjour, MrPatate
ça peut se généraliser à toutes sortes de modèles, pour peu qu'ils soient linéaires
(chercher un truc genre ax² + by² + cx + dy + e, linéaire par rapport aux indéterminées a,b,c,d,e, par exemple)
en reprenant les vecteurs x,y et z de dimension n*1 crees par Lafol, on cherche effectivement a mininiser l´erreur de l´approximation, nommons la
R=/Bigsum_{i=1}^n{(e_i)^2}
avec
e_i=z_i-(ax_i+by_i+c).
Nous avons m=3 parametres a trouver. Pour cela, on va creer la matrice A de dimension n*m,
A=[x,y,1];
on cree le vecteur M contenant nos m parametres inconnus : M=[a;b;c] de dimension m*1
Si les points sont parfaitement alignes, on voit que cette methode rend le resultat exact avec le systeme suivant :
A*M=z
Et maintenant, pour trouver les valeurs de M, on multiplie a droite de a gauche par la transposee de A, /A^t, puis par l´inverse de /A^t*A
ce qui nous donne :
/M=inv(A^t*A)*A^t*z;
En pratique, cela marche pour toute distribution de points, construire A puis calculer M avec la formule precedente. Le vecteur des erreurs commise est
E=Z-A*M;
Les utilisateurs experimente m´excuseront, je ne sais pas utiliser les representations mathematiques...
En utilisant la methode decrite ci dessus, on obtient d´excellent resultats en un temps de calcul minimum. Je me permet de demander de l´aide sur un autre post(relie a celui ci, donc pas hors sujet) pour evaluer la precision statistique des coefficients de m : voir post "evaluation des coefficient d´une regression multilineaire"
Merci d´avance
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :