Interpolatie van een curve

Moderators: dirkwb, Xilvo

Reageer
Berichten: 3

Interpolatie van een curve

Hallo!

Ik zit met een probleempje ivm interpolatie op het werk.

Achtergrond: Bepalen van een dosis gammastraling adhv een dosimeter die verkleurt onder bestraling. De mate van verkleuring (absorptie) wordt gemeten in een spectrofotometer. Een tabel van de leverancier van de dosimeters geeft weer welke dosis overeenkomt met de verkregen absorptie.

Probleem: ik moet deze meetgegevens analyseren adhv de tabel. De curve is echter beperkt in range en ik zou deze willen verder door trekken omdat ik waarden bekomen heb die buiten de in de tabel opgegeven range liggen.

Ik ben spijtig genoeg geen wetenschapper en het is al 20 jaar geleden dat ik nog echt wiskunde heb gepractiseerd maar ik zou toch graag een oplossing vinden.

Wat ik al gedaan heb: Ik heb de gegevens in excel in een grafiek gezet en een trendline toegevoegd. Ik krijg een vierdegraadsvergelijking in de vorm van y = 1E-08x^4 - 6E-06x^3 + 0.0015x^2 - 0.0592x + 3.6817 (door excel weergegeven).

Nu zou ik graag deze vgl. willen omzetten in een vorm zodanig dat ik een formule in excel kan zetten waarbij ik voor een waarde x (die in de range van de tabel maar ook buiten de range kan zitten) meteen y uitgerekend krijg.

Evt. kan ik ook de gevens van de tabel integraal hier vermelden, als dat nuttig is lees ik het wel.

Ik hoop dat iemand mij op weg kan helpen, sowieso al bedankt om dit te bekijken!

Grtz

Gebruikersavatar
Berichten: 5.609

Re: Interpolatie van een curve

kverstre schreef:Ik zit met een probleempje ivm interpolatie op het werk.

Probleem: ik moet deze meetgegevens analyseren adhv de tabel. De curve is echter beperkt in range en ik zou deze willen verder door trekken omdat ik waarden bekomen heb die buiten de in de tabel opgegeven range liggen.
-> dat is geen interpolatie, dat is extrapolatie. Extrapolatie is slechte wetenschap. Ik hoop dat je dus weet wat je doet...
Wat ik al gedaan heb: Ik heb de gegevens in excel in een grafiek gezet en een trendline toegevoegd. Ik krijg een vierdegraadsvergelijking in de vorm van y = 1E-08x^4 - 6E-06x^3 + 0.0015x^2 - 0.0592x + 3.6817 (door excel weergegeven).
Dat vind ik er al heel verdacht uitzien. Je ziet dat iedere parameter kleiner wordt naarmate de graad hoger wordt?
Achtergrond: Bepalen van een dosis gammastraling adhv een dosimeter die verkleurt onder bestraling. De mate van verkleuring (absorptie) wordt gemeten in een spectrofotometer. Een tabel van de leverancier van de dosimeters geeft weer welke dosis overeenkomt met de verkregen absorptie.
Zeker als dat de context is, zou ik die extrapolatie niet aanraden...
Probleem: ik moet deze meetgegevens analyseren adhv de tabel. De curve is echter beperkt in range en ik zou deze willen verder door trekken omdat ik waarden bekomen heb die buiten de in de tabel opgegeven range liggen.
Weet je toevallig ook waarom die curve beperkt is in range? Misschien werken die dosismeters alleen maar goed binnen die range?
kverstre schreef:Wat ik al gedaan heb: Ik heb de gegevens in excel in een grafiek gezet en een trendline toegevoegd. Ik krijg een vierdegraadsvergelijking in de vorm van y = 1E-08x^4 - 6E-06x^3 + 0.0015x^2 - 0.0592x + 3.6817 (door excel weergegeven).

Nu zou ik graag deze vgl. willen omzetten in een vorm zodanig dat ik een formule in excel kan zetten waarbij ik voor een waarde x (die in de range van de tabel maar ook buiten de range kan zitten) meteen y uitgerekend krijg.
Is er een goede reden om uit te gaan van een vierdegraadsvergelijking? Of kan het net zo goed een exponentiel/sinusoide/logaritmische/sin²/sinc/normale/sigmoid/... verdeling zijn? Heb je bovendien minstens 40 datapunten gebruikt om die 4e-graadsvergelijking op te stellen?

