C.C. License

Claus Johansen, Sønderborg, Danmark, 2016-03-30 -> 2020-05-28


Mindste Kvadraters Metode - Vinkelrette Afstand




Oversigt



Indhold:

1) Indledning

2) Eksempler på uhensigtsmæssigheder ved den alm. metode

3) Mindste Kvadraters Metode - Vinkelrette Afstand

4) En anden kilde

5) Sammenligning af de to formler

6) Omkalfatring af den nye formel

7) Sammenligning af de tre metoder

8) Implementering i et regneark

9) Afhjælpes uhensigtsmæssighederne med denne "Vinkelrette Afstand" metode?

10) Forklaringsgraden, et yderligere argument for den "Vinkelrette Afstand" metode

11) Praktisk håndtering af dobbelt-løsningerne for den "Vinkelrette Afstand" metode

12) Praktisk formulering af de tre løsningerne for den "Vinkelrette Afstand" metode

13) Epilog



Top Op Ned Bund

1) Indledning

Mindste kvadraters metode (lineær) ligger som fast hjælpemiddel i alle almindelige regneark. Den fundne linie benævnes ofte "Trendline". Metoden virker ved at minimere summen af kvadraterne på de lodrette afstande mellem linien der "bedst" beskriver data og de enkelte data-punkter. Denne traditionelle metode har flere uhensigtsmæssigheder og udmærker sig egentlig kun ved at være let at bruge via integrationen i regneark.

Det foreslåes derfor at anvende en anden variant af mindste kvadraters metode, hvor summen af kvadraterne på de vinkelrette afstande til en linie minimeres. Det vil blive vist, hvordan formlen udledes og hvordan den let anvendes i et regneark.

Fig.1.1 Fig.1.2
Fig. 1.1: Lodret afstand. Fig. 1.2: Vinkelret afstand.


Top Op Ned Bund

2) Eksempler på uhensigtsmæssigheder ved den alm. metode

Nedenfor vil der blive givet tre eksempler på uhensigtsmæssigheder ved den alm. metode.

Et ret tilfældigt eksempel på nogle data:

No X Y
1 1 1
2 2 3
3 3 2
4 4 4
5 5 3
6 6 5
7 7 3
8 8 4
9 9 6
Fig.2.1
Fig. 2.1: Indledende analyse.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er i dette eksempel lig de 0.433333, men det er lig tangens til liniens vinkel med x-aksen, altså bliver vinklen:

θ = atan(0.433333) = 23.4287°


2.1) Rotation

Lad som et eksempel alle punkter rotere 25°:

No X Y
1 0.484 1.329
2 0.545 3.564
3 1.874 3.080
4 1.935 5.316
5 3.264 4.832
6 3.325 7.067
7 5.076 5.677
8 5.560 7.006
9 5.621 9.241
Fig.02.1.1
Fig. 2.1.1: MKM med roterede data.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er de 1.00286, men det er lig tangens til liniens vinkel med x-aksen, altså bliver vinklen:

θ = atan(1.00286) = 45.082°

Men hallo, inden drejningen var vinklen 23.4287°, derefter blev punkterne drejet 25°, så burde den nye linie ligge i en vinkel på: 23.4287° + 25° = 48.4287°, men vinklen er 45.082° - det virker da ikke så overbevisende!

Nedenfor er den fundne linie (rød) roteret tilbage og lagt ovenpå de oprindelige data og den oprindeligt fundne linie (blå). Linien der blev fundet sidst har klart en mindre hældning:

Fig.2.1.2
Fig. 2.1.2: Sammenligning med roterede data.

2.2) Invertering

Inverter som et eksempel alle data ved at ombytte x og y værdier:

No X Y
1 1 1
2 3 2
3 2 3
4 4 4
5 3 5
6 5 6
7 3 7
8 4 8
9 6 9
Fig.2.2.1
Fig. 2.2.1: MKM med inverterede data.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er de 1.426829.

Men halløj, inden inverteringen var hældningen 0.433333, derefter blev data inverteret, så burde den nye linie have en hældning på: 1/0.433333 = 2.307692, men hældningen er på 1.426829 - det virker da ikke videre troværdigt!

Nedenfor er den fundne (rød) linie inverteret tilbage og lagt ovenpå de oprindelige data og den oprindeligt fundne linie (blå). Linien der blev fundet sidst har klart en større hældning:

Fig.2.2.2
Fig. 2.2.2: Sammenligning med inverterede data.

2.3) Rotation til "vandret"

I eksemplet blev vinklen af trendline fundet til:

θ = atan(0.433333) = 23.4287°

Ja, men roter så alle punkter modsat denne vinkel, altså -23.4287°:

No X Y
1 1.315 0.520
2 3.028 1.957
3 3.548 0.642
4 5.261 2.080
5 5.781 0.765
6 7.493 2.202
7 7.616 -0.031
8 8.931 0.489
9 10.644 1.927
Fig.02.3
Fig. 2.3: MKM med roterede data.

