Afsnit 7.5: Linjens værdi og kalibrering

I nogle situationer kan man være specielt interesseret i linjens værdi for bestemte værdier af den forklarende variabel I eksemplet, vi har betragtet, med en ny måde at måle forureningsgraden i vandprøver kan det være, at man vil oversætte en grænseværdi på antallet af E.coli bakterier til en grænseværdi på GLUase aktiviteten. Dette kan formuleres på den måde, at i modellen vil vi gerne sige noget om parameteren hvor er en given værdi af den forklarende variabel.
Som skøn over linjens værdi bruges På samme måde som i Resultat 7.2.1 kan man indse, at Som i Resultat 7.3.1 kan vi derfor lave test for værdien af og vi kan lave et 95%-konfidensinterval. Det sidste er på formen
Man omtaler ofte som en prædikteret værdi og intervallet som et konfidensinterval for prædiktionen.
Derudover taler man også om et prædiktionsinterval, som er bredere end ovenstående konfidensinterval. Et 95%-prædiktionsinterval er et interval, der vil indeholde en kommende observation med sandsynlighed 0.95. Hvis skal der laves et interval, der indeholder med sandsynlighed 0.95. Hertil benyttes, at Ud fra dette kan vi konstruere en "-teststørrelse":
og lave prædiktionsintervallet som
Lad os nu se på beregningen af et konfidensinterval for linjens værdi, og et prædiktionsinterval for en kommende observation, i enten python eller MATLAB. Input til de relevante funktioner er output fra estimationen af den lineære regressionsmodel, kaldet lmUD i foregående afsnit, samt et datasæt med de nye værdier af den forklarende variabel hvori vi ønsker at foretage beregningen. De nye værdier skal stå som en søjle i datasættet og navnet på søjlen skal være det samme som navnet på den forklarende variabel i det oprindelige datasæt til estimationen af modellen.
Nedenfor vises konstruktionen af det ny datasæt, hvor navnet på den forklarende variabel er , og konstruktionen af et konfidensinterval for linjens værdi eller et prædiktionsinterval for en kommende observation, idet resultatet fra estimationen af regressionsmodellen ligger i lmUD.
Hvis der er nye værdier i nyData giver python med predictedmean en vektor af længde med skøn over linjens værdi, confint(obs=False) giver en matrix med konfidensintervaller for linjens værdi, og confint(obs=True) giver en matrix med prædiktionsintervaller for en kommende observation. MATLAB giver med [pr,ci]=predict(lmUD,nyData,'prediction','curve') en søjle pr med skøn over linjens værdi, og en matrix ci med konfidensintervaller. Når 'curve' skiftes ud med 'observation' indeholder ci prædiktionsintervaller.
Eksempel 7.5.1. (Forurening i vandprøver)
I Eksempel 7.1.1, omkring GLUase aktivitetens afhængighed af mængden af E.coli bakterier, kan vi være interesseret i at kunne skelne mellem badevand af udmærket kvalitet, god kvalitet eller ringe kvalitet, svarende til at mængden af E.coli bakterier er 250, 500 eller 1000 (cfu per 100 ml).
I det følgende kodevindue beregnes konfidensinterval for linjens værdi i disse punkter, det vil sige konfidensinterval for middelværdien af logaritmen til GLUase aktiviteten for de tre niveuaer af E.coli bakterier.

7.5.2 Lave prædiktioner i python

Se opstartskoden (til/fra)

MATLAB-kode

Test dig selv

  1. Hvorfor er konfidensintervallet i tilfældet med 250 bakterier noget smallere end intervallet i tilfældet med 1000 bakterier?
  2. Lav prædiktionsintervaller i stedet for konfidensintervaller. Hvorfor er disse intervaller meget bredere end konfidensintervallerne?
  3. Hvis du har fået en ny måling af GLUase aktiviteten, hvor -værdien er 1.05, vil du så mene, det tyder på et E.coli bakterietal på 250 eller på ? Kunne det tænkes, at bakterietallet er ?