Verder is het antwoord op je vraag:

y = 1E-08 * A1 * A1 * A1 * A1 - 6E-06 * A1 * A1 * A1 + 0.0015 * A1 * A1 - 0.0592 * A1 + 3.6817

Ik hoop dat je nu weet wat je doet...
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Re: Interpolatie van een curve

De gegevens weergeven is misschien nog niet nodig, maar het is wel even van belang te kijken hoe juist het model klopt met de aangeleverde gegevens.

Op zich kun je, als je geen idee hebt welke vorm de kromme heeft (kwadratisch/logaritmisch) inderdaad kiezen voor een model met alleen machten van x. Wel moet het aantal meetpunten dan groter zijn dan de hoogste coefficient van x; je kunt geen model met x^20 erin geven als het aantal meetpunten 19 is.

Met theoretische (fysische) kennis zou je eventueel kunnen kiezen voor een logaritmisch of exponentieel verband. Maar ik vermoed dat het verband zo vaag is dat dat niet mogelijk is. In dat geval kun je beter zoeken naar een machtsfunctie. Ik kan ook je gevonden oplossing niet naar waarde schatten want ik weet niet welke waarden x aanneemt. Dus ja, ik denk dat je indien dat mogelijk is de meetwaarden beter even weer zou kunnen geven.

Extrapoleren is zoals mijn voorganger zei eigenlijk gevaarlijk. Het zou beter zijn de fabrikant te vragen om meetgegevens die overeen komen met de waarde die je nodig hebt.

Berichten: 3

Re: Interpolatie van een curve

317070 schreef:-> dat is geen interpolatie, dat is extrapolatie. Extrapolatie is slechte wetenschap. Ik hoop dat je dus weet wat je doet...

Dat vind ik er al heel verdacht uitzien. Je ziet dat iedere parameter kleiner wordt naarmate de graad hoger wordt?

Zeker als dat de context is, zou ik die extrapolatie niet aanraden...

Weet je toevallig ook waarom die curve beperkt is in range? Misschien werken die dosismeters alleen maar goed binnen die range?

Is er een goede reden om uit te gaan van een vierdegraadsvergelijking? Of kan het net zo goed een exponentiel/sinusoide/logaritmische/sin²/sinc/normale/sigmoid/... verdeling zijn? Heb je bovendien minstens 40 datapunten gebruikt om die 4e-graadsvergelijking op te stellen?

Verder is het antwoord op je vraag:

y = 1E-08 * A1 * A1 * A1 * A1 - 6E-06 * A1 * A1 * A1 + 0.0015 * A1 * A1 - 0.0592 * A1 + 3.6817

Ik hoop dat je nu weet wat je doet...
Inderdaad extrapolatie, dat bedoelde ik ook ;) ! Bij mijn zoektocht op wikipedia ben ik van polynoom op extrapolatie en vandaar verder op interpolatie gesukkeld, vandaar dat ik de twee door mekaar haal...

Ik besef dat het in veel gevallen louter giswerk is maar omdat de projectleider me verzekerde dat de gegevens geëxtrapoleerd kunnen worden, tot 2 keer de max. waarde in de tabellen, ga ik er dus vanuit dat het kan! Ik heb natuurlijk vol vertrouwen geantwoord dat dat geen probleem zou zijn met behulp van excel maar blijkbaar is het toch iets moeilijker dan ik eerst dacht... :)

De context heeft geen belang, de resultaten zijn louter informatief en enkel nodig om in een volgend stadium aangepaste metingen te doen met beter geschikte dosimeters.

De range die de fabrikant opgeeft garandeert dat de resultaten zeer nauwkeurig zijn (max afwijking van 2% gegarandeerd binnen de range). Extrapolatie tot 2x de max. waarde van de range vergroot natuurlijk de fout en geeft afwijkingen boven de 2%, wat teveel is voor definitieve resultaten maar niet in dit stadium van de testen! Ik moet op dit moment enkel een indicatie hebben van de waarden, zolang de waarde niet 2 keer meer weergeeft dan de realiteit is het voor mij allang goed in dit stadium. Het gaat hier enkel om orde van grootte zodat ik hierna dosimeters kan bestellen om wel nauwkeuriger resultaten te verkrijgen. Deze metingen zijn de eerste stap, hierna volgen nog minstens 3 volgende stappen alvorens we definitieve resultaten hebben.