Nu burde mindste kvadraters metode vel give en vandret linie, men det er ikke tilfældet. I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten - hvis linien var vandret ville den være 0. Hældningen af linien er de 0.035, og det er lig tangens til liniens vinkel med x-aksen, altså bliver vinklen:

θ = atan(0.0350657) = 2.008°

En lille vinkel, javel, men ikke nul.

Måske ikke så afgørende, men et andet udtryk for, at linien har en hældning er, at forklaringsgraden R2 ikke er nul.



Top Op Ned Bund

3) Mindste Kvadraters Metode - Vinkelrette Afstand


3.1) Forudsætning

En forudsætning for, at finde linien med mindste sum af kvadrede vinkelrette afstand til en punktsky af data, som det vises nedenfor, er, at man ved / antager / forudsætter / forlanger at linien går gennem tyngdepunktet af punktskyen. Dette bliver ikke direkte bevist nedenfor, men giver god mening, hvis man tænker på punktskyen som et fysisk legme og de fundne linier som hoved-inertiakser.


3.2) Indledende tilpasning

Tyngdepunktet af punktskyen findes, i et regneark vil det typisk være nemmest at bruge "middel"/"average" funktionen. Der kan tænkes dannet et nyt koordinatsystem (s, t) og data transformeres fra (x, y) koordinatsystemet til dette nye (s, t) koordinatsystem.

Idet middelværdierne symboliseres ved x_avg og y_avg dannes de nye koordinater ved:

eq.3.1   (3.1)
eq.3.2   (3.2)
Fig.3.2.1 Fig.3.2.2
Fig. 3.2.1: Tyngdepunkt med nyt koordinatsystem. Fig. 3.2.2: Data i (s, t) koord.sys.

3.3) Minimum vinkelret afstand

Lad nu et nyt koordinatsystem (u, v) ligge i en vilkårlig vinkel θ i forhold til (s, t) koordinatsystemet (det er derved roteret om tyngdepunktet):

Fig.3.3.1 Fig.3.3.2
Fig. 3.3.1: Et nyt roteret koordinatsystem. Fig. 3.3.2: Data i (u, v) koord.sys.

Idet u-aksen symbolisere den søgte linie (med minimum sum af kvadrerede vinkelrette afstande) så vil de vinkelrette afstande simpelthen være v-koordinaten.

De generelle formler for at rotere koordinaterne, fra (s, t) til (u, v) med vinklen θ, lyder:

eq.3.03   (3.3)
eq.3.04   (3.4)

Ligning 3.3 skal egentlig ikke bruges, men er taget med for fuldstændighedens skyld. "v", i lign. 3.4, er som sagt den vinkelrette afstand til linien eller u-aksen. Det er kvadratet på denne afstand, der skal bruges:

eq.3.05   (3.5)
eq.3.06   (3.6)

Lign. 3.6 er så den kvadrerede afstand for et vilkårligt punkt, men det jo summen af kvadraterne på afstandene, der skal minimeres. For at undgå at skrive de noget omstændelige summationstegn flere gange, dannes disse hjælpestørrelser:

eq.3.07   (3.7)
eq.3.08   (3.8)
eq.3.09   (3.9)
eq.3.10   (3.10)

Når lign. 3.7, 3.8, 3.9 og 3.10 indsættes i lign. 3.6, så kan summen af kvadraterne på de vinkelrette afstande skrives som nedenfor - det er denne ligning, der skal findes et minimum på:

eq.3.11   (3.11)

Når minimum (og/eller maksimum) af en funktion skal findes, så sættes den afledede, altså differentialkvotienten, lig 0. Funktionen ovenfor er let at differntiere, det er mest sinus og cosinus plus nogle konstanter:

eq.3.12   (3.12)
eq.3.13   (3.13)

Her kan man komme videre med to formler for trigonometriske funktioner med dobbelt vinkel:

eq.3.14   (3.14)
eq.3.15   (3.15)

Indsættes lign. 3.14 og 3.15 i lign. 3.13, så kan den skrives som:

eq.3.16   (3.16)

Sættes denne differentialkvotient så lig nul, fører det til flg. ligninger, med udgangspunkt i lign. 3.16:

eq.3.17   (3.17)
eq.3.18   (3.18)
eq.3.19   (3.19)

Herfra kan man tage forskellige veje, der vil føre til forskellige løsninger. Man kan kvadrerer begge sider i ligningen og derefter vha. "idiotformlen" erstatte sin med cos eller omvendt. Ulempen er at de fundne løsninger reelt vil indeholde to ± tegn og dermed give 4 løsninger, der skal kontrolleres. Man kan også bare dividere med cos på begge sider i ligningen og dermed få resultatet direkte med tangens-funktionen. Det gøres hér:

eq.3.20   (3.20)
eq.3.21   (3.21)

En anden kilde, som jeg vil referere i næste afsnit, bruger en størrelse "B", til at udtrykke højresiden. På denne måde kommer ligningem så til at have et udseende som:

eq.3.22   (3.22)

Hvor:

eq.3.23   (3.23)

Vinklen af linien (i.f.t X-aksen) bliver så:

eq.3.24   (3.24)

Da hældningen (hældningskoefficienten) er lig tangens til vinklen af linien med X-aksen, bliver den så:

eq.3.25   (3.25)

Som det bliver nævnt ovenfor mellem lign. 3.19 og 3.20 og som det er vist nedenfor i § 4 "Anden kilde", vil der som oftest optræde mindst et ± tegn i løsningen. Det er et konsekvens af, at når der søges efter et minimum, differentieres der og den afledede funktion sættes til nul. Men der kan derved ikke skelnes mellem et minumum eller maksimum - når der er to løsninger, vil de henholdsvis være et minimum og et maksimum.

Hvad så med den hér fundne løsning - i lign. 3.22 optræder der ikke noget ± tegn i løsningen? Nej, men tan(2θ) kan have værdier mellem -∞ og +∞ og argumentet, 2θ vil derfor i hovedintervallet, med funktionen arcus tangens / arctan / atan få værdier mellem -90° og +90°, derved vil den søgte vinkel, θ få værdier mellem -45° og +45°. Men det kan jo ikke passe, at den søgte linie ikke kan være stejlere end ±45°? Nej, den anden løsning man skal kontrollere er komplementvinklen, altså vinklen, der sammen med den fundne giver 90°.
θ + θc = π/2 (eller 90°).
Vinklen (eller den anden løsning) der skal kontrolleres er så:

eq.3.26   (3.26)

Altså hvad enten man bruger formlerne, der er udledt hér i § 3 eller man tyer til formlerne i § 4 "En anden kilde", vil der være to løsningen der skal kontrolleres. Men kontrollen kan fortages meget let, med udtryk der er brugt hér i § 3.

I § 11 vises det, hvordan det let kan bestemmes, hvilken af dobbelt-løsningerne der skal bruges - altså uden at kontrollere begge løsninger!

I § 6 omkalfatres formlen til et udtryk, der ikke kræver udregning af to løsninger med efterfølgende kontrol.



Top Op Ned Bund

4) En anden kilde

Mathworld giver nedenstående formel, citeret fra:
Weisstein, Eric W. "Least Squares Fitting--Perpendicular Offsets."
From MathWorld--A Wolfram Web Resource.
http://mathworld.wolfram.com/LeastSquaresFittingPerpendicularOffsets.html

Når:

eq.4.1   (4.1)

Så kan hældningen af linien findes som:

eq.4.2   (4.2)

Ser man nærmere efter, så skyldes det komplekse udtryk for "B", i lign. 4.1, at der ikke er transformeret til et (s, t) koordinatsystem og at summationerne ikke er skrevet med de kompakte udtryk af typen "SS", der blev brugt i § 3. Ligning 3.23 og 4.1 er réelt ens, så lign. 4.1 kunne lige så godt skrives som:

eq.3.23   (4.3)

Størrelsen "b" i lign. 4.2 kan virke lidt forvirrende, da b ofte bruges for skæringen med Y-aksen i ligningen for en linie:

eq.4.4   (4.4)

Men hældningen (hældningskoefficienten) er lig tangens til vinklen af linien med X-aksen, så lign. 4.2 kunne lige så godt skrives som:

eq.4.5   (4.5)

Vinklen af linien (i.f.t. X-aksen) er så:

eq.4.6   (4.6)



Top Op Ned Bund

5) Sammenligning af de to formler

Kan det virkeligt passe, at de to formler réelt siger det samme?

eq.3.22   (3.22)
eq.4.5   (4.5)

Her kan man igen bruge en formel for trigonometriske funktioner med dobbelt vinkel - denne gang tangens:

eq.5.1   (5.1)

Kombineres lign. 3.22 med 5.1 fåes:

eq.5.2   (5.2)
eq.5.3   (5.3)
eq.5.4   (5.4)

Man ender altså med en 2. grads ligning, med tan(θ) som ubekendt. Standardløsningen kan skrives som:

eq.5.5   (5.5)
eq.5.6   (5.6)

Man kan altså let omforme den først fundne løsning, med 2θ til samme løsning som den anden kilde, med θ alene.

Hvad enten man har brugt den ene eller anden formel, vil det være naturligt at udregne forklaringsgraden (= korrelationskoefficienten kvadreret), der sammensættes af nogle af de allerede udregnede størrelser:

eq.5.7   (5.7)



Top Op Ned Bund

6) Omkalfatring af den nye formel

Det kan synes som en banal variant at anvende atan2-funktionen i den nye formel, men rent håndteringsmæssigt giver det faktisk nogle lettelser:

Griber man til den nye formel, som den blev formuleret i lign. 3.22, vil man herfra direkte komme til følgende udtryk:

eq.3.22   (3.22)
eq.6.1   (6.1)

Her kan man så indsætte udtrykket for "B", men mere nærliggende er det, at udnytte formlen som den blev formuleret i den foregående lign. 3.21 og arbejde videre herfra:

eq.3.21   (3.21)
eq.6.2   (6.2)
eq.6.3   (6.3)

Hvor:

eq.6.4   (6.4)
eq.6.5   (6.5)

Denne sidste formulering er, efter min mening, den mest strømliniede for praktisk anvendelse, altså lign. 6.3, 6.4 og 6.5.

Da hældningen (hældningskoefficienten) er lig tangens til vinklen af linjen med X-aksen, kan den nu skrives som:

eq.6.6   (6.6)



Top Op Ned Bund

7) Sammenligning af de tre metoder


7a) Anden kilde, Mathworld

Metoden er omtalt nærmere i § 4 med kildeangivelse og med forklaring på størrelsen "B". For linien med mindste sum af kvadrater på vinkelrette afstande gælder at:

Hældningen (hældningskoefficienten) er:

eq.4.5   (4.5)

Eller vinklen af linien (i.f.t. X-aksen) er:

eq.4.6   (4.6)

Herudover går linien gennem punkternes tyngdepunkt ( x_avg , y_avg ).

Idet flg. identitet gælder:

eq.7.1   (7.1)

Så må flg. forhold også gælde:

eq.7.2   (7.2)

Dermed må plusset i lig. 4.5 omfatte de positive løsninger, altså positive hældninger/vinkler:

eq.7.3   (7.3)

Og minusset i lign. 4.5 omfatter de negative løsninger, altså negative hældninger/vinkler:

eq.7.4   (7.4)

Drejer man koordinatsystemet 360° rundt, får de positive løsninger, som vist i lign. 7.3, flg. forløb:

Fig.7.a.1
Fig. 7.a.1: Positive løsninger.

Drejer man koordinatsystemet 360° rundt, får de negative løsninger, som vist i lig. 7.4, flg. forløb:

Fig.7.a.2
Fig. 7.a.2: Negative løsninger.

Drejer man koordinatsystemet 360° rundt, får både de positive og negative løsninger, som vist i lign. 4.6 og igen individuelt i lign. 7.3 og 7.4, flg. forløb:

Fig.7.a.3
Fig. 7.a.3: Positive og negative løsninger.

Linien der giver mindstet sum af kvadrater hælder ca. 25.610° i udgangspositionen, så når koordinatsystemet er drejet denne vinkel, må løsningen have hældningen 0° - drejes der videre må løsningen blive negativ, og der må på denne måde uvægerligt pendles mellem de positive og negative løsninger. Ved at udregne begge løsninger og derefter "lave prøve" ved at finde den med mindst sum af kvadrerede afstande, er den rigtige løsning valgt. Nedenfor er de positive og negative løsninger fra de to ovenstående Figurer, Fig. 7.a.1 & 7.a.2, lagt ind over den rigtige løsning, der er markeret med en fed gul linie:

Fig.7.a.4
Fig. 7.a.4: Alle løsninger.

7b) Den nye løsning, med arctan(1/B)

Metoden blev udledt i § 3 med forklaring på størrelsen "B". For linien med mindste sum af kvadrater på vinkelrette afstande gælder at:

Hældningen (hældningskoefficienten) er:

eq.3.25   (3.25)

Eller vinklen af linien (i.f.t. X-aksen) er:

eq.3.24   (3.24)

Herudover går linien gennem punkternes tyngdepunkt (x_avg , y_avg)

Som sagt før i § 3, så vil funktionen arcus tangens give værdier mellem -90° og +90°, derved vil den halve vinkel, som bruges i lign. 3.24 & 3.25 have værdier mellem -45° og +45°. Den anden løsning man skal kontrollere er komplementvinklen, altså vinklen, der sammen med den fundne giver 90°.
θ + θc = π/2 (eller 90°).
Vinklen (eller den anden løsning) der skal kontrolleres er:

eq.3.26   (3.26)

Drejer man koordinatsystemet 360° rundt, får de direkte fundne løsninger, som vist i ligning 3.24 & 3.25, flg. forløb:

Fig.7.b.1
Fig. 7.b.1: Direkte løsninger.

Drejer man koordinatsystemet 360° rundt, får komplement løsningerne, som vist i ligning 3.26, flg. forløb:

Fig.7.b.2
Fig. 7.b.2: Komplementære løsninger.

Drejer man koordinatsystemet 360° rundt, får både de direkte fundne og komplementære løsninger, som vist i ligning 3.24 og 3.26, flg. forløb:

Fig.7.b.3
Fig. 7.b.3: Direkte og Komplementære løsninger.

Ved at udregne begge løsninger og derefter "lave prøve" ved at finde den med mindste sum af kvadrerede afstande, er den rigtige løsning valgt. Nedenfor er de direkte og komplement løsninger fra de to ovenstående Figurer, Fig. 7.b.1 & 7.b.2, lagt ind over den rigtige løsning, der er markeret med en fed gul linie:

Fig.7.b.4
Fig. 7.b.4: Alle løsninger.

7c) Den nye løsning, med arctan2(X,Y)

Ret beset er det måske ikke en ny metode, da det bare er en omformulering af den oprindelige formel for den "nye" metode, der blev udledt i § 3, men da denne løsning opfører sig markant anderledes end de to foregående, vil jeg alligevel regne den for en selvstændig metode.