Svar: Prædiktionsinterval

  1. Med 250 bakterier ligger man ind mod midten af dataområdet i forhold til 1000 bakterier, hvor man ligger i yderkanten af dataområdet. Formelmæssigt ses denne forskel gennem bidraget til standard error for skønnet over linjens værdi.
  2. Skifter blot False ud med True (pythonversion) eller skifter curve ud med observation (MATLABversion) for at få lavet prædiktionsintervallerne. Intuitivt skal prædiktionsintervaller "stikke" 1 til 2 gange spredningen længere ud end konfidensintervallerne, og da er forholdsvis stor, bliver prædiktionsintervallerne væsentligt bredere end konfidensintervallerne.
  3. Værdien 1.05 ligger både i prædiktionsintervallet for tilfældet 250 og i prædiktionsintervallet for tilfældet 500, og i begge tilfælde lige langt fra en af grænserne i intervallet. Begge de to muligheder er derfor lige gode. Dog ligger 1.05 langt uden for prædiktionsintervallet i tilfældet med 1000 bakterier, hvorfor det ikke virker troligt med så højt et bakterieantal.

I det følgende kodevindue beregnes konfidensintervallet for linjens værdi i mange punkter og indtegnes som en kurve i figur med data.

Se opstartskoden (til/fra)

Prøv at ændre "False" til "True" i ovenstående kørsel.

MATLAB-kode

Prøv at ændre "curve" til "observation" i ovenstående kørsel.

7.5.1 Kalibrering (invers regression)

Inden for kemi bruges lineære sammenhænge ofte til at lave et "måleapperat", hvor værdien af den forklarende variabel bestemmes ud fra respons (omtales ofte som "invers regression"). Når den lineære regressionsmodel etableres ud fra data, taler man om at kalibrere målemetoden. For eksempel kan man have lavet en række prøver med en kendt koncentration af et stof og målt intensiteten af lys efter passage af prøven. Typisk vil der være en lineær sammenhæng mellem logaritmen til lysintensiteten og koncentrationen. Efterfølgende kan man for en prøve med en ukendt koncentration måle lysintensiteten og lave skøn over koncentrationen ud fra den etablerede lineære sammenhæng.
I vores eksempel i dette afsnit med forurenede vandprøver ønsker vi, efter at sammenhængen mellem GLUase og antal bakterier er etableret, at bruge sammenhængen til ud fra en måling af GLUase at sige, hvad antallet af bakterier er.
Dette kan formuleres generelt på følgende vis. Ud fra de indsamlede data har vi estimeret parametrene i modellen For en ny værdi af den forklarende variabel betragtes målinger fra modellen Vi ønsker at lave inferens om baseret på både og på Ved beregninger af samme type som i forbindelse med Resultat 7.3.1 kan man indse, at
hvor Man kan derfor konstruere et 95%-konfidensinterval for som de værdier af for hvilke
For at finde de relevante værdier af skal man løse en andengradsligning. Beregningerne er vist i kodevinduet nedenfor for data omkring forurening af vandprøver fra Eksempel 7.1.1. Der laves et konfidensinterval for -værdien af antallet af E.coli bakterier i tilfældet, hvor -værdien af GLUase aktiviteten er målt til 1.05. Beregningerne laves på den måde, at der først defineres en funktion inversReg, hvorefter denne funktion kaldes. Funktionen inversReg findes i filen pytFunktioner.py omtalt under punktet Egne funktioner i python i afsnit 1.6. I MATLAB findes funktionen i filen inversReg.m.

7.5.3 Invers regresion i python

Se opstartskoden (til/fra)

MATLAB-kode

Den følgende MATLAB-kode buger funktionen inversReg fra filen inversReg.m.

Kør koden og kommenter på resultatet (omregn eventuelt konfidensintervallet for tColi til et konfidensinterval på oprindelige skala ved at tage eksponentialfunktionen på endepunkterne). Prøv at ændre [1.05] i kaldet til [1.05,1.05,1.05,1.05]. Dette svarer til, at man har gentaget målingen af GLUase 4 gange (og tilfældigvis har målt den samme værdi alle fire gange). Kommenter også på dette resultat.

Svar: Kalibrering

Kørsel af program viser, at antallet af E.coli bakterier ikke er særlig godt bestemt ud fra en enkelt måling af GLUases aktiviteten og ved brug af de data, vi har til rådighed. Konfidensintervallet på log-skala er fra 5.09 til 6.55 og det tilsvarende interval på ikke-log skala er fra 162 til 701.
Hvis vi har fire gentagne målinger af GLUase aktiviteten for den samme værdi af antallet af E.coli bakterier, får vi cirka halveret længden af konfidensintervallet på en log-skala.
Den overordnede konklusion er, at godt nok er der en lineær sammenhæng mellem GLUase aktiviteten og antallet af E.coli bakterier, men der er behov for forbedring af målemetoderne for at kunne bruge relationen i praksis til at vurdere antallet af bakterier ud fra GLUases aktiviteten.

ForegåendeNæste