<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="curve-fitting" xml:lang="sv">
    <info>
        <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
        <link type="guide" xref="index#topics"/>
    
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Anders Jonsson</mal:name>
      <mal:email>anders.jonsson@norsjovallen.se</mal:email>
      <mal:years>2024, 2026</mal:years>
    </mal:credit>
  </info>
    <title>Kurvanpassning</title>
    <p>Kurvanpassning möjliggör kraftfull analys av importerade datamängder genom att hitta parametrarna för en matematisk modell som bäst beskriver data. Följande ämnen täcks på denna sida:</p>
    <list>
        <item>
            <p><link xref="#fitting">Anpassa data</link>: Konfigurera och kör en anpassning.</p>
        </item>
        <item>
            <p><link xref="#bounds">Gränser</link>: Begränsa anpassningsparametrar.</p>
        </item>
        <item>
            <p><link xref="#results">Resultat</link>: Tolka utdata.</p>
        </item>
        <item>
            <p><link xref="#residuals">Residualer</link>: Inspektera anpassningens kvalitet.</p>
        </item>
        <item>
            <p><link xref="#algorithms">Anpassningsalgoritmer</link>: Välj rätt algoritm för dina data.</p>
        </item>
    </list>
    <section id="fitting">
        <title>Anpassa data</title>
        <p>För att påbörja kurvanpassning på en datamängd trycker du på de tre vertikala prickarna på objektet du vill anpassa och väljer <em>Anpassa</em>. Detta öppnar kurvanpassningsdialogen. Anpassningen och dess konfidensband förhandsvisas löpande medan parametrar justeras.</p>
        <p>En ekvation att anpassa mot väljs från rullgardinsmenyn. Följande fördefinierade ekvationer är tillgängliga, med sin formel visad som undertitel:</p>
        <terms>
            <item>
                <title>Linjär</title>
                <p><code>a·x + b</code></p>
            </item>
            <item>
                <title>Kvadratisk</title>
                <p><code>a·x² + b·x + c</code></p>
            </item>
            <item>
                <title>Exponentiell</title>
                <p><code>a·exp(b·x)</code></p>
            </item>
            <item>
                <title>Potenslag</title>
                <p><code>a·x^b</code></p>
            </item>
            <item>
                <title>Logaritmisk</title>
                <p><code>a·log(x) + b</code></p>
            </item>
            <item>
                <title>Sigmoid logistisk</title>
                <p><code>L / (1 + exp(-k·(x - b)))</code></p>
            </item>
            <item>
                <title>Gaussisk</title>
                <p><code>a·exp(-(x - μ)² / (2·σ²))</code></p>
            </item>
            <item>
                <title>Anpassad</title>
                <p>Ange valfri ekvation med <code>x</code> som oberoende variabel. Alla andra variabelnamn som inte är funktioner (såsom sin(x) eller exp(x)) upptäcks automatiskt och behandlas som fria parametrar att passa in.</p>
            </item>
        </terms>
        <p>Då du hittat en lämplig anpassning, tryck ned <em>Passa till data</em> för att lägga till den resulterande kurvan som en ny ekvation i projektet, med de anpassade parametervärdena ersatta i uttrycket.</p>
    </section>
    <section id="bounds">
        <title>Gränser</title>
        <p>Varje fri parameter som upptäcks i ekvationen visas i sidopanelen med tre fält: en ursprunglig gissning, en lägre gräns, och en maximal gräns. Den ursprungliga gissningen är startvärdet som används av algoritmen. Att använda en bra ursprunglig gissning nära det förväntade värdet kommer hjälpa till att få anpassningen att konvergera. Gränserna begränsar intervallet på värdena som parametern får anta.</p>
        <p>Begränsningsfälten är som standard <code>-inf</code> och <code>inf</code>, vilket betyder att inga begränsningar tillämpas. För att begränsa en parameter, ange de önskade minimum- och maximumvärdena.</p>
        <p>Observera att begränsningsfält endast visas då en algoritm som stöder dem väljs. Då Levenberg-Marquardt används är begränsningar dolda då den algoritmen inte stöder dem. Se <link xref="#algorithms"/>för detaljer.</p>
    </section>
    <section id="results">
        <title>Resultat</title>
        <p>Efter en lyckad anpassning har resultatpanelen två delar: Parametrar och Statistik.</p>
        <p>Delen Parametrar listar varje anpassad parameter med dess värde. Om en annan konfidensnivå än Ingen anges så visas en marginal intill varje värde på formen <code>± fel</code>, där felet är standardavvikelsen av den parametern multiplicerad med den valda konfidensfaktorn. Så för en konfidensnivå på 1σ är felet lika med standardavvikelsen, och för 2σ och 3σ är felet lika med två respektive tre gånger standardavvikelsen. Konfidensnivån kan ställas in från primärmenyn:</p>
        <list>
            <item>
                <p><em>Ingen</em>: inga marginaler visas.</p>
            </item>
            <item>
                <p><em>1σ: 68% konfidens</em></p>
            </item>
            <item>
                <p><em>2σ: 95% konfidens</em></p>
            </item>
            <item>
                <p><em>3σ: 99,7% konfidens</em></p>
            </item>
        </list>
        <p>Motsvarande konfidensband ritas också ut som en skuggad region runt den anpassade kurvan.</p>
        <p>Statistikdelen visar två goodness-of-fit-mått: R² och RMSE.</p>
        <p>För en linjär anpassning mäter R² hur vilken proportion av variationen kan förklaras av modellen. Ett värde på 1 betyder att modellen förklarar all variation perfekt, medan ett värde på 0 betyder att den inte förklarar något. Observera att för icke-linjära anpassningar förlorar R² sin fysiska betydelse om vilken proportion av variansen som förklaras. Den kan fortfarande vara något användbar för att utvärdera goodness-of-fit, men värdet i sig blir något godtyckligt.</p>
        <p>RMSE (Root Mean Square Error) mäter den typiska storleken för residualerna (skillnaderna mellan datapunkterna och den anpassade kurvan) i samma enhet som Y-data. Till skillnad från R² ger RMSE en absolut uppfattning över hur långt bort förutsägelserna är i genomsnitt, vilket gör det användbart när den fysiska magnituden på felet spelar roll.</p>
        <p>Observera att båda statistikor endast reflekterar hur väl data överensstämmer med vald modell, inte huruvida modellen är fysiskt korrekt. Faktorer som systematiska mätfel och korrelationer mellan parametrar tas inte i beaktande. Detta är en inbyggd egenskap för kurvanpassning samt en vanlig källa till missledande osäkerhetsuppskattningar även i publicerade vetenskapliga avhandlingar.</p>
    </section>
    <section id="residuals">
        <title>Residualer</title>
        <p>Residualdiagrammet kan visas genom att aktivera <em>Visa residualer</em> inifrån primärmenyn. Detta visar ett andra diagram under det huvudsakliga som visar skillnaden mellan varje datapunkt och den anpassade kurvan vid det x-värdet. En streckad linje vid noll visas för referens.</p>
        <p>En bra anpassning kommer visa residualer som är spridda slumpmässigt runt noll utan något synligt mönster. Ett systematiskt mönster i residualerna, såsom en kurva eller en trend antyder att den valda modellen kanske inte är lämplig för dessa data.</p>
    </section>
    <section id="errors">
        <title>Felmeddelanden</title>
        <p>Om anpassningen inte kan slutföras visas ett felmeddelande i resultatpanelen i stället för parametervärdena. Följande fel kan förekomma:</p>
        <terms>
            <item>
                <title>Ogiltig ekvation</title>
                <p>Ekvationen innehåller ett syntaxfel eller använder variabler som inte stöds. Kontrollera att uttrycket är giltigt.</p>
            </item>
            <item>
                <title>Begränsningsfel</title>
                <p>Den ursprungliga gissningen ligger inte inom de angivna gränserna, eller så är den lägre gränsen inte mindre än maxgränsen. Säkerställ att Lägre &lt; Ursprunglig &lt; Övre för varje parameter.</p>
            </item>
            <item>
                <title>Domänfel</title>
                <p>Ekvationen är inte giltig över dataintervallet, exempelvis på grund av en logaritm av ett negativt tal eller division med noll.</p>
            </item>
            <item>
                <title>Anpassning misslyckades: Max antal iterationer uppnådda</title>
                <p>Algoritmen konvergerade inte inom det tillåtna antalet iterationer. Försök justera de ursprungliga gissningarna så de är närmare de förväntade värdena, eller välj en annan algoritm.</p>
            </item>
            <item>
                <title>Matrisfel</title>
                <p>Data är otillräckliga för den valda modellen. Detta kan hända exempelvis när det finns färre datapunkter än fria parametrar, eller om data inte begränsar modellen tillräckligt för att bestämma en unik lösning.</p>
            </item>
            <item>
                <title>Konfidensbandfel</title>
                <p>Kovariansmatrisen är instabil, så konfidensbandet kan inte beräknas tillförlitligt.</p>
            </item>
        </terms>
    </section>
    <section id="algorithms">
        <title>Anpassningsalgoritmer</title>
        <p>Tre anpassningsalgoritmer är tillgängliga, valbara från primärmenyn under <em>Optimeringsmetod</em>:</p>
        <terms>
            <item>
                <title>Levenberg-Marquardt</title>
                <p>En ofta använd algoritm som är effektiv för de flesta problem. Stöder inte parametergränser, minimum- och maximumfälten döljs när denna metod har valts.</p>
            </item>
            <item>
                <title>Reflexiv förtroenderegion</title>
                <p>Hanterar gränser bra och fungerar tillförlitligt på en stor uppsättning problem. Ett bra standardval för de flesta användningsfall.</p>
            </item>
            <item>
                <title>Dogbox</title>
                <p>Använder rektangulära förtroenderegioner och passar bra för mindre problem där gränser krävs.</p>
            </item>
        </terms>
    </section>
</page>