Metoden blev udledt i § 6 med med forklaring på størrelserne "X" og "Y". For linien med mindste sum af kvadrater på vinkelrette afstande gælder at:

Hældningen (hældningskoefficienten) er:

eq.6.6   (6.6)

Eller vinklen af linien (i.f.t. X-aksen) er:

eq.6.3   (6.3)

Herudover går linien gennem punkternes tyngdepunkt (x_avg , y_avg)

Drejer man koordinatsystemet 360° rundt, får løsninger, som vist i lign. 6.3 & 6.6 ovenover, flg. forløb:

Fig.7.c.1
Fig. 7.c.1: Positive løsninger.

Der er i løsningen ingen umiddelbar anden løsning der skal kontrolleres, men i princippet kan man ikke vide om ligningerne 6.3 & 6.6 giver et maksimun eller minimum. En alternativ løsning kunne være:

eq.7.5   (7.5)
eq.7.6   (7.6)

Det er klart, at denne løsning ligger 90° forskudt i forhold til den tidliger løsning, med (X, Y). Retningen til (-X, -Y) ligger diametralt overfor (X, Y), altså 180° forskudt og da der ganges med ½ for at finde θ bliver denne løsning forskudt 90°.

Drejer man koordinatsystemet 360° rundt, får løsninger, som vist i ligning 7.5 & 7.6, ovenover, flg. forløb:

Fig.7.c.2
Fig. 7.c.2: Negative løsninger, forskudt 90°.

Ved at udregne begge løsninger og derefter "lave prøve" ved at finde den med mindste sum af kvadrerede afstande, er den rigtige løsning valgt. Nedenfor er de direkte og 90° forskudte løsninger fra de to ovenstående Figurer, Fig. 7.c.1 & 7.c.2, lagt ind over den rigtige løsning, der er markeret med en fed gul linie:

Fig.7.c.3
Fig. 7.c.3: Alle løsninger.

Modsat de to tidligere metoder, er der her ikke brug for at lave prøve. Den løsning der er kaldt "positiv", med (X, Y), giver umiddelbart den løsning med mindste sum af kvadrerede afstande. Den løsning der er kaldt "negativ", med (-X, -Y), giver umiddelbart den løsning med største sum af kvadrerede afstande. Det faktum, at der ikke skal findes to løsninger od derefter laves prøve, repræsenterer dog en væsentlig forenkling!




Top Op Ned Bund

8) Implementering i et regneark

Nedenfor vises et eksempel på, hvordan formlerne kan indsættes i et regneark:

Fig

Der er brugt en del energi på, at undgå non-sens udregninger, især division med nul. Det bevirker at nogle af formlerne nedenfor bliver noget knudrede, med en eller flere "if" udtryk og "NaN" som resultat i disse tilfælde:


Nr. Ligning. Lign. nr. Formel i regneark. Handling.
1 - - - Data.
2 eq.8.1
eq.8.2
8.1
8.2
I2=average(A:A)
J2=average(B:B)
Gennemsnitsværdier for x og y data.
3 eq.3.1
eq.3.2
3.1
3.2
C2=A2-I$2
D2=B2-J$2
(s, t) koordinater.
4 - - E2=C2^2
F2=D2^2
G2=C2*D2
De 3 (s, t) kvadrater.
5 eq.3.8
eq.3.9
eq.3.10
3.8
3.9
3.10
M2=sum(E:E)
N2=sum(F:F)
O2=sum(G:G)
Sum af de 3 (s, t) kvadrater.
6 eq.6.4
eq.6.5
6.4
6.5
I5=M2-N2
J5=2*O2
Nævner og tæller i arcus tangens funktionen udregnes.
7 - - I7=if('Ark1'!I5=0,if('Ark1'!J5=0,1,0),0) Der testes for, om data har en "retning".
8 eq.6.3 6.3 I9=if(I7=0,(1/2)*atan2(I5,J5),"NaN") Vinklen med X-aksen "θ" udregnes.
9 - - I10=if(I7=0,degrees(I9),"NaN") Evt. omregning til grader "Θ".
10 eq.6.6 6.6 I11=if(I7=0,if(I9=pi()/2,"NaN",tan(I9)),"NaN") Liniens hældningskoefficient.
11 eq.8.3 8.3 I12=if(I7=0,if(I9=pi()/2,"NaN",$J2-$I2*I11),"NaN") Liniens skæring med Y-aksen.
12 eq.8.4 8.4 I13=if(I7=0,if(I9=0,"NaN",if(I9=pi()/2,I2,$I2-$J2/I11)),"NaN") Liniens skæring med X-aksen.
13 eq.5.7 5.7 I14=if(M2*N2=0,"NaN",O2^2/(M2*N2)) Forklaringsgraden.

Linie 7: Hvis både X og Y (udregnet i linie 6) er lig nul har datasættet ingen "retning" og alle linier (der passerer gennem tyngdepunktet) vil være lige gode, eller rettere lige dårlige, til at angive et sammenhæng mellem x og y data. I dette tilfælde sættes cellens værdi til 1, ellers sættes den til 0.

