Matematik
Numerisk analyse af funktioner i to eller flere variabler
Hej, for noget tid siden stillede jeg et spørgsmål herinde på studieportalen, om hvordan man laver multi variable regression ud fra en analytisk metode. Jeg synes at jeg fik et godt svar på hvordan man laver multi variable regression ud fra en analytisk metode, men nu kunne jeg godt tænke mig at vide hvordan man laver multi variable regression ud fra en numerisk metode.
Derudover så var der lige én ting til, som jeg godt kunne tænke mig at blive be eller afkræftet i, og det er, når man laver multi variable regression ud fra en analytisk metode, så er det lineære algebra man bruger. Men hvis man laver multi variable regression ud fra en numerisk metode, så er det calculus man bruger eller hvad?
Svar #1
07. november 2014 af peter lind
Du har en funktion af flere variableJeg holder mig for nemheds skyld til 2. Funktionen indeholder også nogle parametre t1, t2, t3 som du skal bestemme. funktionen er så z= f(x,y, t1, t2, t3)
Du har en række målinger xi, yi, zi og skal bestemme parametrene så funktionen passer så godt med data som muligt.
du danner nu summen S = ∑(zi-f(xi, yi, t1, t2, t3) )2
og skal besteme parametrene så summen bliver så lille som mulig.
Bemærk at det medfører at i det følgende er det parametrene der er variabel, x, y og z 'eren er målte kendte tal.
Minimum finder man så ved at differentier S med hensyn til hver af parametrene og sætte resultatet = 0. Det giver et ligningssystem man må løse.
Hvis funktionen er lineær i parametrene giver det et lineært system af ligninger og så bruger man lineær algebra. Hvis dette ikke er tilfælde og det gælder uafhængig af antal variable, skal man normalt løse et ikke lineært system af ligninger.
Svar #2
07. november 2014 af Yipikaye
Men jeg tænkte, hvad nu hvis man ikke kan finde en funktion i to variable ud fra en analytisk metode, skal man så ikke bruge en numerisk metode?
Svar #3
07. november 2014 af peter lind
Du mener formodentlig hvis funktionen er så kompliceret at den kun kan beregnes med numeriske metoder. I sådan et tilfælde er det selvfølgelig nødvendig. Med mere skikkelige fiunktioner behøver man det ikke
Svar #4
07. november 2014 af Yipikaye
Hvis nu man har en funktion i to variabler, som er meget kompliceret, hvordan bruger man så numeriske metoder til at finde en løsning?
Svar #5
08. november 2014 af Wily (Slettet)
Det afhænger meget af det enkelte tilfælde og hvilken regressionsmetode du vil anvende. Lad os sige du har et datasæt {(ti, yi) | i=1,...,m}, og du har valgt en model M(x,t) med parametervektoren x∈Rn. Hvis vi holder os til mindste kvadraters metode, så er regressionsproblemet at finde et minimum x* til funktionen

hvor ri(x) er residualen for den i'te observation,

og r(x) er vektorfunktionen med residualerne.
Når M(x,t) ikke er lineær, mp man bestemme x* numerisk, da der oftest ikke eksisterer en analytisk løsning. Hertil findes et utal af algoritmer. En af de mere simple er gradientmetoden, hvor man starter med at gætte en løsning x0, og dernæst iterativt går i retningen af den negative gradient, hvorved man gerne skulle nærme sig et minimum. Det k'te skridt er

hvor αk er skridtlængden som oftest findes med en linjesøgningsalgoritme - αk kan dog også blot sættes til en (lille) konstant. Man vil så stoppe den iterative gradientmetode når man er tæt nok på det rigtige minimum, bestemt ved hjælp af forskellige stopkriterier, som for eksempel når |f(xk)-f(xk+1)| < ε. Følgende graf illustrerer konvergensen i tilfældet af at x∈R2 (dvs. 2 parametrer)
![\includegraphics[width=\textwidth]{figures/sd_final.eps}](http://komarix.org/ac/papers/thesis/thesis_html/img30.png)
Den iterative metode kan gøres endnu hurtigere hvis vi udover gradienten også kan bestemme de 2. ordens afledte i form af Hessematricen. Dette fører til Newtons metode

Ofte er det slet ikke muligt eller alt for dyrt at beregne Hessematricen, så her benyttes quasi-Newton metoder (fx BFGS) hvor Hessematricen i stedet approksimeres.
Ovenstående metoder er generelle algoritmer til at finde minima for en funktion. For mindste kvadraters problemet vil man dog oftest ikke benytte ovenstående metoder direkte. I stedet anvendes andre specialiserede metoder (Gauss-Newton, Levenberg-Marquardt), der udnytter strukturen i mindste kvadraters kost-funktionen for mere effektivt at finde minima. Mere specifikt kan man udnytte at for mindste kvadraters kost-funktionen er

hvor J(x) er Jakobi-matricen for r(x). Den sidste approksimation følger af at vi forventer små residualer nemlig ri(x) ≈ 0.
Hvis du har rigtig mange observationer i dit datasæt (flere millioner), så vil ovenstående metoder være meget langsome. Her kan man f.eks. benytte stokastisk gradient metoden.
Hvis det slet ikke er muligt at beregne de afledte af kost-funktionen, findes der metoder der kun benytter funktionsværdien til at forsøge at bestemme et minimum (fx Nelder-Mead metoden).
Svar #6
08. november 2014 af Yipikaye
Hej igen. Det står stadig lidt uklart for mig hvorfor vi ønsker at finde et minimum, når det vi i virkeligheden gerne vil, er at lave multi variable regression altså finde en forskrift for vores funktion.
Svar #7
08. november 2014 af peter lind
Summen i #1 eller #5 er en funktion af parametrene og som er et mål for hvor hvor meget funktionsværdierne afviger fra det målte. Dem vil man gerne gøre så lille som mulig. Det er også det man bruger med funktioner med en variabel
Svar #8
10. november 2014 af Yipikaye
Hej, jeg tror at jeg har forstået det meste nu, men jeg har lige et sidste spørgsmål, og det er hvordan gætter man sig frem til en løsning i begyndelsen?
Svar #10
12. november 2014 af Yipikaye
I #5 skriver vedkommende at man med gradient metoden starter med at gætte en løsning x0, og dernæst iterativt går i retningen af den negative gradient, hvorved man gerne skulle nærme sig et minimum. I øvrigt så har jeg søgt på conjugate gradient method og fundet et tal eksempel på wikipedia, som ligeledes starter med at komme med et gæt på løsningen.
Skriv et svar til: Numerisk analyse af funktioner i to eller flere variabler
Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk?
Klik her for at oprette en bruger.
