Regressions et trajectoires 3D
March 24, 2017 | Author: JJacquelin | Category: N/A
Short Description
Download Regressions et trajectoires 3D...
Description
REGRESSIONS et TRAJECTOIRES en 3D. Jean Jacquelin
Les mesures de positions ne sont jamais parfaites, que ce soient des objets cosmiques, ou des particules microscopiques. Ce qui pose le problème de la caractérisation précise de leurs trajectoires. L'illustre professeur Tournesol ne pouvait pas rester insensible à la question d'optimisation de leurs paramètres.
Premier article : 3-D LINEAR REGRESSION (pp.2-12) Détermination des paramètres caractérisant une trajectoire linéaire dans l'espace, telle que soit minimum la somme des carrés des distances "vraies" entre la droite et les points dont les coordonnées sont connues approximativement. [ Juillet 2002, non publié. Une méthode simplifiée de résolution a été ajoutée en février 2011, puis réincorporée au texte principal en juillet 2011] Deuxième article : REGRESSION PLANE en 3D. (pp. 13-26) Détermination des paramètres caractérisant le plan d'une trajectoire non linéaire, telle que soit minimum la somme des carrés des distances "vraies" entre le plan et les points dont les coordonnées sont connues approximativement. [ Avril 2010 ] Comparaison avec la méthode d'analyse en composantes principales [ Septembre 2011] Additif : Discussion (p.27) Troisième article : CARRACTERISATION DE TRAJECTOIRE EN 3D. (pp.28-34) Optimisation des paramètres d'une courbe (ellipse, parabole ou hyperbole) se situant au plus près de points dont les coordonnées sont connues approximativement. Méthode de calcul non-récursive. Exemple numérique détaillé d'application de la méthode.
Updated : October 18, 2011
1
Title :
3-D LINEAR REGRESSION Author : Jean Jacquelin Key Words : Linear Regression, Least Squares.
Summary & Conclusions : While 2-D Linear Regression is very common, surprisingly the analytical solution of 3-D Linear Regression remains unpublished (as far as we know). This paper provides a compendium of formulas for direct and exact 3-D Linear Least Squares Fitting. A detailed numerical example is given in order to test and debug the computer applications.
Updated : October 18, 2011
2
1 INTRODUCTION The linear least squares fitting technique is the simplest and most commonly applied form of linear regression and provides a solution to the problem of finding the best fitting straight line through a set of points [1]. Commonly, the points are given on a plane and the analytical solution is wellknown in this case. A number of more complicated fitting problems are solved in practice by numerical methods leading to excellent approximates [2-3]. However, on a more theoretical viewpoint, the analytical solution of the 3-D Linear Least Squares Fitting can be obtained, in spite of much more arduous developments than in the 2-D case. Surprisingly, in the 3-D case, one cannot find in the literature a complete demonstration of the analytical solution and related exact formulas for practical applications, even though they were probably already found. The Cartesian coordinates of the n given points (Pk) are : P1(X1 , Y1 , Z1), P2(X2 , Y2 , Z2), ..., Pk(Xk , Yk , Zk), ..., Pn(Xn , Yn , Zn). The orthogonal projection of (Pk) on a straight line (L) is (Hk) and the corresponding perpendicular offset is dk = PkHk . The problem is to find (L) so that the sum Σdk2 of the squares of the offsets for the set of n points would be minimum. Note : in interest of space, the notation Σ is used instead of : 2 ANALYTICAL RESOLUTION
We consider the plane ( Π ), perpendicular to the regression line (L) and containing the origin ( 0 , 0 , 0 ). The equation of ( Π ) is :
z = ax+by.
(1)
The line (L) intersects ( Π ) in a point H( u , v , w ), where :
w = au+bv
(2)
So, four coefficients a, b, u and v are sufficient to determine (L). Of course, they are not known at first : in fact, the aim of the study is to express a, b, u and v as functions of Xk ,Yk , Zk for k=1 to n. The orthogonal projection of the point Pk ( Xk , Yk , Zk ) on the plane ( Π ) is pk ( xk , yk , zk ), where : (3)
zk = axk+byk We have to express xk , yk , zk as functions of Xk ,Yk and Zk . (Pk pk)2 = (xk-Xk)2+(yk-Yk)2+(zk-Zk)2
(4)
Using Eq.(3), we obtain : (Pkpk)2 = (xk-Xk)2+(yk-Yk)2+(axk+byk -Zk)2
(5)
The distance (Pk pk ) is the minimum distance of Pk to any point of ( Π ). The partial derivatives of this function of xk and yk equal 0 when (Pk pk)2 is minimal. This leads to two equations : (xk-Xk)+a[axk+byk -Zk] = 0
(6)
(yk-Yk)+b[axk+byk -Zk] = 0
(7)
Updated : October 18, 2011
3
From this linear system we extract xk and yk , then zk from Eq.(3) : xk = [(1+b2)Xk -abYk+aZk](1+a2+b2)-1. 2
2
2 -1
(8)
yk = [-abXk +(1+a )Yk+bZk](1+a +b ) .
(9)
zk = [aXk +bYk+(a2+b2)Zk](1+a2+b2)-1.
(10)
The distance dk of the point Pk to the regression line (L) is equal to (Pk Hk) , hence : dk2 = (xk-u)2+(yk-v)2+(zk-w)2
(11)
The sum Σdk2 of the squares of the distances for the set of n points is : Σdk2 = Σ(xk-u)2+Σ(yk-v)2+Σ(zk-au-bv)2
(12)
The last term in (12) results from Eq.3 : (zk-w) = zk-au-bv . xk , yk and zk are functions of a and b (from Eqs.8-10). So, Σdk2 is function of u, v, a and b. Since Σdk2 is minimal, the partial derivatives equal 0. This leads to four equations : (13) (14)
(15) (16) Equations (13) and (14) can be rewritten as :
(17) Solving the system (17) gives u, v, then w from Eq.(2), the three expressed as functions of a and b : (18) (19) (20) Summing xk , yk and zk from k=1 to n in Eqs.(8-10), gives Σxk , Σyk and Σzk : Σxk = [(1+b2)ΣXk -abΣYk+aΣZk](1+a2+b2)-1.
(21)
Σyk = [-abΣXk +(1+a2)ΣYk+bΣZk](1+a2+b2)-1.
(22)
Σzk = [aΣXk +bΣYk+(a2+b2)ΣZk](1+a2+b2)-1.
(23)
Updated : October 18, 2011
4
Carrying Σxk , Σyk and Σzk from (21-23) to (18-20) and after some simplifications due to factorization of (1+a2+b2) lead to: (24) (25) (26) At this stage of the study, only two parameters (a and b) are not determined yet. Then, a fastidious job has to be carried out. The next development leads to a large number of terms with a number of factors which are appearing, i.e.: Σ(Xk2), Σ(Yk2), Σ(Zk2), Σ(XkYk), Σ(YkZk), Σ(XkZk), (ΣXk)2, (ΣYk)2, (ΣZk)2, (ΣXk)(ΣYk), (ΣYk)(ΣZk) and (ΣXk)(ΣZk). Fortunately, some simplifications occur : factorization of (1+a²+b²) and disappearance of some terms. More compact writing will be achieved by letting : Sxx = (1/n)Σ(Xk2) - [(1/n)ΣXk]2.
(35)
Syy = (1/n)Σ(Yk2) - [(1/n)ΣYk]2.
(36)
Szz = (1/n)Σ(Zk2) - [(1/n)ΣZk]2.
(37)
Sxy = (1/n)Σ(XkYk) - (1/n2)(ΣXk)(ΣYk).
(38)
Syz = (1/n)Σ(YkZk) - (1/n2)(ΣYk)(ΣZk).
(39)
Sxz = (1/n)Σ(XkZk) - (1/n2)(ΣXk)(ΣZk).
(40)
Plugging (8, 9, 10) and (24, 25, 26) into (12) leads to the big equation : 1 1 2 1 Xk − a b Yk + a (1 + b 2 ) X k − a bYk + a Z k (1 + b ) n 2 n n dk = − 2 2 2 2 1+ a + b 1+ a + b
∑
∑
∑
∑
∑ Zk
1 1 1 X k + (1 + a 2 ) Yk + b Zk − a b X k + (1 + a 2 )Yk + b Z k −a b n n n + − 1 + a 2 + b2 1 + a2 + b2 1 1 1 2 2 (1 + b 2 ) Xk − ab Yk + a Zk a X + bY + ( a + b ) Z k k k −a n n n + 1 + a 2 + b2 1 + a2 + b2
∑
∑
∑
−a b −b
Updated : October 18, 2011
1 n
∑
X k + (1 + a 2 ) 2
1 n
∑
1+ a + b
5
∑
∑
2
Yk + b
2
2
+
∑
1 n
∑
+
2 Zk
Then, after developing, factoring the terms with coefficients (1+a2+b2), simplification and finally grouping of the remaining terms, we obtain :
∑ d k2 =
1 2
1+ a + b
( (1 + b )∑ X 2
2
2 k
+ (1 + a 2 )∑ Yk2 + (a 2 + b 2 )∑ Z k2 +
− 2ab∑ X k Yk + 2a ∑ X k Z k + 2b∑ Yk Z k + 1 1 1 ( ∑ X k )2 + (1 + a 2 ) ( ∑ Yk )2 + (a 2 + b2 ) ( ∑ Z k )2 + n n n 1 1 1 −2ab ∑ X k ∑ Yk + 2a ∑ X k ∑ Z k + 2b ∑ Yk ∑ Z k n n n
+ (1 + b 2 )
(51) Then, rewriting with the notations (35-40) :
∑ dk2 =
n 2
1+ a + b
( (1 + b ) S 2
2
xx
+ (1 + a 2 ) S yy + (a 2 + b2 ) S zz + −2ab S xy + 2a S xz + 2b S yz
(52)
)
The following relationship between a and b is therefore obtained :
(1 + b 2 ) S xx + (1 + a 2 ) S yy + (a 2 + b 2 ) S zz + 1 − 2ab S xy + 2a S xz + 2b S yz − (1 + a + b ) ∑ d k2 = 0 n 1 The quadratic mean distance will be denoted as : δ m = d k2 ∑ n 2
2
(53)
(54)
We observe that the relationship between a and b is a quadratic equation :
C11a 2 + C22b 2 + 2C12 ab + 2C10 a + 2C01b + C00 = 0
(55)
which coefficients are :
C11 = S yy + S zz − δ m2 C22 = S xx + S zz − δ m2 C12 = − S xy C10 = S xz C = S yz 01 C = S + S − δ 2 xx yy m 00
(56)
This allows us to map the deviations as a family of ellipses with δm as a parameter.
Updated : October 18, 2011
6
Figure 2 : Example of mapping of quadratic mean distance (corresponding to the numerical example detailed later) Finding the centre of an ellipse is a classical problem. A rotation of the a- and b-axes eliminates the ab term from the equation (55). The rotated axes are named A- and B-axes :
A = a cos(θ ) + b sin(θ ) a = A cos(θ ) − B sin(θ ) ⇔ B = − a sin(θ ) + b cos(θ ) b = A sin(θ ) + B cos(θ )
(57)
Plugging these and (56) into (55) gives :
(K
11
)
(
)
(
)
− δ m2 A2 + K 22 − δ m2 B 2 + 2 K12 A B + 2 K10 A + 2 K 01B + K 00 − δ m2 = 0 (58)
which coefficients are :
( (
) )
K11 = S yy + S zz cos 2 (θ ) + ( S xx + S zz ) sin 2 (θ ) − 2 S xy cos(θ )sin(θ ) K 22 = S yy + S zz sin 2 (θ ) + ( S xx + S zz ) cos 2 (θ ) + 2 S xy cos(θ )sin(θ ) K = − S cos 2 (θ ) − sin 2 (θ ) + S − S cos(θ )sin(θ ) xy xx yy (59) 12 K10 = S xz cos(θ ) + S yz sin(θ ) K 01 = − S xz sin(θ ) + S yz cos(θ ) K 00 = S xx + S yy The requirement K12 = 0 implies 1 − S xy cos(2θ ) + S xx − S yy sin(2θ ) = 0 (60) 2
(
) (
(
Updated : October 18, 2011
)
)
7
Sxx − Syy
1 2
2 S xy
θ = arctan
(61)
We see that the rotation angle does not depend on δm . Rewriting (58) with K12 = 0 leads to : 2
(
K11 − δ m2
)
2
K10 K 01 2 + K − δ B + = A+ m 22 2 2 K − K − δ δ m m 11 22
(
)
2
=
(62)
K 012
K10 + − K 00 + δ m2 2 2 K11 − δ m K 22 − δ m
The coordinates of the ellipse centre (Ac , Bc on the rotated system of axis) and (ac , bc on the primary system) are :
K10 A = − c K11 − δ m2 B = − K 01 c K 22 − δ m2
− K10 K 01 a = cos( θ ) + sin(θ ) c K −δ 2 K 22 − δ m2 11 m → b = − K10 cos(θ ) + − K 01 sin(θ ) c K11 − δ m2 K 22 − δ m2
(63)
The ellipse collapses and becomes a point when :
K10 2 K 012 + − K 00 + δ m2 = 0 2 2 K11 − δ m K 22 − δ m
(64)
This situation corresponds to the minimum value for δm , which will be computed by solving the cubic equation : 2 3 m
(δ )
( )
2
( )
(65)
c2 = − K 00 − K11 − K 22 2 2 c1 = K 00 K11 + K 00 K11 + K11K 22 − K 01 − K10 2 2 c0 = K 01 K11 + K10 K 22 − K 00 K11K 22
(66)
+ c2 δ m2
+ c1 δ m2 + c0 = 0
The coefficients are :
The roots of cubic equation (65) can be expressed thanks to the Tartaglia's formula (plagiarized by Cardan and presently known as Cardan's formula) or thanks to the Vieta's trigonometric formula. With the smallest value δm obtained, equations (63) give a and b . Let Xm = (1/n)ΣXk , Ym = (1/n)ΣYk , Zm = (1/n)ΣZk and the point M(Xm ; Ym ; Zm ). We observe that the coordinates given by Eqs. (8-10) of the projection of M on the plane ( Π ) are exactly the same as the coordinates of point H given by Eqs. (24-26). This proves that M is on the regression line (L). So, the regression line can be defined in two ways :
Updated : October 18, 2011
8
- First : the plane ( Π ), which equation is z = ax+by , and the point H(u, v, w) of this plane are determined, since the parameters a, b, u, v and w have been expressed. (L) is the straight line perpendicular to ( Π ) on point H. - Second : (L) is the straight line (HM) and the coordinates of both points H(u, v, w) and M(Xm , Ym , Zm ) are known.
3. CONCLUSION The following compendium of formulas lead to exact solution of 3-D linear regression. Given data : ( X k , Yk , Z k ) in k =1 to k = n the process consists in computing successively :
{
Xm =
1 n ∑ Xk n k =1
S xx = − X m 2 + S yy = −Ym 2 +
;
}
Ym =
1 n Xk2 ∑ n k =1
1 n 2 ∑ Yk n k =1
1 n ∑ Yk n k =1
; ;
1 n ∑ Zk n k =1 1 n S xy = − X mYm + ∑ X kYk n k =1 ; Zm =
S xz = − X m Z m +
1 n ∑ X k Zk n k =1
1 n 1 n 2 S zz = − Z m + ∑ Z k ; S yz = −Ym Z m + ∑ Yk Z k n k =1 n k =1 2 S xy 1 θ = arctan 2 Sxx − Syy K11 = S yy + S zz cos 2 (θ ) + ( S xx + S zz ) sin 2 (θ ) − 2 S xy cos(θ )sin(θ ) K 22 = S yy + S zz sin 2 (θ ) + ( S xx + S zz ) cos 2 (θ ) + 2 S xy cos(θ )sin(θ ) K = − S cos 2 (θ ) − sin 2 (θ ) + S − S cos(θ )sin(θ ) xy xx yy 12 K10 = S xz cos(θ ) + S yz sin(θ ) K 01 = − S xz sin(θ ) + S yz cos(θ ) K 00 = S xx + S yy 2
( (
) )
(
) (
)
c2 = − K00 − K11 − K 22 2 2 c1 = K00 K11 + K 00 K 22 + K11K 22 − K01 − K10 2 2 c0 = K01 K11 + K10 K 22 − K00 K11K 22
Updated : October 18, 2011
9
2 3 m
(δ )
Solving the equation : 1
2
( )
+ c2 δ m2
2
( )
+ c1 δ m2 + c0 = 0
1
1
1
p = c1 − 3 c2 2 ; q = 27 c23 − 3 c1c2 + c0 ; R = 4 q 2 + 27 p3 If R > 0 :
δ m2 = − 13 c2 + 3 − 12 q + 2 R + 3 − 12 q − 2 R If R < 0 :
ρ=2−
1 3 p 27
q ; ϕ = arccos − 2ρ
( ) ( (
− 1 c + 2 3 ρ cos 1 ϕ 3 3 2 δ m2 = min − 13 c2 + 2 3 ρ cos 13 ( ϕ + 2π ) − 1 c2 + 2 3 ρ cos 1 ( ϕ + 4π ) 3 3
) )
− K10 K 01 a = cos( θ ) + sin(θ ) 2 2 K − K − δ δ 11 m 22 m b = − K10 sin(θ ) + − K 01 cos(θ ) K11 − δ m2 K 22 − δ m2 1 2 u = 1 + a 2 + b 2 1 + b X m − a bYm + a Z m 1 − a b X m + 1 + a 2 Ym + b Z m v = 2 2 1+ a + b 1 a X m + bYm + a 2 + b 2 Z m w = 2 2 1+ a + b
(( ( (
)
)
(
)
(
) ) )
That way, the exact values of a, b, u, v and w are known and the points H(u, v, w) and M(Xm , Ym, Zm ) are defined. The regression line (L) is the straight line (HM) , which is perpendicular to the plane z = ax+by.
REFERENCES [1] [2] [3]
E.W.Weisstein,"CRC Concise Encyclopedia of Mathematics", Chapman & Hall, N.-Y., pp.1045-1049, 1999 J.C.Nash, "Compact Numerical Methods for Computers, Adam Hilger, Bristol, England, pp.21-24, 1990. W.H.Press, B.P.Flannery, W.T.Vetterling, "Numerical Recipes in Fortran : The Art of Scientific Computing", Cambridge Univ. Press, pp.655-675, 1992.
Updated : October 18, 2011
10
APPENDIX : Numerical example for test Since some formulas are rather complicated, copying involves a risk of mistake. A numerical example is usefull for verification. Especially in case of use of formulas in a computer program, a typical example may be a valuable help to debug. The following data is limited to a low number of points (n=10) in order to make the test easier.
Xm = 24.975
Ym = 8.468
Zm = 4.5074
Sxx = 41.9603
Syy = 10.2798
Szz = 10.3864
Sxy = 41.9603
Sxz = 10.2798
Syz = 10.3864
θ = 0.459591
K11 = 10.3877
K22 = 62.6252
K10 = -23.2928
K01 = 0.0004035
K00 = 52.2401
c0 = -6.348499
c1 = 3922.1842
c2 = -125.25307
p = -1307.2596
q = 18192.436
ρ = 9096.2182
ϕ = 3.1415402
62.6264 δ m2 = min 0.00161869 → δ m2 = 0.00161869 62.6251
a = 2.009691
R = -0.22724546
2 ∑ d k = 0.0161869 δ m = 0.040233
b = 0.994669
Theses a and b values correspond to the minimum quadratic mean distance. They appear on figure 2 as the optimum point, which is the smallest ellipse.
X M = 24.975 M YM = 8.468 Z = 4.5074 M
X H = u = 6.93663 H YH = v = −0.459842 Z = w = 13.4831 H
(MH) is the regression line, which is perpendicular to the plane z = a x + b y
Updated : October 18, 2011
11
COMPARISON WITH THE PRINCIPAL COMPONENT ANALYSIS METHOD Input data : n Xm = 1 ∑ X n k =1 k 1 n (Pm) Ym = ∑ Yk n k =1 1 n Zm = n ∑ Z k k =1
24.975 Pm = 8.468 4.5074
xk = X k − Xm yk = Yk − Ym z = Z − Zm k k
8.465 3.605 5.765 7.375 [ M ] = 4.162 1.762 2.902 3.622 -4.1934 -1.7784 -2.8894 -3.6874 419.60285 207.6716 [E] = [M]T [M] = 207.6716 102.79816 -208.76005 -103.319152
-3.918 -4.588 1.322 -2.718 1.182 -3.728 3.9016 4.6656 -1.2284 2.6726 -1.2124 3.7496 -208.76005 -103.319152 103.8643384 V1,1 V2,1 V3,1 There are 3 eigen values λ1, λ2, λ3, and 3 eigen vectors V 1 = V1,2 V 2 = V2,2 V 3 = V3,2 V V V 1,3 2,3 3,3 2 2 2 The eigen vectors are supposed to be normalized, i.e. Vi,1 + Vi,2 + Vi,3 = 1 -7.885
-9.345
2.505
-5.375
2.425
-7.535
T
To each eigen vector corresponds a straight line (D1), (D2), (D3) which vectorial equations respectively are : OPi = Pm + α Vi with the parameter α defining the point Pi on (Di). The quadratic orthogonal distance from a point Pk to (Di) is : (δ k 2 )i = xk ( xk − Vi ,1 ) + yk ( yk − Vi ,2 ) + zk ( zk − Vi ,3 ) [1 ≤ i ≤ 3]
n The sum of the quadratic distances is : ∑ δ k 2 k =1 i Straight Line (Di) 1 2 3 i 626.249 0.0144095 0.00177742 Eigen values λi 0.818549 0.310363 -0.483375 Vi,1 Eigen vectors Vi 0.405129 -0.908467 0.1027437 Vi,2 0.407243 -0.279930 -0.869362 Vi,3 2 626.250 (Σδk )i 0.0161869 626.263 Σ quadratic ofsets : Obviously, in the present case, the best least squares fittind is obtained relatively to (D1). So the first column is selected. The result is perfectly consistent with the previous result Σδk2 = 0.0161869 The comparison between the eigen vector V1 and 0.818549 0.818529 HM the unit vector of the regression line (D) from V1 = 0.405129 = 0.405120 figure 1 show consistent results. HM 0.407243 0.407291 Updated : October 18, 2011
12
REGRESSION PLANE en 3D. Jean Jacquelin
1. INTRODUCTION :
Etant données les coordonnées de n points : P1(X1 , Y1 , Z1), P2(X2 , Y2 , Z2), ..., Pk(Xk , Yk , Zk), ..., Pn(Xn , Yn , Zn ). dont on sait qu'ils sont voisins d'un plan ( Π ) inconnu au départ, il s'agit de déterminer les paramètres caractérisant ce plan tel que soit minimum la somme des carrés des distances entre le plan et les points.
L'équation du plan ( Π ) sera : A x + B y + C z + 1 = 0 La droite ( D ) , passant par l'origine du système d'axes et orthogonale à ( P ) intersecte ce plan au point H (u, v, w). La droite (D) sera définie par les paramètres a et b figurant dans les équations :
x=az ( D) y=b z
u=aw En conséquence : ( H ) v = b w w
Updated : October 18, 2011
13
Il est aisé d'établir les relations qui relient (u, v et w) à (A, B et C) ainsi qu'à (a et b):
−A u = A2 + B 2 + C 2 −B v= 2 A + B2 + C 2 −C w= 2 A + B2 + C 2
−u −a A= = u 2 + v 2 + w2 a2 + b2 + 1 w −v −b = B= 2 2 u + v + w2 a2 + b2 + 1 w −w −1 C= = u 2 + v 2 + w2 a2 + b2 + 1 w
(
)
(
)
(
)
A a = C b = B C
La projection orthogonale d'un point Pk (Xk, Yk, Zk ) sur ( Π ) est le point Hk . La projection orthogonale de Pk sur ( D ) est le point pk dont les coordonnées sont ( xk, yk, zk ). La distance entre Pk et ( Π ) est δk , égale à la distance entre pk et H : 2
2
δ k 2 = δ1, k 2 + δ 2, k 2 + δ 3, k 2 = ( xk − u ) + ( yk − v ) + ( zk − w )
δ k = H k Pk = H p k
2
Le but est de calculer les paramètres a, b et w qui sont suffisants pour que la droite (D), le point (H) et le plan (Π) perpendiculaire à (D) en (H) soient tous déterminés. Il en serait de même si on cherchait à calculer les paramètres A, B et C figurant dans l'équation de (Π) , puisqu'ils sont liés par les relations précédentes. On cherche à ce que la somme des (δk)2 soit minimum
Néanmoins, dans un premier temps, nous considèrerons plusieurs cas plus simples, relevant également de la méthode des moindres carrés, mais pour lesquels les carrés considérés ne sont pas exactement les distances δk orthogonales entre le plan et les points. On considèrera successivement les sommes des carrés des distances selon les directions des axes : soit les (δ1,k)2 , ou (δ2,k)2 , ou (δ3,k)2 . La régression par la méthode des moindres carrés des distances vraies, donc en cherchant le minimum de la somme des (δk)2 sera traitée ensuite. Finalement, un exemple numérique illustrera les différences de résultats entre les cas précédents. L'intérêt essentiel de cet exemple est de permettre la vérification de programmes de calculs que le lecteur pourrait écrire sur la base des formules qui seront explicitées.
k =n
Note : Pour réduire le volume des écritures, on utilisera le symbole
Σ
à la place de
∑ k =1
Updated : October 18, 2011
14
2. MOINDRES CARRES RELATIVEMENT A L'AXE DES Z : Dans ce cas simple, on cherche à rendre minimale Σ(δ3κ2) . L'équation de ( Π ) sera écrite :
Ax + By + Cz + 1 = 0 →
z = α 3 x + β3 y + γ 3
∑ δ3,2 k = ( Z k − (α 3 X k + β3Yk + γ 3 ) )
A = α3 / γ 3 B = β3 / γ 3 C = −1/ γ 3
2
Le minimum est obtenu lorsque les dérivées partielles relativement à α3 , β3 et γ3 sont nulles :
∑( Z ∑( Z ∑( Z
−2 −2 −2
k
− (α 3 X k + β3Yk + γ 3 ) ) X k = 0
k
− (α 3 X k + β3Yk + γ 3 ) ) Yk = 0
k
− (α 3 X k + β3Yk + γ 3 ) ) = 0
α3 β = Ce qui donne la solution : 3 γ 3
que l'on écrit sous forme matricielle.
∑ ∑ ∑ ∑ X Y ∑Y ∑ ∑ X ∑Y Xk2
X kYk 2
k k
k
k
k
Xk Yk n
−1
∑ X Z Y Z ∑ ∑ Z k
k
k
k
k
Puis A = α3/γ3 ; B = β3/γ3 ; et C = -1/γ3 ;
3. MOINDRES CARRES RELATIVEMENT A L'AXE DES Y : Dans ce cas simple, on cherche à rendre minimale Σ(δ2κ2) . L'équation de ( Π ) sera écrite :
Ax + By + Cz + 1 = 0 →
y = α2 x + γ 2 z + β2
∑ δ 2,2 k = (Yk − (α 2 X k + γ 2 Z k + β 2 ) )
A = α2 / β2 B = −1/ β 2 C =γ /β 2 2
2
Le procédé est analogue (ou par simple permuttation des notations)
α 2 β = Ce qui donne la solution : 2 γ 2
∑ ∑ ∑ ∑X n ∑ ∑ X Z ∑Z ∑ Xk2 k
k
Puis A = α2/β2 ; B = −1/γ2 ; et C = γ2/β2 .
Updated : October 18, 2011
Xk
15
k
k
X k Zk Zk 2 Zk
−1
∑ X Y Y ∑ ∑Y Z k k k
k
k
4. MOINDRES CARRES RELATIVEMENT A L'AXE DES X : Dans ce cas simple, on cherche à rendre minimale Σ(δ1κ2) . L'équation de ( Π ) sera écrite :
Ax + By + Cz + 1 = 0 →
x = β1 y + γ 1z + α1
∑ δ1,2k = ( X k − ( β1Yk + γ 1Z k + α1 ) )
A = −1/ α1 B = β1 / α1 C = γ /α 1 1
2
Le procédé est analogue (ou par simple permuttation des notations)
α1 β = Ce qui donne la solution : 1 γ 1
∑ ∑ ∑ Y ∑Y ∑ ∑ Z ∑Y Z ∑ n
Zk Yk Z k 2 Zk
Yk
2
k
k
k
k k
−1
∑ X ∑ X Y ∑ X Z k
k k
k
k
Puis A = -1/α1 ; B = β1/α1 ; et C = γ1/α1 .
5. MOINDRES CARRES RELATIVEMENT A L'EQUATION DU PLAN : Cette méthode a été décrite dans l'article "Régressions coniques, quadriques. Régressions linéaires et apparentées, circulaire, sphérique" au paragraphe 5 "Ajustement des paramètres d'une équation". Dans le cas présent, il s'agit d'ajuster les paramètres A, B et C de l'équation: A x + B y + C z + 1 = 0 . En général, le point ( Xk , Yk, Zk ) ne satisfait pas exactement l'équation. Il subsiste un écart εk : εk = A Xk + B Yk + C Zk + 1 et on cherche à minimiser la somme des carrés de ces écarts.
ε2 =
∑ ( AX
2
k
+ BYk + CZ k + 1) Le minimum est obtenu lorsque les dérivées partielles
relativement à A, B et C sont nulles, ce qui conduit au système suivant :
∂ε 2 =2 ∂A
∑( AX ∂ε = 2∑ ( AX ∂B ∂ε = 2∑ ( AX ∂C
k
+ BYk + CZ k + 1) X k = 0
k
+ BYk + CZ k + 1) Yk = 0
k
+ BYk + CZ k + 1) Z k = 0
2
2
A B = − Ce qui donne le résultat : C
qui est mis sous forme matricielle
∑ ∑ ∑ ∑ X Y ∑Y ∑ ∑ X Z ∑Y Z ∑ Xk2
X k Yk 2
k k
k
k k
k k
X k Zk Yk Z k 2 Zk
−1
∑X ∑Y ∑Z
k
k k
Toutefois, tout en minimisant la somme des carrés des écarts relativement à l'équation, le plan ainsi déterminé n'est pas rigoureusement celui qui correspondrait au minimum de la somme des carrés des distances entre le plan et les points, bien que la différence soit généralement insignifiante.
Updated : October 18, 2011
16
6. MOINDRES CARRES DES DISTANCES VRAIES, par méthode itérative : Nous entrons maintenant dans l'étude proprement dite du minimum de la somme des carrés des distances vraies (Σδk2). On trouve dans la litérature des méthodes de principes récursifs, ce qui est hors du cadre voulu pour la présente étude. Il semble donc un peu déplacé de proposer ici un processus itératif. Toutefois, il est intéressant d'observer la relation étroite entre cette approche itérative et la solution directe (non récursive) qui sera décrite plus loin. Du point de vue pratique, on ne manquera pas de remarquer que l'algorithme itératif est considérablement moins volumineux et plus rapide à programmer que les formules nettement plus compliquées qui seront données dans le paragraphe 7, pour la résolution directe. C'est aussi un argument pour ne pas omettre de signaler la possibilité d'utilisation de cette procédure itérative relativement simple. Soit Dk la distance entre le point Pk( Xk , Yk , Zk ) et un point quelconque P(x,y, z) du plan (Π ) : 2
2
2
2
Dk 2 = ( x − X k ) + ( y − Yk ) + ( z − Z k ) 2
Dk = ( x − X k ) + ( y − Yk )
2
−( Ax + By + 1) + − Zk C
2
La distance minimum est atteinte lorsque P est en Hk (projection orthogonale de Pk sur ( Π )
∂ ∂
( D ) = 2( x − X 2
k
∂x
k
)−2
A −( Ax + By + 1) − Zk = 0 C C
( D ) = 2 ( y − Y ) − 2 B −( Ax + By + 1) − Z 2
k
∂y
k
C
C
k
=0
La résolution de ce système de deux équations linéaires donne d'abord les deux inconnues x et y puis z est obtenu avec z = -(Ax+By+1)/C
( B 2 + C 2 ) X k − ABYk − ACZ k − A x= A2 + B 2 + C 2 − ABX k + ( A2 + C 2 )Yk − BCZ k − B y= A2 + B 2 + C 2 − ACX k − BCYk + ( A2 + B 2 ) Z k − C z= A2 + B 2 + C 2 2
2
2
En reportant ces expressions dans δ k = ( x − X k ) + ( y − Yk ) + ( z − Z k )
2
et après
2 A X k + BYk + C Z k + 1) ( simplification, on obtient : δ k = 2 2 2 2
D'où la somme des carrés :
∑δ
2 k
A + B +C 1 = 2 A + B2 + C 2
∑( A X
k
+ BYk + C Z k + 1)
2
Le minimum sera obtenu lorsque les dérivées partielles relativement à A, B et C seront nulles. Pour alléger les écritures, on défini Fk et G par :
Updated : October 18, 2011
17
Fk = ( A X k + BYk + C Z k + 1) 1 2 → δ = k G G = A2 + B 2 + C 2 Fk X k Fk 2 ∂ 2 − 2A =0 δk = 2 ∂A G G2 Fk Yk Fk 2 ∂ δk 2 = 2 − 2B =0 → 2 ∂ B G G Fk Z k Fk 2 ∂ δk 2 = 2 − 2C =0 ∂C G G2
∑
(∑ ) ∑ (∑ ) ∑
∑
∑
(∑ ) ∑
∑
∑F
2
k
∑F X k
∑F −A
2
k
k
F ∑ F Y − B ∑
2
k
k k
∑F Z k
=0
G
=0
G
∑F −C
2
k
k
G
=0
En comparant avec le système d'équations pris en compte au §.5, avec les nouvelles notations :
∑F X = 0 ∑F Y = 0 ∑F Z = 0 k
k
k k k
on voit qu'il est apparu des termes complémentaires.
k
La résolution du système, sans ces termes complémentaires, donne déjà un résultat approché. Avec ce résultat préliminaire, on peut calculer la valeur des termes complémentaires, puis en tenir compte en les reportant dans la matrice qui s'écrit alors :
(M ) =
∑
Xk2 −
1 G
∑
∑X Y ∑X Z
k k
∑
Fk 2
∑Y
2
k
1 G
∑ X ∑ A B = − ( M ) −1 ∑Y C ∑Z
k
k k
∑ ∑Y Z 1 ∑Z − ∑ G X k Zk
∑F
k
Yk Z k
k k
La solution, obtenue par :
−
X k Yk 2
k
2
k
k
Fk 2
donne des valeurs corrigées de A, B et C.
On utilisera ces nouvelles valeurs, à la place des précédentes, pour calculer une approximation plus précise de A, B et C. Et ainsi de suite. On choisira un mode d'interruption selon la précision souhaitée des résultats et/ou d'autres critères (par exemple : nombre maximum d'itérations, non variation des digits de résultats successifs, etc.) Le processus itératif est résumé dans le tableau suivant :
Updated : October 18, 2011
18
Updated : October 18, 2011
19
7. MOINDRES CARRES DES DISTANCES VRAIES, méthode directe (non itérative) : Dans le paragraphe précédent, nous avons établi la formule de la somme des carrés des distances entre le plan et les points :
∑
δk 2 =
1 A2 + B 2 + C 2
∑
( A X k + BYk + C Z k + 1)2
Les dérivations partielles relativement à A, B et C conduirait à un système compliqué de trois équations non linéaires. Un changement de variables permet de simplifier les écritures :
A B ; b= C C
a=
; λ =−
1 C
λ
→ w=
a2 + b2 + 1
On reconnaît les notations a, b et w définies en introduction et correspondant à celles de la figure jointe. Avec ces notations, on a :
∑
δk 2 =
1 a2 + b2 + 1
∑(a X
+ bYk + Z k − λ )
k
2
Le minimum de cette somme est obtenu lorsque les dérivées partielles relativement à a, b et λ sont nulles. Celle relative à λ est particulièrement simple :
∂ ∂λ
∑
∑( a X + bY + Z − λ ) = 0 ( ∑ X + b∑ Y + ∑ Z ) 1 a X + bY + Z − (n a∑ X + b∑Y + ∑ Z ) ∑
2 a2 + b2 + 1 1 D'où l'on tire : λ = a n 1 δk 2 = 2 2 a + b +1
δk 2 =
∑
1 = 2 a + b2 + 1
∑
k
k
k
k
k
k
1 a Xk − n
k
k
∑
k
k
1 X k + b Yk − n
∑
k
1 Yk + Z k − n
2
k
∑
Zk
2
Pour simplifier les écritures, on pose :
∑X
xk = X k −
1 n
∑δ
1 a + b2 + 1
2 k
=
k
;
2
yk = Yk −
∑( a x
k
1 n
∑Y
; zk = Z k −
k
+ byk + zk )
1 n
∑Z
k
2
Le système de deux équations à deux inconnues (a, b) est obtenu par les dérivations partielles :
2 a2 + b2 + 1 2 a2 + b2 + 1
∑( a x + by + z ) x − ( a +2ba + 1) ∑( a x + by + z ) = 0 2b a x + by + z y − ( ) ( a x + by + z ) = 0 ∑ ∑ ( a + b + 1)
Il se simplifie :
2
k
k
k
k
k
k
k
k
2
2
2
k
k
k
2
2
k
k
k
2
∑ ∑
2
a a 2 + b2 + 1 b ( a xk + byk + zk ) yk − 2 2 a + b +1
( a xk + byk + zk ) xk −
Updated : October 18, 2011
20
∑ ∑( a x + by + z )
( a xk + byk + zk )2 = 0 k
k
k
2
=0
∑( a x + by + z ) bx − ( a x + by + z ) ay = 0 S = ∑x ; S =∑y ; S = ∑z S = ∑x y ; S = ∑x z ; S = ∑ y z k
k
k
k
k
k
k
k
Pour développer les équations, on défini les coefficients suivants : 2
2
xx
k
yy
xy
k k
k
xz
2
zz
k k
k
yz
k k
Ce qui donne :
(
)
(
)
a a 2 S xx + b 2 S yy + S zz + 2abS xy + 2aS xz + 2bS yz a S xx + bS xy + S xz − =0 a 2 + b2 + 1 b a 2 S x x + b 2 S yy + S zz + 2abS xy + 2aS xz + 2bS yz =0 a S xy + bS yy + S yz − a2 + b2 + 1 b 2 S xy + bS xz + ab( S xx − S yy ) − a 2 S xy − aS yz = 0
(
)
(
)
b2 =
1 a 2 S xy + aS yz − a ( S xx − S yy ) + S xz b S xy
(
))
(
En reportant plusieurs fois cette expression b2 dans le système précédent, on le réduit à deux équations en b au premier degré. Ce qui conduit à deux formulations de b exprimé en fonction de a. L'égalisation de ces deux expressions de b donne une équation où ne figure plus que l'inconnue a. Ces développements sont très fastidieux. Il serait sans intérêt de les reproduire ici en raison de leur volume considérable et du fait que, s'il le souhaite, le lecteur pourra les reproduire lui-même : il ne s'agit que de calcul purement "mécanique" (qui peut être grandement facilité par l'usage d'un logiciel de calcul formel). Heureusement, des simplifications apparaissent dans la formulation finale, qui se réduit alors à une équation du troisième degré :
c3a3 + c2a 2 + c1a + c0 = 0
c0 = S yz ( S xy 2 − S xz 2 ) + S xy S xz ( S zz − S yy ) c1 = S xy 3 + S xy ( S xz 2 − 2 S yz 2 − S zz 2 ) + S xy ( S xx S zz + S yy S zz − S xx S yy ) + + S xz S yz ( S yy + S zz − 2 S xx ) 3 2 2 2 c2 = S yz + S yz ( S xz − 2 S xy − S xx ) + S yz ( S xx S zz + S xx S yy − S yy S zz ) + + S xy S xz ( S xx + S yy − 2 S zz ) 2 2 c3 = S xy ( S yz − S xz ) + S xz S yz ( S xx − S yy ) Cette équation peut posséder jusqu'à trois racines. Pour chaque racine réelle, on calcule b correspondant :
b=
S xy S yz a 2 + ( S yz 2 − S xy 2 )a − S xy S yz
( S yz (S xx − S yy ) − S xy S xz ) a + Sxy(Syy − Szz) + SxzSyz
Lorsqu'il y a plusieurs racines réelles, on choisira celle à laquelle correspond la plus petite valeur de
∑δ
2 k
=
1 a + b2 + 1 2
Updated : October 18, 2011
∑( a x
k
+ byk + zk )
2
21
Le compendium suivant donne la solution exacte au problème de régression plane en 3D : Données : (X1 , Y1 , Z1), (X2 , Y2 , Z2), ..., (Xk , Yk , Zk), ..., (Xn , Yn , Zn ) Pour k=1 à n, calculer les coordonnées réduites :
xk = X k −
1 n
∑X
;
k
yk = Yk −
∑x = ∑x y 2
S xx =
k
S xy
k k
Puis calculer les sommes :
3
1 n
∑Y
; zk = Z k −
k
∑Z
k
∑y ; S = ∑z = ∑x z ; S = ∑ y z 2
; S yy = ; S xz
1 n
2
k
zz
k k
k
yz
k k
2
Les coefficients de l'équation : c3a + c2 a + c1a + c0 = 0 seront calculés avec :
c0 = S yz ( S xy 2 − S xz 2 ) + S xy S xz ( S zz − S yy ) c1 = S xy 3 + S xy ( S xz 2 − 2 S yz 2 − S zz 2 ) + S xy ( S xx S zz + S yy S zz − S xx S yy ) + + S xz S yz ( S yy + S zz − 2 S xx ) 3 2 2 2 c2 = S yz + S yz ( S xz − 2 S xy − S xx ) + S yz ( S xx S zz + S xx S yy − S yy S zz ) + + S xy S xz ( S xx + S yy − 2 S zz ) 2 2 c3 = S xy ( S yz − S xz ) + S xz S yz ( S xx − S yy ) Ensuite, la résolution de l'équation du troisième degré :
c0 c2 c1 r2 2 r3 r s q 2 p3 r= ; s= ; t= ; p=s− ; q= − +t ; R = + c3 c3 c3 3 27 3 4 27 r q q Si R > 0 → a = − + 3 − + R + 3 − − R 3 2 2 r 3 ρ cos ϕ 2 a = − + 1 3 3 p3 ρ = − r 27 ϕ + 2π Si R < 0 → a2 = − + 2 3 ρ cos 3 3 − q ϕ = arccos 2 ρ a = − r + 2 3 ρ cos ϕ + 4π 3 3 3 S xy S yz a 2 + ( S yz 2 − S xy 2 )a − S xy S yz b= S yz ( S xx − S yy ) − S xy S xz a + S xy ( S yy − S zz ) + S xz S yz
(
)
S'il y a plusieurs valeurs réelles de a, calculer chaque b correspondant, ainsi que les sommes
∑
δk 2 =
1 a 2 + b2 + 1
∑
( a xk + byk + zk )2
A x + B y + C z +1 = 0
L'équation du plan ( Π ) :
λ=
( ∑ X + b∑ Y + ∑ Z )
1 a n
k
Updated : October 18, 2011
La plus petite détermine le choix optimal.
k
k
→ C=−
22
est ainsi obtenue avec :
1
λ
;
A=−
a
λ
; B=−
b
λ
8. COMPARAISONS ( pour les mêmes données numériques ) : Méthode des moindres carrés : §.2 : Relativement à l'axe des z §.3 : Relativement à l'axe des y §.4 : Relativement à l'axe des x §.5 : Relativement à l'équation du plan §.6 : Distances vraies, méthode itérative §.7 : Distances vraies, méthode directe
A=
- 0.580241 - 0.580773 - 0.581731 - 0.577067 - 0.580617 - 0.580617
B= 2.256375 2.259281 2.256348 2.24195 2.258106 2.258106
C= 1.763997 1.765619 1.763981 1.754331 1.764963 1.764963
Σδk2 = 0.0037708677 0.0037706012 0.0037798329 0.0037957959 0.0037703595 0.0037703595
Les paramètres A, B et C obtenus sont respectivement très voisins les uns des autres, définissant donc des plans ( Π ) voisins. La plus petite somme des écarts quadratiques est obtenue avec les deux méthodes qui prennent en compte les distances vraies, mais la différence est si petite qu'on peut se demander s'il y a un intérêt à se tourner vers des méthodes plus compliquées qu'une méthode simple usuelle (généralement celle relativement à l'axe des z ). Effectivement, dans la majorité des cas, l'une ou l'autre des trois premières méthodes peut être satisfaisante et suffisante en pratique. Toutefois, il ne faut pas oublier que, dans des cas plus râres, mais qui existent, les moindres carrés pris relativement à une direction peuvent présenter des insuffisances et même des défaillances de calcul numérique (lorsque cette direction se trouve malencontreusement être presque parallèle au plan, par exemple). A ce point de vue, les "moindres carrés des distances vraies" offrent plus de sécurité. Il faut quand même reconnaître que l'intérêt du calcul ardu présenté au §.7 est plus théorique qu'utilitaire et qu'il serait plutôt du genre "exercice de style".
Updated : October 18, 2011
23
COMPARAISON AVEC L'ANALYSE EN COMPOSANTES PRINCIPALES Analyse en composantes principales (rappel sommaire) : Etant données les coordonnées des n points : (X1 , Y1 , Z1), (X2 , Y2 , Z2), ..., (Xk , Yk , Zk), ..., (Xn , Yn , Zn ) Les moyennes arithmétiques X m =
1 n
∑X
; Ym =
k
1 n
∑Y
k
; Zm =
1 n
∑Z
k
définissent le point M(Xm , Ym , Zm ) Les coordonnées réduites (x1 , y1 , z1), (x2 , y2 , z2), ..., (xk , yk , zk), ..., (xn , yn , zn ) sont :
xk = X k − X m
yk = Yk − Ym
;
; zk = Z k − Z m
Soit la matrice : [M] et sa transposée [M]T:
x1 x 2 ... [M] = x k ... xn
y1 y2 ... yk ... yn
z1 z2 ... zk ... zn
T
[M]
x1 = y1 z1
...
xk
...
y2 ...
yk
...
...
zk
...
x2 z2
xn yn zn
T
Leur produit définit la matrice [E] = [M] [M] On calcule les valeurs propres de [E] soit :
λ 1 , λ 2 , λ 3 et les vecteurs propres respectifs
correspondants, soit:
V 1,1 V1 = V1,2 V1,3
V2,1 ; V 2 = V2,2 V2,3
V 3,1 ; V3 = V3,2 V3,3
Note : ne pas confondre les notations λ indicés ci-dessus avec le λ non indicé du §.7.
Plan de régression en 3D. :
Les trois vecteurs propres V1 , V 2 , V3 déterminent trois plans (Π1) , (Π2) , (Π3) , chacun correspondant à un couple de vecteurs. Les équations paramétriques de ces plans sont :
X = X m + V j ,1 α + Vk ,1 β (Π i ) Y = Ym + V j ,2 α + Vk ,2 β [1≤ i ≠ j ≠ k ≤ 3 ] Z = Z m + V j ,3 α + Vk ,3 β (α , β ) sont ( dans le système d'axes V j , V k ) les coordonnées du point (X, Y, Z). Chacune de ces trois plans correspond à un extrémum de l'écart quadratique moyen des distances orthogonales entre les points donnés et le plan considéré. Updated : October 18, 2011
24
Considérons l'un de ces plan (Πi ). Avec les notations du pazagraphe 7, les coordonnées du point Hi (ui ,vi ,wi ) correspondant sont telles que
ui = −Vi ,1 ρi X mVi ,1 + YmVi ,2 + Z mVi ,3 vi = −Vi ,2 ρi avec ρi = − Vi ,12 + Vi ,2 2 + Vi ,32 wi = −Vi ,3 ρi Vi,12 + Vi,22 + Vi,32 = 1 si le vecteur Vi a été normalisé. On en déduit :
ai =
ui Vi ,1 = wi Vi ,3
; bi =
vi Vi ,2 = wi Vi ,3
ai A = − i ai X m + bi Ym + Z m bi Bi = − ai X m + bi Ym + Z m 1 Ci = − ai X m + bi Ym + Z m Ce qui donne l'équation du plan de régression (Πι ) : Ai X + Bi Y + Ci Z + 1 = 0 La somme des écarts quadratiques entre points et plan est donnée par :
( ∑δ ) 2
k
i
1 = 2 Ai + Bi 2 + Ci 2
n
∑( A X i
k
+ Bi Yk + Ci Z k + 1)
2
k =1
Le plan de régression correspond à la plus petite de ces trois valeurs. Un exemple numérique est donné page suivante.
Comparaison avec les méthodes considérées au §.8 : Ainsi que l'on pouvait s'y attendre, la méthode d'analyse en composantes principales revient au même que celle exposée au §.7. L'écriture litérale des équations, telle que ce qui a été fait au §.7 , est un "exercice de style" dont on peut se passer en pratique. La méthode d'analyse en composantes principales se formalise de façon beaucoup plus concise et élégante. Bien évidemment, il faut disposer de moyens de calculs matriciels numériques incluant les calculs de valeurs et vecteurs propres pour que la méthode d'analyse en composantes principales soit vraiment préférable en pratique.
Updated : October 18, 2011
25
Exemple numérique (Plan de régression)
Xm =0.001 Ym = 1.105 Zm = -1.98
Plan ( Π i ) Valeur propre
i
Vecteur propre Vi orthogonal au plan
Equation du plan
Σ Ecarts quadratiques
1
2
3
λi
32.2732540371
54.1889156034
0.0037703595
Vi,1
-0.8259214727
0.5276653908
-0.1985521501
Vi,2 Vi,3 ai bi Ai Bi Ci (Σδk2)i
-0.4633774381 0.3211464944 -2.5717904046 -1.4428849333 -0.7189878171 -0.4033830621 0.2795670346 32.273254
-0.4347291445 0.7297806563 0.7230465569 -0.5956983661 0.2741384167 -0.2258551754 0.37914352 54.1889156
0.7721994048 0.6035603722 -0.3289681683 1.2794070657 -0.5806165989 2.2581059528 1.7649628592 0.0037703595
Bien évidemment, dans le cas présent, c'est le plan (Π3) qui est le plan de régression. Il convient de sélectionner la troisième colonne ci-dessus. Le résultat est le même que celui du §.7.
Updated : October 18, 2011
26
Discussion Question posée par "pjv87" le 10 août 2011 : Aux paragraphes 5,6,7, pourquoi avoir pris une équation du plan A x+B y+C z+1=0 (qui pose problème lorsque le plan passe par l'origine) ? Peut-on résoudre de la même façon A x+B y+C z+D = 0 ?
Réponse : Un plan est défini par trois paramètres indépendants, non pas quatre. En conséquence, la régression ne peut porter que sur trois paramètres indépendants. Si l'équation du plan est A x+B y+C z+D = 0, l'un des paramètre dois être fixé arbitrairement. Le choix s'est porté sur D=1. Mais on aurait aussi bien pu choisir de fixer A=1 et d'optimiser B, C, D. Ou de choisir B=1, ou C=1. Tout cela est possible avec des calculs similaires. Il était également possible de réaliser l'optimisation avec quatre paramètres A, B, C, D non indépendants. Pour cela, une relation complémentaire doit être donnée, par exemple A+B+C+D = k avec k fixé arbitrairement. C'est possible, mais les calculs auraient été un peu plus compliqués. C'est la raison pour laquelle on ne l'a pas fait. De toute façon, il y a toujours un cas particulier : Avec D=1 : A x+B y+C z+D = 0 le point (0, 0, 0) "pose problème". Avec A=1 : x+B y+C z+D = 0 les plans parallèles à l'axe des x "posent problème". Avec B=1 : Ax+y+C z+D = 0 les plans parallèles à l'axe des y "posent problème". Avec C=1 : A x+B y+z+D = 0 les plans parallèles à l'axe des z "posent problème". Et même avec les quatre paramètres A, B, C, D non indépendants et une relation A+B+C+D=1 (par exemple), de la même façon, le point (1, 1, 1) "pose problème". Mais que veut dire "pose problème" dans ce contexte ? N'est-ce pas un faux problème ? En fait, dans le cas de l'équation A x+B y+C z+D = 0, si les points expérimentaux ne sont pas tous exactement sur un plan qui passe par (0,0,0) , on trouvera les coefficients A, B, C tels que le plan ne passera pas exactement par (0,0,0). Il est alors possible, dans certains cas, que ce plan calculé passe très près de (0,0,0) ce qui correspondra à de grandes valeurs de A, B, C. Il n'y a donc pas de problème, hormis éventuellement des difficultés de calcul liés aux grands nombres. Même dans ce cas exceptionnel, il n'y a pas de difficulté car une simple translation du système d'axes permet de se retrouver dans la situation où le plan ne passe pas par la nouvelle origine, ni à son voisinage. Et le calcul se fait alors sans difficulté. Remarque : il ne faut pas confondre le problème dont on vient de parler avec un problème différent qui est le suivant : Calculer l'équation d'un plan passant exactement par un point fixé à-priori (par exemple 0,0,0) et au plus proche d'un ensemble de points donnés. Ce problème est différent car l'optimisation portera alors sur deux paramètres indépendants au lieux de trois. L'équation du plan pourra être A x+B y+z = 0, ou x+B y+C z=0, ou A x+y+C z = 0. Ce pourrait être aussi avec trois paramètres A, B, C non indépendants : Ax+By+Cz=0 avec une relation de dépendance A+B+C = k et k étant fixé arbitrairement. L'étude théorique serait similaire (et plus simple) que celle qui a été faite lorsque l'on n'impose pas au plan de passer par un point donné à-priori. Mais il s'agit d'études différentes qu'il ne faut pas confondre. De même que ce serait encore une autre étude si l'on imposait au plan de contenir une droite fixée à-priori (problème d'optimisation à un seul paramètre indépendant).
Updated : October 18, 2011
27
CARACTERISATION DE TRAJECTOIRE en 3D. Jean Jacquelin
1. INTRODUCTION :
Etant données les coordonnées de n points : P1(X1 , Y1 , Z1), P2(X2 , Y2 , Z2), ..., Pk(Xk , Yk , Zk), ..., Pn(Xn , Yn , Zn ). il s'agit de déterminer les paramètres caractérisant une courbe du genre ellipse, parabole ou hyperbole, de telle sorte que cette courbe passe au voisinage des points. Il s'agit d'une courbe plane donc dans un plan ( Π ) inconnu au départ et dont il convient de déterminer les paramètres. Le point M(Xm , Ym , Zm ) étant défini par :
Xm =
1 n
∑X
k
; Ym =
1 n
∑Y
k
; Zm =
1 n
∑Z
k
nous travaillons dans le système d'axes (x,y,z) translaté de OM par rapport au système d'axes initial (X,Y,Z).
Cette figure est présentée en tant que nomenclature des symboles utilisés. Elle n'est pas représentative de l'éxemple numérique traité à la fin de l'article. Certaines notations de l'article précédent "Régressions planes en 3D." ont été modifiées (par exemple, le plan (Π) est maintenant défini à partir du point M au lieu de O ).
Updated : October 18, 2011
28
Régression plane par la méthode d'analyse en composantes principales : Soit la matrice : [M] et sa transposée [M]T:
x1 x 2 ... [M] = x k ... xn
y1 y2 ... yk ... yn
z1 z2 ... zk ... zn
T
[M]
x1 = y1 z1
...
xk
...
y2 ...
yk
...
...
zk
...
x2 z2
xn yn zn
T
Leur produit définit la matrice [E] = [M] [M] On calcule les valeurs propres de [E] soit :
λ 1 , λ 2 , λ 3 , rangées par valeurs décroissantes
et les vecteurs propres respectifs correspondants, soit:
V 1,1 V1 = V1,2 V1,3
V2,1 ; V 2 = V2,2 V2,3
V 3,1 ; V 3 = V3,2 V3,3
V1,1 V2,1 V3,1 ; [ V ] = V1,2 V2,2 V3,2 V1,3 V2,3 V3,3
On suppose que ces vecteurs ont été normalisés donc : Vi,12 + Vi,22 + Vi,32 = 1
Du fait que λ3 est la plus petite valeur propre, le vecteur propre correspondant V 3 est le
vecteur unitaire perpendiculaire au plan (Π) déterminé par V 1 , V 2 Ce qui donne l'équation du plan de régression (Π) : A X + BY + C Z + 1 = 0
a A = − a X m + bYm + Z m V V b a = 3,1 ; b = 3,2 ; B = − V3,3 V3,3 ai X m + bi Ym + Z m 1 C = − ai X m + bi Ym + Z m x = V1,1 α + V2,1 β L'équation paramétrique du plan (Π) est : y = V1,2 α + V2,2 β z = V1,3 α + V2,3 β (α , β ) sont les coordonnées du point (x, y, z) dans le système d'axes V1 , V 2 La distance entre l'un des points donnés Pk(xk, yk, zk) et le plan (Π) est la projection de MP k n 2 sur V 3 . La somme des carrés de toutes ces distances est : MP k .V3 = λ3
∑( k =1
Updated : October 18, 2011
29
)
Optimisation des paramètres de l'équation d'une conique dans le plan (Π) :
Le système V1 , V 2 , V3 constitue une nouvelle base sur laquelle un point (P) est repéré par ses coordonnées (α, β, γ ) avec les relations :
x = V1,1 α + V2,1 β + V3,1 γ MP y = V1,2 α + V2,2 β + V3,2 γ z = V1,3 α + V2,3 β + V3,3 γ
α = [V] . β γ T
[ γ =0 si (P) est sur le plan (Π) ]
Dans ce système d'axes, les coordonnées des points donnés (Pk) sont calculées par :
α k β = V T k [ ] γ k
(
)
−1
xk y k zk
Considérons une courbe du genre conique dont l'équation générale est :
κ 0,2 β 2 + κ 2,0 α 2 + κ1,1 α β + κ 0,1 β + κ1,0 α + 1 = 0 Le principe de la régression linéaire portant sur les cinq coefficients κ 0,2 , κ 2,0 , κ1,1 , κ 0,1 , κ1,0 a été exposé dans le papier "Régressions coniques, quadriques", première partie, paragraphe 5 : "Ajustement des paramètres d'une équation". Le système d'équations linéaires à résoudre a été explicité dans la seconde partie du même papier au paragraphe "Généralisation aux coniques". Avec les notations utilisées ici, le système d'équation est :
∑β ∑α β ∑α β ∑β ∑α β 4 k
2 2 k k
2 2 k k k
3 k
3 k k
∑α β ∑α ∑α β ∑α β ∑α 4 k
3 k k
2 k k
2 k
3 k
∑α β ∑α β ∑α β ∑α β ∑α β k
3 k
3 k k
2 2 k k
k
2 k
2 k k
∑β ∑α β ∑α β ∑β ∑α β 3 k
k
2 k k
k
2 k
2 k k
∑α β ∑α ∑α β ∑α β ∑α 3 k
2 k k
k
k
2 k
2 k
k
κ 0,2 κ 2,0 κ 1,1 = − κ 0,1 κ 1,0
∑ β α ∑ ∑α β ∑ β α ∑ 2 k 2 k k
k
k
k
La première partie du papier "Régressions coniques, quadriques"a été publiée dans le magazine QUADRATURE n°63, pp.33-40, janvier 2007. La deuxième partie a été publiée dans QUADRATURE n°65, pp.4-5, juillet 2007 Edité par EDP Sciences, 17 av. du Hoggar, PA de Courtaboeuf, 91944 Les ULIS, France L'article complet "Régressions coniques, quadriques, circulaires, sphériques" est accesspble par :
http://www.scribd.com/JJacquelin/documents
Updated : October 18, 2011
30
En écrivant le système précédent sous forme symbolique :
[ κ ] = − [S]−1 [σ ]
[S][ κ ] = − [σ]
on le résout par :
ce qui donne les coefficients de l'équation de la conique.
L'équation paramétrique de la conique dans le système d'axes initial est donné par :
κ 0,2 β 2 + κ 2,0 α 2 + κ1,1 α β + κ 0,1 β + κ1,0 α + 1 = 0 X = X m + V1,1 α + V2,1 β Y = Ym + V1,2 α + V2,2 β Z = Z + V α + V β m 1,3 2,3 Par exemple, pour une valeur réelle donnée du paramètre α, la première relation donne deux valeurs réelles de β (ou une seule valeur, ou pas de valeur réelle). Les trois autres relations donnent les coordonnées (X,Y,Z) des deux points correspondants de la conique (ou un seul point, ou pas de point).En faisant varier le paramètre choisi, le ou les point(s) parcourent la courbe représentative de la conique.
Nature et caractéristiques de la conique : Selon les valeurs des coefficients κ qui sont obtenus, on détermine la nature de la courbe : > 0 → Ellipse 2 κ 0,2 κ 2,0 − 4 (κ1,1 ) = 0 → Parabole < 0 → Hyperbole Le cas de la parabole est un peu spécial car, en calcul numérique, il faut s'attendre à trouver une valeur proche de zéro au lieu de l'égalité théorique à zéro. Dans ce cas, la partie utile de la courbe (celle qui se trouve dans la région des points expérimentaux) se présente comme un arc d'ellipse, ou d'hyperbole, dégénérée qui peut être pratiquement confondue avec un arc de parabole.
Le point M ( qui est l'origine du système d'axes dont les vecteurs unitaires sont V1 , V 2 )
n'est pas le centre de la conique. Les vecteurs V1 , V 2 ne définissent pas les axes de la conique. Tous les paramètres qui carractérisent la conique ( centre, axes, points focaux, etc. ) se calculent classiquement à partir des coefficients κ 0,2 , κ 2,0 , κ1,1 , κ 0,1 , κ1,0 . Voir, par exemple, pour le calcul des axes de la coniqie : : http://mathworld.wolfram.com/QuadraticCurve.html Danc cet article, les notations : a x2 + 2 b x y + c y2 + 2 d x + 2 f y + g = 0 correspondent à : x ≡ α ; y ≡ β ; a ≡ κ2,0 ; b ≡ ½ κ1,1 ; c ≡ κ0,2 ; d ≡ ½ κ1,0 ; f ≡ ½ κ0,1 ; g ≡ 1. Puis, pour le calcul des autres paramètres et selon le cas : http://mathworld.wolfram.com/Ellipse.html http://mathworld.wolfram.com/Parabola.html http://mathworld.wolfram.com/Hyperbola.html
Déviations : Le calcul analytique de la distance dk entre un point Pk et la conique est théoriquement possible, mais conduirait à des expressions compliquées et volumineuses. En effet, il serait nécessaire de résoudre une équation polynomiale du quatrième degré. Ceci sort du cadre du présent article. En pratique, les distances dk entre les points donnés et la courbe peuvent être obtenues approximativement par calcul numérique. Updated : October 18, 2011
31
DISCUSSION : Dans la présente étude, le critère d'optimisation n'est pas le minimum de la somme des carrés des distances entre les points donnés et la courbe calculée. Et ceci pour deux raisons : - Pour déterminer le plan (Π) le critère est bien le minimum du carré des distances orthogonales entre les points et le plan. Ce n'est donc pas en relation directe avec les distances entre les points et la courbe, qui n'est pas encore connue à ce stade. - Pour déterminer les paramètres optimum de l'équation de la courbe, la méthode employée se réfère à un critère d'optimisation différent du classique "moindre somme des carrés des distances". Ceci est expliqué dans le papier "Régressions coniques, quadriques" dont il a été fait référence. Si le critère de "moindre somme des carrés des distances" était impératif, il serait en effet impossible de ramener le problème à du calcul linéaire. Le recours à des méthodes plus sophistiquées impliquerait du calcul itératif. On contourne ce problème compliqué en ne prenant pas pour critère les distances au sens purement géométrique, mais des sommes de carrés d'expressions mathématiques, par exemple lors de l'ajustement des paramètres de l'équation d'une courbe. De plus et ainsi qu'on l'a remarqué dans le papier ayant fait référence à ce sujet : > Parfois, ces considérations ne sont pas prises en compte et ce qui motive le choix d'une méthode est tout autre : On se contante de demander que les calculs soient les plus simples possibles. Ce qui conduit à la forme la élémentaire de "moindre somme des carrés des distances". Mais, lorsqu'on sort des cas de droites ou de plan, on est contraint de remettre en question ce schéma simple. Il faut se résigner, soit à s'orienter vers des méthodes ittératives, soit à accepter des critères différents qui permettent de rester dans le contexte de calculs nonittératifs (ce qui est le parti qui a été pris dans le présent article). C'est à l'expérience pratique de la mise en œuvre de telle ou telle méthode et à l'observation des résultats qu'elle procure, qu'il convient de juger finalement en tout état de cause. Afin de faciliter la mise en œuvre de la méthode qui a été décrite, le paragraphe suivant donne un exemple d'application numérique. Le nombre de points considérés (n=10) est volontairement petit pour que les vérifications soient facilitées.
Updated : October 18, 2011
32
EXEMPLE NUMERIQUE DE DETERMINATION DE TRAJECTOIRE en 3D. Données :
xk
yk
zk
Xm =0.001 Ym = 1.105 Zm = -1.98 xk = Xk - Xm yk = Yk - Ym zk = Z k - Z m
Valeurs propres et vecteurs propres :
λ1 = 54.1889
λ2 = 32.2732
V1,1 = 0.527665 V1 = V1,2 = −0.434729 V1,3 = 0.729781
V2,1 = −0.825921 V = −0.198552 3,1 V 2 = V2,2 = −0.463377 V 3 = V3,2 = 0.772199 V = 0.321146 2,3 V3,3 = 0.603560
λ3 = 0.00377036
Equation du plan (Π) dans le système d'axes initial est A X + B Y + C Z+1 = 0 , avec : a = -0.328968 ; b = 1.279407 ; A = -0.580617 ; B = 2.258106 ; C = 1.764963
0.527665 V = [ ] −0.434729 0.729781 T −1
([ V ] )
−0.825921 −0.198552 −0.463377 0.772199 0.321146 0.603560
0.527665 = −0.434729 0.729781
0.527665 T V = [ ] −0.825921 −0.198552
−0.825921 −0.198552 −0.463377 0.772199 0.321147 0.603560
([ V ] ) T
Updated : October 18, 2011
αk
−0.313034 −2.401434 −2.170129 0.202006 −1 [ M ] = 3.000851 4.103166 2.582884 −0.33058 −2.459816 −2.213915 33
−0.434729 0.729781 −0.463377 0.321146 0.772199 0.603560
βk −2.281796 −0.705147 1.550661 2.786786 2.102011 0.001348 −1.96762 −2.286796 −0.730839 1.531392
γk 0.002049 0.031439 0.02606 −0.020523 −0.008312 0.025111 −0.005045 −0.02378 −0.016845 −0.010154
n
∑ k =1 n
n
β k4 = 161.0947
n
4
∑
k =1
k =1
∑
k =1
k =1
n
∑ α k β k = −2.22 10
k =1
0.007004 −0.001317 −1 [S] = −2.756075 ∗ 10−4 −4 −7.597519 ∗ 10 4.968029 ∗ 10−4
n
2
k =1
n
n
-15
n
n
∑ k =1
βk
< 10
k =1
2
∑ α k = 54.188916
k =1
−15
n
∑ α k = 1.33 10
−15
k =1
−0.001317
−2.756075 ∗ 10
0.002489
1.891561 ∗ 10
1.891561 ∗ 10
2
∑ α k β k = 11.7854
k =1
β k2 = 32.2733
3
k =1
β k3 = 6.05259 ∑ α k β k2 = 5.99897
n
3
∑ α k = 63.47255
2
∑ α k β k = 95.9334 ∑ α k β k = 11.3442
k =1
∑ α k = 525.142 n
n
3
∑ α k β k = 5.99897
−4
−7.120826 ∗ 10
−4
−0.002749
−4
−4
−7.597519 ∗ 10
−4
4.968029 ∗ 10
−7.120826 ∗ 10
−4
−0.002749
0.010996
−0.002931
−0.002569
−0.002931
0.032164
0.001591
−0.002569
0.001591
0.022154
−4
κ 0,2 = −0.154699 κ 2,0 = −0.09238 [ κ ] = − [S]−1[ σ] = κ 1,1= −0.001355 κ 0,1 = 0.063107 κ = 0.132913 1,0 Equation de la conique dans le plan (Π) Nature de la conique :
κ 0,2 β 2 + κ 2,0 α 2 + κ1,1 α β + κ 0,1 β + κ1,0 α + 1 = 0
κ0,2 κ2,0 – 4 κ1,12 = 0.014284 > 0 donc c'est une ellipse.
Déviations relativement à l'équation ( εk au lieu de 0 ) :
Distances entre les points et l'ellipse :
Updated : October 18, 2011
34
View more...
Comments