Linie 8: Hvis kontrollen for at datasættet har "retning" er o.k., så udregnes vinklen med X-aksen "θ".

Linie 9: Hvis kontrollen for at datasættet har "retning" er o.k., så omregnes vinklen til grader (fra radian, fundet i linie 8).

Linie 10: Hvis kontrollen for at datasættet har "retning" er o.k. og hvis vinklen er forskellig fra π/2 (90°) så udregnes hældningskoefficienten.

Linie 11: Hvis kontrollen for at datasættet har "retning" er o.k. og hvis vinklen er forskellig fra π/2 (90°) så udregnes skæringen med Y-aksen.

Linie 12: Hvis kontrollen for at datasættet har "retning" er o.k. så udregnes skæringen med X-aksen. Hvis vinklen er lig π/2 (90°) så er skæringen med X-aksen lig gennemsnitsværdier for x data. Hvis vinklen er forskellig fra π/2 så udregnes skæringen med X-aksen med formlen.

Linie 13: Hvis nævneren, produktet af SSss·SStt, ikke er nul udregnes forklaringsgraden.

Tabellen ovenover kan skrives lidt mere forståeligt, hvis det underforståes, at de pågældende celler tilknyttes et parameternavn. Når der tabellen ovenfor, øverst står "I2=average(A:A)" og det så forståes at parameter-navnet "xm" tilknyttes denne celle, så vil det i den tilsvarende tabel nedenfor, øverst blive skrevet som "xm=average(A:A)":


Nr. Ligning Lign. nr. Formel i regneark Handling.
1 - - - Data.
2 eq.8.1
eq.8.2
8.1
8.2
xm=average(A:A)
ym=average(B:B)
Gennemsnitsværdier for x og y data.
3 eq.3.1
eq.3.2
3.1
3.2
C2=A2-xm
D2=B2-ym
(s, t) koordinater.
4 - - E2=C2^2
F2=D2^2
G2=C2*D2
De 3 (s, t) kvadrater.
5 eq.3.8
eq.3.9
eq.3.10
3.8
3.9
3.10
SSss=sum(E:E)
SStt=sum(F:F)
SSst=sum(G:G)
Sum af de 3 (s, t) kvadrater.
6 eq.6.4
eq.6.5
6.4
6.5
X=SSss-SStt
Y=2*SSst
Nævner og tæller i arcus tangens funktionen udregnes.
7 - - Err=IF(X=0,IF(Y=0,1,0),0) Der testes for, om data har en "retning".
8 eq.6.3 6.3 θ=if(Err=0,(1/2)*atan2(I5,J5),"NaN") Vinklen med X-aksen "θ" udregnes.
9 - - Θ=if(Err=0,degrees(θ),"NaN") Evt. omregning til grader "Θ".
10 eq.6.6 6.6 m=if(Err=0,if(I9=pi()/2,"NaN",tan(I9)),"NaN") Liniens hældningskoefficient.
11 eq.8.3 8.3 b=if(Err=0,if(θ=pi()/2,"NaN",ym-xm*m),"NaN") Liniens skæring med Y-aksen.
12 eq.8.4 8.4 a=if(Err=0,if(θ=0,"NaN",if(θ=pi()/2,xm,xm-ym/m)),"NaN") Liniens skæring med X-aksen.
13 eq.5.7 5.7 R²=if(SSss*SStt=0,"NaN",SSst^2/(SSss*SStt)) Forklaringsgraden.



Top Op Ned Bund

9) Afhjælpes uhensigtsmæssighederne med denne "Vinkelrette Afstand" metode?

I § 2 blev der påvist nogle uhensigtmæssige egenskaber ved den "almindelige" metode. Hér vil det blive eftervist at denne "Vinkelrette Afstand" metode ikke har disse problemer.

Det nærmest tilfældige eksempel på nogle data, som brugt tidligere:

No X Y
1 1 1
2 2 3
3 3 2
4 4 4
5 5 3
6 6 5
7 7 3
8 8 4
9 9 6
Fig.9.1
Fig. 9.1: Indledende tilpasning.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er de 0.479345, men det er lig tangens til liniens vinkel med x-aksen, altså bliver vinklen:

θ = atan(0.479345) = 25.6105°

Det er den vinkel, der regnes ud i regnearket ovenover i § 8.


9.1) Rotation

Lad som et eksempel alle punkter rotere 25°:

No X Y
1 0,484 1,329
2 0,545 3,564
3 1,874 3,080
4 1,935 5,316
5 3,264 4,832
6 3,325 7,067
7 5,076 5,677
8 5,560 7,006
9 5,621 9,241
Fig.9.1.1
Fig. 9.1.1: MKM med roterede data.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er de 1.217874, men det er lig tangens til liniens vinkel med x-aksen, altså bliver vinklen:

θ = atan(1.217874) = 50.6105°

