Eenheid 4 / 11

Experimentele data-analyse en curve-fitting

Winst:

  • Mogelijkheid om experimentele gegevens te fitten met curve_fit door het model uit de natuurkunde te selecteren en de parameters met hun onzekerheden te rapporteren
  • Vermogen om de kwaliteit van de pasvorm eerlijk te beoordelen door residuen te onderzoeken en overfitting te voorkomen
  • Mogelijkheid om de fysieke plausibiliteit van de gevonden parameters te controleren en een 'goed uitziende' fit te onderscheiden van een 'fysiek correcte' fit

De natuurkunde hangt uiteindelijk af van experimenten. Hoe elegant een theorie ook is, als ze niet overeenkomt met de gemeten gegevens, is ze ongeldig. Curve-aanpassing vormt de kern van het werken met experimentele gegevens: het zo goed mogelijk aanpassen van een door de theorie voorspeld model (een lijn, een exponent, een oscillatie) aan de meetpunten met veel ruis die u heeft, en het vinden van de parameters van het model (helling, constante, frequentie). In dit onderdeel leert u hoe u kunstmatige intelligentie (AI) kunt gebruiken bij de analyse van experimentgegevens, hoe u curve-aanpassing correct instelt en – het allerbelangrijkste – hoe u het verschil kunt zien tussen een pasvorm die er 'goed uitziet' en 'fysiek correct is'. De standaardtool is scipy.optimize.curve_fit (SciPy-functie die een modelfunctie aan de gegevens koppelt).

De logica van curve-fitting en de rol van AI

Curve-fitting doet dit: u kiest een modelfunctie (bijvoorbeeld y = a·x + b), en het algoritme vindt de waarden van a en b die passen bij de gegevens met de minste fout. AI is snel in het coderen van de juiste modelfunctie, het opzetten van de curve_fit-aanroep en het visualiseren van het resultaat. Maar twee cruciale beslissingen zijn aan jou: (1) Welk model is fysiek correct? (2) Is de kwaliteit van de pasvorm echt goed? De AI zou ook een polynoom van de 10e orde aan de gegevens kunnen aanpassen en een curve kunnen tekenen die er bijna perfect uitziet – maar dit zou fysiek zinloos overfitting zijn.

fysieke gebeurtenis

verwachte model

Gevonden parameter

beweging met constante snelheid

y = a·x + b

helling = snelheid

radioactief verval

N = N₀·e^(−λt)

λ = vervalconstante

lente uitgave

x = A·cos(ωt + φ)

ω = hoekfrequentie

De wet van Ohm

V = R·I

R = weerstand (helling)

vrije val

y = ½·g·t²

g = zwaartekrachtversnelling

Stap voor stap: een eerlijke ronding aanmeten

1. Kies het model uit de natuurkunde, niet uit data. Bepaal eerst aan welke natuurkundige wet de gebeurtenis moet voldoen. Als je een model kiest door naar de gegevens te kijken en te kiezen 'welk model goed past', probeer je de fysica bij de gegevens te laten passen – gevaarlijk.

2. Voer gegevens en onzekerheid in. Voer naast de meetpunten ook de meetfout (sigmaparameter) van elk punt in, indien aanwezig. Dit is nodig voor een nauwkeurige berekening van de fit en parameteronzekerheid.

3. Lees de parameters en hun onzekerheden. curve_fit retourneert zowel parameterwaarden als hun onzekerheden afgeleid van de covariantiematrix. Het rapporteren van een parameter zonder de onzekerheid ervan is onvolledig: zeggen "g = 9,7 ± 0,3 m/s²" is veel informatiever dan alleen maar zeggen "9,7".

4. Evalueer de fit met residuen. Het residu is de afwijking van elk meetpunt ten opzichte van het model. Willekeurige verdeling van residuen is een teken van goede fit; een systematische curve (bijvoorbeeld alles op één plek boven het model) geeft aan dat het model fout is.

5. Controleer de fysieke redelijkheid. Ligt de g-waarde in de orde van 9,8 of 50? Is een weerstand negatief geworden? Fysiek onmogelijke parameters duiden op een probleem, zelfs als de pasvorm ‘er goed uitziet’.

Tip: Beoordeel de kwaliteit van de pasvorm niet alleen op basis van uw gezichtsvermogen. Zet de residuen altijd in een aparte grafiek. Als ze goed passen, verspreiden de residuen zich als ruis rond nul; Bij een slechte pasvorm ontstaat er een zichtbaar patroon (golf, helling, U-vorm). Dit patroon is het meest eerlijke teken dat uw model fysiek tekortschiet.

drie minikoffers

Geval 1 — De overfitting-val. Eén student paste een door AI voorgesteld polynoom van de 7e graad aan op 8 datapunten; de curve ging door alle punten en zag er "perfect" uit. Maar tussen de twee punten schommelde de curve absurd. De student wendde zich tot de natuurkunde: het was een lineaire relatie. Toen hij een eenvoudige lijn aanbracht, kregen de parameters een fysieke betekenis; de polynoom van hogere orde had zojuist de ruis onthouden.

Geval 2 – Onzekerheid vergeten. Een onderzoeker vond en rapporteerde de zwaartekrachtversnelling g = 9,73 met de code geschreven door YZ. Zijn adviseur vroeg naar de onzekerheid. De onderzoeker maakte geen gebruik van de covariantie-output van curve_fit; Bij de berekening bleek de onzekerheid ±0,4 te zijn, wat betekent dat het resultaat consistent was met de standaardwaarde van 9,81. Zonder dubbelzinnigheid zou het resultaat verkeerd kunnen worden geïnterpreteerd als "wijkt af van 9,81".

