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
python.
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.
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.
Hvorfor er konfidensintervallet i tilfældet med 250 bakterier
noget smallere end intervallet i tilfældet med 1000 bakterier ?
Lav prædiktionsintervaller i stedet for konfidensintervaller.
Hvorfor er disse intervaller meget bredere end konfidensintervallerne ?
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
 ?
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.
Skifter blot False ud med True
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.
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.
Prøv at ændre "False" til "True" i ovenstående kørsel.
7.5.1 Kalibrering (invers regression)
For den lineære sammenhæng givet ved
tænker man for det meste på relationen på den måde at
måles og dette giver os information om . I nogle situationer er vi
imidlertid interesseret i at gå den modsatte vej, altså fra til
Et eksempel på dette er efter et trafikuheld, hvor politiet måler længden af et
bremsespor for at regne tilbage til hastigheden. Vi benytter således
relationen
Brugen af regressionsmodellen på denne måde kendes også fra kemi.
I 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å
Fra relationen har vi
og som skøn over bruger vi derfor
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.
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.
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.