Inden drejningen var vinklen 25.6105°, derefter blev punkterne drejet 25°, så bør den nye linie ligge i en vinkel på: 25.6105° + 25° = 50.6105°, hvilket også er tilfældet - denne uhensigtmæssighed ved den "almindelige" metode, eksistere ikke ved den "Vinkelrette Afstand" metode.


9.2) Invertering

Inverter som et eksempel alle data ved at ombytte x og y værdier:

No X Y
1 1 1
2 3 2
3 2 3
4 4 4
5 3 5
6 5 6
7 3 7
8 4 8
9 6 9
Fig.9.2.1
Fig. 9.2.1: MKM med inverterede data.

I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten. Hældningen af linien er de 2.086182.

Inden inverteringen var hældningen 0.479345, derefter blev data inverteret, så bør den nye linie have en hældning på: 1/0.479345 = 2.086180, hvilket også er tilfældet - denne uhensigtmæssighed ved den "almindelige" metode, eksistere ikke ved den "Vinkelrette Afstand" metode.


9.3) Rotation til "vandret"

I eksemplet blev vinklen af trendline fundet til:

θ = atan(0.479345) = 25.6105°

Ja, men roter så alle punkter modsat denne vinkel, altså -25.6105°:

No X Y
1 1.334 0.470
2 3.100 1.841
3 3.570 0.507
4 5.336 1.878
5 5.806 0.544
6 7.572 1.915
7 7.609 -0.320
8 8.943 0.149
9 10.709 1.520
Fig.09.3
Fig. 9.3: MKM med roterede data.

Mindste kvadraters metode - vinkelrette afstand forudsiger netop den vinkel punkt-hoben skal drejes, for at give en vandret linie. I ligningen y = ax + b i øverste venstre hjørne er a hældningscoefficienten - når linien er vandret bliver den netop 0.

En yderligere konsekvens er, at forklaringsgraden R2 bliver nul.



Top Op Ned Bund

10) Forklaringsgraden, et yderligere argument for den "Vinkelrette Afstand" metode

Værdien af forklaringsgraden, som et mål for hvor god en tilnærmelse linien repræsenterer, er noget omdiskuteret, men den er almindeligt brugt. Formlen for forklaringsgraden blev først vist nederst i § 5, som lign. 5.7. Den er selvfølgeligt også vist i § 8, hvor anvendelsen af formlerne for Mindste Kvadraters Metode - Vinkelrette Afstand er illustreret.

eq.5.7   (5.7)

I § 2 blev det vist, at med det data-sæt, der generelt er brugt til illustrere metoden hér, vil man, med den tradtionelle metode, der minimere summen af kvadraterne på de lodrette afstande mellem linien der "bedst" beskriver data og de enkelte data-punkter, opnå en linie der har vinklen:

θ = atan(0.433333) = 23.4287°

Derefter blev det i § 2.2 vist, at når data-sættet blev inverteret, hvilket réelt vil svare til, at man minimere summen af kvadraterne på de vandrette afstande mellem linien der "bedst" beskriver data og de enkelte data-punkter, opnå en linie der har vinklen:

θ = atan(1/1.426829) = atan(0.700855) = 35.0249°

I § 8 og igen i § 9 blev det vist, at når man minimere summen af kvadraterne på de vinkelrette afstande mellem linien der "bedst" beskriver data og de enkelte data-punkter, opnå en linie der har vinklen:

θ = atan(0.479345) = 25.6105°

Hvis koordinatsystemet drejes rundt, vil forklaringsgraden variere som vist nedenfor:

Fig.10.1
Fig. 10.1: Forklaringsgraden, koordinatsystemet roteres.

Forklaringsgraden bliver lig nul 4 gange under den ene omdrejning, nemlig når "trendline" bliver vandret eller lodret. Hvis vi koncentrerer os om første nulpunkt, er det så ved 23.4287°, 25.6105° eller 35.0249°? Ja, 35.0249° er det i hvert fald ikke, det kan man let se på figuren oveover - men de to andre muligheder så?

Zoomer man ind på området 24.6° - 26.6°, så ses det klart at nulpunktet rammer tæt på de 25.6° som den vinkelrette metode forudsagde:

Fig.10.2
Fig. 10.2: Forklaringsgraden, koordinatsystemet roteres, detail.

Drejes koordinatsystemet så de 25.6105° vil begge metoder (min. vertikale- og min. vinkelrette afstand) være enige om, at forklaringsgraden er lig nul. Vertikale afstand nedenfor til venstre og vinkelrette afstand nedenfor til højre:

Fig.10.3 Fig.10.4
Fig. 10.3: Koord.sys. roteret 25.6105°, vertikal metode. Fig. 10.4: Koord.sys. roteret 25.6105°, vinkelrette metode.

Igen en egenskab der taler til fordel for den "vinkelrette metode".



Top Op Ned Bund

11) Praktisk håndtering af dobbelt-løsningerne for den "Vinkelrette Afstand" metode


11.1) Den nye formel

Den nye formel, som den først blev udledt i § 3, som lign. 3.24 har en dobbeltløsning som lign. 3.26. I princippet skal begge løsninger undersøges og derefter skal den, der giver den mindste sum af kvadrerede afstande, vælges.

