Afsnit 5.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 givet værdi af den forklarende variabel.
Som skøn over linjens værdi bruges På samme måde som i Resultat 5.2.1 kan man indse, at Som i Resultat 5.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
I R kan konfidensintervallet og prædiktionsintervallet beregnes med funktionen predict. Input til predict er output fra kald af lm og en såkaldt dataframe med de værdier af den forklarende variabel hvori vi ønsker at beregne linjens værdi. Lad output fra lm være lmUD=lm(xt). Så danner vi en dataframe med navnet nyData med kommandoen
nyData=data.frame(t=tNY)
hvor tNY er en vektor med de nye værdier af Det er vigtig, at der bruges det samme navn for den forklarende variabel (i vores tilfælde ) i kaldet til lm og i konstruktionen af NyData. Nu beregnes konfidensintervallet for linjens værdi i de nye punkter med kommandoen
predict(lmUD,nyData,interval="confidence")
Output fra predict er en matrix med tre søjler og et antal rækker, der svarer til længden af tNY. Første søjle er skøn over linjens værdi, anden søjle er det nedre endepunkt i konfidensintervallet, og tredje søjle er det øvre endepunkt.
For at beregne prædiktionsintervallet skal man erstatte "confidence" med "prediction" i kaldet til predict.
Eksempel 5.5.1. (Forurening i vandprøver)
I Eksempel 5.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 (vær opmærksom på, at søjleoverskrifterne, i det output I får her, er forskudt til venstre, hvilket ikke er tilfældet, når I laver beregningerne i jeres egen R-installation).

5.5.2 Lave prædiktioner i R

Se opstartskoden (til/fra)

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 bakteritallet 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 "confidence" ud med "prediction" i kaldet til predict. 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 er sandsynligt 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.
Prøv at ændre "confidence" til "prediction" i ovenstående kørsel.

5.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 5.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 5.1.1. Der laves først et konfidensinterval for -værdien af antallet af E.coli bakterier i tilfældet, hvor -værdien af GLUase aktiviteten er 1.05, hvorefter dette omregnes til et konfidensinterval for antallet af bakterier. Beregningerne laves på den måde, at der først defineres en funktion inversReg i R, hvorefter denne funktion kaldes. Funktionen inversReg findes i filen Rfunktioner.txt omtalt under punktet Egne funktioner i R i afsnit 1.2.

5.5.3 Invers regression i R

Se opstartskoden (til/fra)

Kør koden og kommenter på resultatet. Prøv at ændre 1.05 i kaldet til rep(1.05,4). 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 er cirka fra 160 til 700.
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 -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