Wat de verdeling betreft: ik heb zoals gezegd al 20 jaar geen wiskunde gebruikt op hoger niveau. Ik weet dat het zeker niet lineair, exponentieel, logaritmisch of sinusoidaal is. Sinc of sigmoid heb ik zelfs nog nooit van gehoord, zover gaat mijn kennis niet... De enige reden waarom ik een vierdegraadsvergelijking vermeldt is omdat dit het dichtst in de buurt kwam als trendline in excel...

Ik had de vergelijking al in excel gebracht met gewoon een x waarde ingevuld maar bij een controle met een waarde uit de tabel kom ik op een gans ander resultaat... Zou het kunnen dat de vgl. die excel geeft niet correct is of is het gewoon niet zo simpel als x invullen in die vgl. Het enige dat ik mij nog herinner van school is D=B²-4ac (werd er ingehamerd...) voor kwadratische vgln. Derde-, vierdegraads etc. is helemaal niks van blijven hangen. Na 20 jaar schiet er niks van over als je het niet gebruikt, laat dat een les zijn voor degenen waarbij het nog vers in het geheugen zit :)

Dus alle hulp is welkom... ;)

Morgen op het werk kan ik de gegevens evt. integraal posten.

Re: Interpolatie van een curve

Van n meetpunten (xi,yi) is een exacte polynoom op te stellen met de interpolatieformule van Lagrange.

Deze luidt
\(p_n(x)=a_0.y_0 + a_1.y_1 +... a_n.y_n\)
met
\(a_i=\frac{(x-x_0)(x-x_1)...(x-x_i_-_1)(x-x_i_+_1)...(x-x_n)}{(x_i-x_0)(x_i-x_1)...(x_i-x_i_-_1)(x_i-x_i_+_1)..(x_i-x_n)}\)
Let er op dat de ai geen constanten zijn maar dat ze elk een polynoom van de n-de orde in x zijn.

Berichten: 3

Re: Interpolatie van een curve

Ondertussen nog wat opzoekwerk verricht en blijkbaar was ik toch niet te slecht bezig!

Ik heb het alleen verkeerd aangepakt in excel, mijn fouten/bevindingen:

1. Ik had een line grafiek ipv een scatter gebruikt waardoor ik ook een verkeerde vgl. kreeg

2. Ik had niet genoeg cijfers na de komma weergegeven in de vgl. van de trendline, dacht van tevoren dat dat automatisch gebeurde... (nu 14)

3. Met gebruik van extrapolatie in excel kan ik maar enigszins betrouwbaar vergelijken tot 10% boven de range als ik de verschillende trendlines bekijk, daarboven wordt de onzekerheid te groot, dus ik zal sowieso de fabrikant moeten contacteren om de resultaten buiten de range te beoordelen.

Probleem opgelost, bedankt voor jullie reacties!

Gebruikersavatar
Berichten: 5.609

Re: Interpolatie van een curve

3. Met gebruik van extrapolatie in excel kan ik maar enigszins betrouwbaar vergelijken tot 10% boven de range als ik de verschillende trendlines bekijk, daarboven wordt de onzekerheid te groot, dus ik zal sowieso de fabrikant moeten contacteren om de resultaten buiten de range te beoordelen.
Dat probeerde ik te zeggen, dat probleem heb je ALTIJD met extrapolatie. Daarom is het nooit aan te raden.
bessie schreef:Van n meetpunten (xi,yi) is een exacte polynoom op te stellen met de interpolatieformule van Lagrange.

Deze luidt
\(p_n(x)=a_0.y_0 + a_1.y_1 +... a_n.y_n\)
met
\(a_i=\frac{(x-x_0)(x-x_1)...(x-x_i_-_1)(x-x_i_+_1)...(x-x_n)}{(x_i-x_0)(x_i-x_1)...(x_i-x_i_-_1)(x_i-x_i_+_1)..(x_i-x_n)}\)
Let er op dat de ai geen constanten zijn maar dat ze elk een polynoom van de n-de orde in x zijn.
Het probleem met de Lagrange-polynoom is dat ze zowat de slechtst mogelijke manier is om aan extrapolatie te doen. Ze doet heel erg aan overfitting en gaat altijd heel snel naar oneindig. Meer zelfs, hoe meer datapunten je hebt, hoe sneller ze naar oneindig gaat en hoe slechter ze dus bruikbaar is voor extrapolatie.

Maar ook voor interpolatie is ze onbruikbaar...
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Reageer