eq.3.24   (3.24)
eq.3.26   (3.26)

Hvordan den "rigtige" løsning skifter fra det ene tilfælde til det andet blev illustreret på fig. 7.b.4 i § 7b:

Fig.7.b.4
Fig. 7.b.4: Alle løsninger.

Lidt tydeligere bliver det at se, hvis den løsning der ikke bruges sættes til nul, som vist nedenfor. Samtidig er der her afbildet parametren X, som blev defineret som tælleren i B, i § 6 som lign. 6.4:

eq.6.4   (6.4)
Fig.11.1
Fig. 11.1: Alle løsninger & parametren X.

Som det ses følger parametren X nøje skiftet mellem den direkte fundne vinkel fra lign. 3.24, på grafen kaldet θd, og komplementvinklen, på grafen kaldet θc. Men det vil jo så sige, at man ikke slavisk behøver at regne begge løsninger igennem, man kan nøjes med en simpel "if, else" konstrukton, afhængigt af hvilket system man arbejder i. Når X er positiv bruges den direkte fundne vinkel fra lign. 3.24, når X er negativ bruges komplementvinklen fra lign. 3.26.


11.2) Formlen fra Mathworld

Formlen fra Mathworld blev citeret i § 4, som lign. 4.2 eller hvis man foretrækker det lign. 4.5 og 4.6. I alle tilfælde er der tale om en dobbeltløsning. I princippet skal begge løsninger undersøges og derefter skal den, der giver den mindste sum af kvadrerede afstande, vælges.

eq.4.6   (4.6)

Hvordan den "rigtige" løsning skifter fra det ene tilfælde til det andet blev illustreret på fig. 7.a.4 i § 7a:

Fig.7.a.4
Fig. 7.a.4: Alle løsninger.

Lidt tydeligere bliver det at se, hvis den løsning der ikke bruges sættes til nul, som vist nedenfor. Samtidig er der her afbildet parametren Y, som blev defineret som nævneren i B, i § 6 som lign. 6.5:

eq.6.5   (6.5)
Fig.11.2
Fig. 11.2: Alle løsninger & parametren Y.

Som det ses følger parametren Y nøje skiftet mellem de to fundne vinkler fra lign. 4.6, på grafen kaldet θ+, og θ-. Men det vil jo så sige, at man ikke slavisk behøver at regne begge løsninger igennem, man kan nøjes med en simpel "if, else" konstrukton, afhængigt af hvilket system man arbejder i. Når Y er positiv bruges plusset "+" i lign. 4.6, når Y er negativ bruges minusset "-" i lign. 4.6.


11.3) Den nye løsning, med arctan2(X,Y)

Den nye formel blev omkalfatret i § 6, til lign. 6.3 og der er ingen dobbeltløsninger, der skal undersøges - det kan ikke blive nemmere.

eq.6.3   (6.3)

Hvordan denne løsning hele tiden giver den rigtige løsning (og at der altså ikke er brug for nogen komplementær løsning) blev illustreret på fig. 7.c.3 i § 7c:

Fig.7.c.3
Fig. 7.c.3: Alle løsninger.


Top Op Ned Bund

12) Praktisk formulering af de tre løsningerne for den "Vinkelrette Afstand" metode


12.1) Den nye formel

Idet tælleren i B:

eq.6.4   (6.4)

Så skal for X > 0:

eq.3.24   (3.24)

Og for X < 0:

eq.3.26   (3.26)

Tilfældet X = 0 kan placers vilkårligt i et af de to ovenstående udtryk.


12.2) Formlen fra Mathworld

Idet nævneren i B:

eq.6.5   (6.5)

Så skal for Y > 0:

eq.12.1   (12.1)

Og for Y < 0:

eq.12.2   (12.2)

I tilfældet Y = 0 gælder:

θ = 90°
eller
m = ∞


12.3) Den nye løsning, med arctan2(X, Y)

Den nye formel blev omkalfatret i § 6, til lign. 6.3 og der er ingen dobbeltløsninger, der skal undersøges - det kan ikke blive nemmere.

eq.6.3   (6.3)



Top Op Ned Bund

13) Epilog


13.1) En genvej til et skudsikkert bevis

Når den løsning, der er citeret fra Mathworld i § 4, er kendt, kunne man bare løbe udledningen i § 5 igennem i modsat retning og dermed nå til den nye formel.


13.2) Er den nye formel allerede kendt?

Tja, jeg er ikke stødt på den i "statistik" sammenhæng, men i forbindelse med inertimoment indenfor mekanik, har jeg set en lignende formel.

Linien, der findes hér, er aksen for mindste hoved-inertimoment for punkthoben. Vinkelret herpå, gennem tyngdepunktet, går aksen for det mellemste hoved-inertimoment. Vinkelret på disse to linier, ud af planet og også gennem tyngdepunktet går aksen for det største hoved-inertimoment.

Hoved-inertiakser: Omkring disse akser er centrifugalmomenterne lig nul.





Top Op Ned Bund

Oversigt