/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
mindste kvadraters metode for ulineære rel~
Fra : Jakob Nielsen


Dato : 09-12-05 18:53

Hvis jeg ønsker at bruge mindste kvadraters metode for lineært uafhængige
variabler, men har udtryk af formen
sqrt((ax-bx)^2+(ay-by)^2)=r så kan jeg ikke umiddelbart opstille det i
matrixform, da variablerne ikke er lineært uafhængige, men er der
principielt noget galt i at opstille flere ubekendte end ax,ay,bx,by ved at
omskrive til

ax^2+bx^2-2axbx + ay^2+by^2-2ayby = r^2

og opfatte ax^2,bx^2,ay^2,by^2,axbx og ayby som de ubekendte og løse for
dem. Det er redundant, men med tilstrækkeligt med ligninger kan man jo
stadig beregne en løsning.




 
 
Carsten Svaneborg (09-12-2005)
Kommentar
Fra : Carsten Svaneborg


Dato : 09-12-05 22:25

Jakob Nielsen wrote:
> da variablerne ikke er lineært uafhængige, men er der principielt
> noget galt i at opstille flere ubekendte end ax,ay,bx,by ved
> at omskrive til

Hvis du søger et minimum af en funktion f(x), kan du lige så godt
finde minimum for en anden funktion g(f(x)) der er mere praktisk
at minimere. Forudsat at g er monotont voksende og differentiabel.

Beviset er trivielt: Xmin hvor f(x) er minimal finder du jo ved
at løse f(x)/dx = 0. Og d[g(f(x))]/dx = dg/df * df(x)/dx = 0
=> df(x)/dx = 0 fordi dg/df > 0 når den er monotont voksende.

Du skal dog være opmærksom på at de rigtige error bars på dine
fit variabler får du fra at kigge på det mindste kvadrat (chi^2)
og ikke på f.eks. chi^4 der ganske vist har det samme minimum.

--
Mvh. Carsten Svaneborg
http://gauss.ffii.org

Jakob Nielsen (13-12-2005)
Kommentar
Fra : Jakob Nielsen


Dato : 13-12-05 16:26

> Hvis du søger et minimum af en funktion f(x), kan du lige så godt
> finde minimum for en anden funktion g(f(x)) der er mere praktisk
> at minimere. Forudsat at g er monotont voksende og differentiabel.

Ja, det forstås, men jeg kan ikke helt se hvordan det gavner i praksis, da
det ikke ofte er trivielt at omskrive. Det er måske mine evner ud i
omskrivningen der fejler her, så lad mig lige genformulere det problem der
fik mig til at tænke i disse baner.

Man har et punkt P i 2d med ukendt position. Man kender afstanden mellem X
og fire andre punkter A,B,C og D som da,db,dc,dd og ønsker at finde
positionen for P.

Man kan opstille 4 ligninger af formen
(P.x-A.x)^2+(P.y-A.y)^2 = da
(P.x-B.x)^2+(P.y-B.y)^2 = db
(P.x-C.x)^2+(P.y-C.y)^2 = dc
(P.x-D.x)^2+(P.y-D.y)^2 = dd

Det kan laves om til en anden mere "simpel" form
p.x^2 + p.y^2 + A.x^2 + A.y^2 - 2(P.x-A.x) - 2(P.y-A.y) = da <=>
p.x^2 + p.y^2 - 2(P.x-A.x) - 2(P.y-A.y) = da - A.x^2 - A.y^2 <=>
p.x^2 + p.y^2 - 2P.x - 2A.x - 2P.y - 2A.y = da - A.x^2 - A.y^2 <=>
p.x^2 + p.y^2 - 2P.x - 2P.y = da - A.x^2 - A.y^2 - 2A.x - 2A.y <=>
....etc for de andre tre

A.x,A.y og da er konstanter og det kan skrives i matrix form som

|1 1 -2 -2| |p.x^2| |da - A.x^2 - A.y^2 - 2A.x - 2A.y|
|1 1 -2 -2| x |p.y^2| = |db - B.x^2 - B.y^2 - 2B.x - 2B.y |
|1 1 -2 -2| |px | |dc - C.x^2 - C.y^2 - 2C.x - 2C.y|
|1 1 -2 -2| |py | |dd - D.x^2 - D.y^2 - 2D.x - 2D.y|