Geval 3 – Residuen vertoonden de fout. Een leraar paste een rechte lijn in een koelexperiment en het leek redelijk. Maar toen hij de restjes in kaart bracht, ontstond er een duidelijk gebogen patroon. Wat er feitelijk gebeurde was een exponentiële afkoeling. Toen hij het juiste model (exponentieel) gebruikte, werden de residuen willekeurig en werd de fit fysiek betekenisvol.

Vier kopieerbare sjablonen

1) Passend bij fysiek model:

Schrijf een curve_fit-code die het fysieke model = [modelfunctie] past bij de volgende experimentele gegevens ([x- en y-waarden, in eenheden]). Druk de parameters en 1-sigma-onzekerheden af ​​die zijn afgeleid van de covariantie. Zet de gegevens, de aangepaste curve en de residuen in een AFZONDERLIJKE grafiek. De modelselectie heb ik vanuit de natuurkunde gemaakt; je past het gewoon toe.

2) Beoordeling van de geschiktheid:

Voeg hieronder code toe die de kwaliteit van de fit evalueert: plot de residuen, bereken een maatstaf zoals chikwadraat of R² en geef schriftelijk commentaar als er een systematisch patroon in de residuen zit. Pascode: [hier]

3) Modelvergelijking:

Schrijf code die twee verschillende fysieke modellen past en vergelijkt met dezelfde gegevens: [model A] en [model B]. Toon de parameters, onzekerheden en restpatronen van beide. Het is aan mij om te beslissen welke FYSIEK geschikter is; Presenteer de twee gewoon naast elkaar. Vergeet niet om overfitting te voorkomen.

4) Onzekerheidsrapportage:

Voeg code toe die elke parameter van de volgende fit afdrukt met het juiste aantal significante cijfers in de notatie "waarde ± onzekerheid (eenheid)". Fit als een parameter een fysiek onmogelijke waarde aanneemt (bijvoorbeeld negatieve massa). Code: [hier]

Zwakke prompt/sterke prompt

Zwak: "Vind de curve die het beste bij deze gegevens past."
Conclusie: AI kan een ‘perfecte’ maar fysiek zinloze aanpassing geven aan een polynoom van hoge orde; onzekerheid en niet meer.
Strong: "Schrijf een curve_fit-code die past bij het radioactieve vervalmodel N = N₀·e^(−λt) bij deze (t, N) gegevens. Druk λ en N₀ en hun onzekerheden af. Zet de residuen in een aparte grafiek en geef commentaar als er een systematisch patroon is. Waarschuw als λ negatief is."
Resultaat: Fysisch model, onzekere parameters, restcontrole en plausibiliteitscontrole.

Veel voorkomende fouten

  • Het model uit de gegevens selecteren. Het kiezen van de ‘best fit’ in plaats van de natuurkundige wet dwingt de natuurkunde om de gegevens te laten passen en leidt tot overfitting.
  • Geen onzekerheid melden. Een parameterwaarde zonder onzekerheid is wetenschappelijk onvolledig; Of twee resultaten al dan niet verenigbaar zijn, kan alleen worden begrepen door middel van onzekerheid.
  • Niet krabben aan de restjes. Door de naleving ‘goed’ te verklaren door naar de ogen te kijken, worden systematische afwijkingen verborgen.
  • Overschat het significante cijfer. Het schrijven van g = 9,73418 ± 0,4 is een valse precisie; Onzekerheid bepaalt hoeveel cijfers significant zijn.
  • Het omzeilen van de fysieke redelijkheid. Het negeren van onmogelijke gevolgen zoals negatieve weerstand of een zwaartekracht van 50 m/s².
Let op: het feit dat een curve goed bij de gegevens past, bewijst niet dat de onderliggende fysica correct is. Met voldoende vrije parameters kan een "goede" curve aan alle gegevens worden aangepast. Wetenschappelijke integriteit vereist het kiezen van een model uit de natuurkunde, het rapporteren van onzekerheid en het eerlijk onderzoeken van de residuen. Een mooie, door AI gegenereerde afbeelding is geen vervanging voor deze bedieningselementen.

Samengevat

Bij de analyse van experimentgegevens stelt AI snel curve-fittingcode en visualisatie vast; maar het is de verantwoordelijkheid van de natuurkundige om het fysieke model te kiezen, de onzekerheid nauwkeurig te rapporteren en de kwaliteit van de pasvorm eerlijk te beoordelen. Een goede analyse neemt het model uit de natuurkunde over, rapporteert de parameters met hun onzekerheden, onderzoekt de residuen en test de fysieke plausibiliteit van het resultaat. In de volgende unit zullen we dit concept van onzekerheid diepgaander bespreken: meetfouten en foutvoortplanting.

Applicatie taak

Pas een fysiek model toe aan een kleine set experimentele gegevens die u heeft of hebt geproduceerd (bijvoorbeeld lengte-periodemetingen van een slinger of stroom-spanningsgegevens van een weerstand). Print de code met het eerste sjabloon naar de AI, voer deze uit; Lees de parameters met hun onzekerheid en plot de residuen. Controleer of er een systematisch patroon in de residuen zit en of de parameters fysiek redelijk zijn. Schrijf in 5-6 zinnen op: was de fit echt goed, wat zei de onzekerheid?

controlelijst

  • [ ] Ik heb het model gekozen uit de natuurkunde, niet uit data.
  • [ ] Ik heb de eventuele meetonzekerheid in de fitting meegenomen.
  • [ ] Ik rapporteerde de parameters met hun onzekerheid en het juiste significante cijfer.
  • [ ] Ik heb de residuen in een aparte grafiek uitgezet en gezocht naar systematische patronen.
  • [ ] Ik heb gecontroleerd of de parameters fysiek redelijk zijn.
  • [ ] Ik vermeed overfitting (onnodig hoge vrijheid).