Der tages forbehold for "dummefejl" i ovenstående, men pointen burde være
klr nok.

Herefter kan man løse systemet. Man har bare fået lavet sig fire ubekendte
istedet for to, og hvor tre målepunkter burde være nok er der pludselig
behov for fire, og det giver endda kun en løsning, hvis man har nøjagtige
mål. Da p.x^2 og p.x står i klart forhold til hinanden, så burde man kunne
gøre noget smart, men jeg er åbenbart ikke smart nok.
Med 4+ målepunkter, så kan man godt løse det sådan her. Jeg har prøvet, og
det er ok. Det er bare noget juks.

> Du skal dog være opmærksom på at de rigtige error bars på dine
> fit variabler får du fra at kigge på det mindste kvadrat (chi^2)
> og ikke på f.eks. chi^4 der ganske vist har det samme minimum.

Den forstod jeg ikke helt. Hvad mener du?



Carsten Svaneborg (13-12-2005)
Kommentar
Fra : Carsten Svaneborg


Dato : 13-12-05 17:01

Jakob Nielsen wrote:
> Man kan opstille 4 ligninger af formen
> (P.x-A.x)^2+(P.y-A.y)^2 = da
> (P.x-B.x)^2+(P.y-B.y)^2 = db

Jeg tror vi taler forbi hinanden. Med mindste kvadraters metode
forstår jeg at minimere en eller anden funktion, således at
chi^2(a,b,..)=sum | y[i] - f(x[i]; a,b..)|^2 er minimal hvor
x[i] er "kontrol" parametre, y[i] typiske er måle resultater,
og f(x, a,b,..) er en model der afhænger af parametre a,b...

Hvis du vil lave det om til et minimeringsproblem med
mindste kvadrat kan du tage

E1(P.x,P.y) = [ (P.x-A.x)^2+(P.y-A.y)^2 - da^2 ]^2
E2(P.x,P.y) = [ (P.x-B.x)^2+(P.y-B.y)^2 - db^2 ]^2
:

(jeg skriver da^2 da det er afstanden i anden, og hvis du
forestiller dig tallene har dimensioner så går det op. )

Du kan så opskrive en funktion E(P.x,P.y)=E1+E2+E3+E4

E(P)=0 er løsningen til ligningen, og per konstruktion
er det et globalt minimum.

Har du mange punkter, og har nogle størrer eller mindre usikkerheder
kan du tage dette med i vægtningen af de forskellige E'er, men så
er ligningerne ikke strengt opfyldte men kun approximativt.

--
Mvh. Carsten Svaneborg
http://gauss.ffii.org

Jakob Nielsen (13-12-2005)
Kommentar
Fra : Jakob Nielsen


Dato : 13-12-05 19:05

> Jeg tror vi taler forbi hinanden.

Det er muligt, men jeg tror det nu ikke. Det kan så være fordi vi taler så
meget forbi hinanden, at jeg stadig ikke kan se det

> Med mindste kvadraters metode
> forstår jeg at minimere en eller anden funktion, således at
> chi^2(a,b,..)=sum | y[i] - f(x[i]; a,b..)|^2 er minimal hvor
> x[i] er "kontrol" parametre, y[i] typiske er måle resultater,
> og f(x, a,b,..) er en model der afhænger af parametre a,b...

Sådan forstår jeg den også.
Jeg beskrev den bare omskrevet til problemet Bx=k hvor x er den ubekendte og
den x med mindst fejl er inv(B'*B)*B'*k, hvor ' indikere transposed. Måske
jeg misforstår noget definition, men er det ikke løsningen for mindste
kvadrat i matrixform?

> Hvis du vil lave det om til et minimeringsproblem med
> mindste kvadrat kan du tage
>
> E1(P.x,P.y) = [ (P.x-A.x)^2+(P.y-A.y)^2 - da^2 ]^2
> E2(P.x,P.y) = [ (P.x-B.x)^2+(P.y-B.y)^2 - db^2 ]^2
> :

Jeg tror jeg forstår hvad du mener. Jeg stirede mig blind på at opskrive som
matrix, hvilket krævede linearitet, mens metoden som sådan bare handler om
at beskrive kvadratet på fejlen i målepunkterne, så den er mindst.

> (jeg skriver da^2 da det er afstanden i anden, og hvis du
> forestiller dig tallene har dimensioner så går det op. )
>
> Du kan så opskrive en funktion E(P.x,P.y)=E1+E2+E3+E4
>
> E(P)=0 er løsningen til ligningen, og per konstruktion
> er det et globalt minimum.
>
> Har du mange punkter, og har nogle størrer eller mindre usikkerheder
> kan du tage dette med i vægtningen af de forskellige E'er, men så
> er ligningerne ikke strengt opfyldte men kun approximativt.

...men... (det er så her mange andre vil indskyde et tåbeligt "øh", men jeg
vil afholde mig fra det)... nu har du godt nok en funktion som kan
minimeres, men det skal du bruge en af "de andre" metoder til hvor du
beregner gradient og kører nogle itterationer. Det er vel nok mindste
kvadrat, du finder, men når jeg tænke på "mindste kvadraters metode", så er
det matrixformen som kan løses i een beregning.

Forstår jeg dig korrekt, og forklarer jeg hvad mit problem er? Som jeg læser
din løsning, så skal den løses på anden vis, hvor mindste kvadrater, som jeg
tænker på den, er een beregning.



Carsten Svaneborg (14-12-2005)
Kommentar
Fra : Carsten Svaneborg


Dato : 14-12-05 16:09

Jakob Nielsen wrote:
> Måske jeg misforstår noget definition, men er det ikke løsningen for
> mindste kvadrat i matrixform?

Du søger punktet P, der er minimum for E og alle kandidater for P.x og P.y
finder du ved at løse dE(P.x,P.y)/dP.x = 0 og dE(P.x,P.y)/dP.y = 0
og så finde det globale minimum. Så det er to ligninger med to ubekendte.
Men generelt kan det ikke formuleres som et matrix problem fordi det er
kun i det linære tilfælde.

Det problem du forsøger at løse med den "store" matrix formulering er
at finde det punkt hvor afstanden til en række punkter er eksakt som
givet. Men har du nok punkter kan alle betingelser ikke opfyldes, men
ovenstående funktion vil alligevel have et eller flere minima.


> Som jeg læser din løsning, så skal den løses på anden vis, hvor
> mindste kvadrater, som jeg tænker på den, er een beregning.

Du kan løse problemet ved at forsøge at løse de to ligninger ovenover,
eller ved numerisk iteration.

--
Mvh. Carsten Svaneborg
http://gauss.ffii.org

Jakob Nielsen (14-12-2005)
Kommentar
Fra : Jakob Nielsen


Dato : 14-12-05 16:32

> Du søger punktet P, der er minimum for E og alle kandidater for P.x og P.y
> finder du ved at løse dE(P.x,P.y)/dP.x = 0 og dE(P.x,P.y)/dP.y = 0
> og så finde det globale minimum. Så det er to ligninger med to ubekendte.
> Men generelt kan det ikke formuleres som et matrix problem fordi det er
> kun i det linære tilfælde.

Ja, det er en anden måde at bare finde nulgradienten og antage at den er et
minimum, men problemet er ikke så meget at læse det, for det kan jeg godt.
Det var mere det at opskrive det i matrixformen som beskrevet tidligere. Man
siger jo at matrixformen kun dur til lineære systemer, hvilket dette ikke
er, men det så ud til at man godt kunne gøre det sådan alligevel, ved at
beskrive både x og x^2.

> Det problem du forsøger at løse med den "store" matrix formulering er
> at finde det punkt hvor afstanden til en række punkter er eksakt som
> givet.

Ja, for fire ubekendte med fire ligninger, men hvis jeg havde mere end fire
punkter, så var man ved x=inv(B'*B)*B'*k over i at finde punktet med mindste
fejl.

Takker for dit feedback.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste