Afsnit 9.7: Øvelse 7

I denne sidste øvelse skal I arbejde med den multiple regressionsmodel, hvor man ønsker at beskrive respons ved hjælp af flere forklarende variable.

Opgave 7.1: Multipel regression

Formålet med data i denne opgave er at prædiktere, hvor god en kemisk forbindelse er til at bremse BTK (Brutons Tyrosine Kinase). Respons er , hvor er half maximal inhibitory concentration, det vil sige den mængde, der er nødvendig for at nedsætte BTK aktiviteten til det halve ( skal angives i mol/L før logaritmen beregnes). Bemærk, at en stor værdi af betyder større evne til at bremse BTK. Hvis man ud fra simple beskrivelser af den kemiske forbindelse kan prædiktere , kan man benytte dette til at designe nye forbindelser eller til at løbe gennem et bibliotek af kemiske forbindelse for at finde gode kandidater til at bremse BTK.
Data i denne opgave er en delmængde af data fra Computational regression and prediction analysis on a dataset of 52 Pyrrolo[2,3-b]Pyridines and Pyrimidines Rheumatoid Arthritis inhibitors. Vi vil betragte fire variable til beskrivelse af : molekylevægten af den kemiske forbindelse (MW), logaritmen til partition coefficient (logP), antal hydrogenbindinger i acceptorgruppe (HBA) og måling foretaget ved røngtenspektroskopi (KA1). Forfatterne identificerer to datapunkter som outliers, og data, I skal betragte, indeholder ikke disse. Data findes i filen tICdata.csv, som har 5 søjler i rækkefølgen MW, logP, HBA, KA1 og tIC50. Der er kun 48 datarækker i filen, idet jeg har taget to sæt ud, som I skal bruge til sidst i opgaven til prædiktion.
  1. Indlæs data som en datatabel.
    Opskriv den fulde regressionsmodel, hvor middelværdien af tIC50 afhænger lineært af de fire forklarende variable.
  2. Lav et qqplot af residualerne i denne model. Angiv Resultat nummer for hvordan et qqplot vurderes
  3. Reducer den fulde multiple regressionsmodel ved successivt at fjerne led i modellen (backward selektion). Lav en tabel, som for hvert trin angiver den variabel der fjernes i modellen og den tilhørende -værdi.
  4. Opskriv slutmodellen ved backward selektionsproceduren, og lav et -test for reduktion fra den fulde model til slutmodellen.
  5. Lav en figur, hvor residualerne fra slutmodellen afsættes mod KA1, og med nullinjen indsat. (Overvej også, hvilke andre figurer du burde lave.) Idet du starter fra venstre side og går mod højre, hvor mange punkter ligger under nullinjen inden det første punkt, der ligger over nullinjen?
  6. Lav en figur, hvor tIC50 afsættes mod de forventede værdier, og indsæt identitetslinjen i denne figur.
    Synes du, at slutmodellen vil være god til at prædiktere tIC50?
  7. Angiv 95%-konfidensintervaller for de to regressionsparametre i din slutmodel. Hvilke kemiske forbindelser skal man lede efter, hvis man gerne vil have en forbindelse, der er god til at bremse BTK?
  8. Datasætet indeholder to observationer, der ikke er medtaget i data, som I benyttede ovenfor. Data for de to observationer er
    Lav et 95%-prædiktionsinterval for tIC50 for hver af de to prøver ovenfor. Ligger den observerede værdi i prædiktionsintervallet?
    Som nævnt i indledningen til denne opgave, blev to prøver fjernet fra datasættet, idet disse blev betragtet som outliers. Data for disse to er
    Gentag ovenstående beregning af prædiktionsinterval for disse to prøver.

Opgave 7.2: Ridge regression

I denne øvelse skal I se på NIR-spektre af småkagedej for at vurdere, om disse kan bruges til at prædiktere indholdet af vand i dejen. Data er hentet fra ppls pakken i R (programpakke til statistikberegninger), og er analyseret i de to artikler Application of near-infrared reflectance spectroscopy to compositional analysis of biscuits and biscuit dough, og Bayesian Wavelet Regression on Curves with Applications to a Spectroscopic Calibration Problem.
Der er 40 prøver med NIR-spektre målt ved 700 bølgelængder (fra 1100 til 2498 nanometer). Data ligger i filen DejTraen.txt, som har 701 søjler (uden søjleoverskrifter), hvor den sidste søjle indeholder mængden af vand. Hver række i filen svarer til en prøve.
  1. Indlæs data som en matriks Traen med brug af indlæsningskommandoen np.loadtxt (MATLAB: importdata).
    Placer NIR-spektrene i en matrix og mængden af vand i vektoren vand (python: T=Traen[:,0:700], MATLAB: T=Traen(:,1:700);).
    Angiv, hvor mange dejprøver der er med et vandindhold under 13.
  2. Tabellen nedenfor viser resultatet af et kald til forward samt et kald til cvForward.
    Illustrer forward selektionsprocessen med en figur som i afsnit 9.4 baseret på data i tabellen ovenfor.
    Hvor mange variable, fundet ved forward selektion, vil du medtage i en model til beskrivelse af vandindholdet?
  3. Du skal nu bruge ridge regression til at beskrive vandmængden ud fra NIR-spektrene. Lav en tabel med krydsvalideringsspredning for -værdierne . Lav også en figur, hvor afsættes mod .
    Vælg en værdi af , som du vil bruge til at beskrive data med. Lav en figur med den observerede vandmængde afsat mod den forventede vandmængde, og indsæt identitetslinjen i denne figur. Du kan eventuelt lade dig inspirere af koden i den skjulte kode Ridge regression i python.
  4. Hvilken model foretrækker du, modellen fra forward selektion eller modellen fra ridge regression?

Opgave 7.3: Prædiktion i ridge regression

Denne opgave er en fortsættelse af den foregående opgave. Udover det oprindelige datsæt med 40 dejprøver er der også et nyt datasæt med 32 prøver. Vi kan bruge dette datasæt til et uafhængigt tjek af, hvor god modellen er til at prædiktere. Det nye datasæt er i filen DejTest.txt, som har samme struktur som DejTraen.txt (men altså 32 rækker i stedet for 40 rækker).
  1. Benyt data fra foregående opgave. Kør ridge regression med og find og prædiktionsspredningen
    Angiv den første koordinat i vektoren
  2. Indlæs nu de nye data som en matriks Test med brug af indlæsningskommandoen np.loadtxt (MATLAB: importdata).
    Udregn de prædikterede værdier for de nye data.
  3. Lav en figur hvor de observerede værdier for de nye data afsættes mod de prædikterede værdier. Indsæt identitetslinjen i figuren.
    Hvad er den største abolutte prædiktionsfejl, og hvor optræder den?
  4. Udregn kvadratroden af gennemsnit af den kvadrerede afstand mellem de observerede værdier og de prædikterede værdier for de nye data.
    Sammenlign denne værdi med prædiktionsspredningen
  5. Synes du ridge regressionsmodellen er god til at prædiktere nye dejprøver?

Opgave 7.4: Teste regressionsmodellen

I opgave 5.7 så I på en regressionsmodel for absorbansratioens afhængighed af proteinmængden BSA, og brugte sammenhængen som en kalibreringskurve. I opgaven var der givet en enkelt observation af absorbansratioen for hver af seks værdier af BSA. I artiklen Linearization of the Bradford Protein Assay, som data stammer fra, er hver absorbansratio faktisk gennemsnit af tre uafhængige målinger. Alle data fra artiklen er gengivet i tabel nedenfor og findes i filen TreGentagBradford.csv. Filen har tre søjler, hvor første søjle indeholder BSA, den anden søjle er en variabel gruppe, der koder for BSA-gruppe (med værdierne G1,G2,G3,G4,G5,G6), og den tredje søjle indeholder absorbansratio.
I skal i denne opgave bruge data til to ting. Først skal I bruge strukturen i data til at lave et test for, at der er en linær sammenhæng mellem middelværdien af absorbansratio og proteinmængden BSA. Derefter skal I gentage nogle af beregningerne i opgave 5.7 omkring skøn af BSA-mængden ud fra den målte absorbansratio.
  1. Opstil normalfordelingsmodellen, hvor hver BSA-gruppe har sin egen middelværdi af absorbansratio, og alle grupperne har den samme varians.
    Analyser modellen i python/MATLAB, og angiv skøn over spredningen i modellen.
  2. Opstil regressionsmodellen, hvor middelværdien af absorbansratio afhænger lineært af BSA.
    Analyser modellen i python/MATLAB, og angiv skøn over spredningen i modellen. Sammenlign dette skøn med skønnet fra foregående opgave og med skønnet, du fandt i opgave 5.7. Kan du forstå sammenhængen mellem skønnet i dette spørgsmål og skønnet i opgave 5.7?
  3. Forklar, at regressionsmodellen er en undermodel af modellen, hvor hver BSA-gruppe har sin egen middelværdi af absorbansratio (den ensidede variansanalysemodel).
    Lav et test for reduktion fra den ensidede variansanalysemodel til regressionsmodellen. Angiv den -fordeling, der bruges. Er -værdien stor nok, til at du vil acceptere regressionsmodellen?
  4. Beregn et 95%-konfidensinterval for hældningen i den lineære sammenhæng mellem middelværdien af Absorbansratio og BSA.
    Sammenlign med konfidensintervallet i opgave 5.7.
  5. Betragt en ny prøve med ukendt indhold af BSA, hvor absorbansratio er målt til 0.98. Angiv et 95%-konfidensinterval for det ukendte indhold af BSA.
    Sammenlign med konfidensintervallet i opgave 5.7. Kan du forklare hvorfor intervallet her er bredere?
    Forklar, hvorfor analysen i denne opgave er mere korrekt end analysen i opgave 5.7.

Opgave 7.5: Opgave med repetitionselementer

I denne sidste opgave er det meningen, at I hovedsageligt skal bruge metoderne fra de 6 første øvelser (undtagelsen er det sidste spørgsmål).
I artiklen Use of Multiple Linear Regression Models for Setting Water Quality Criteria for Copper: A Complementary Approach to the Biotic Ligand Model betragtes forskellige modeller til at beskrive giftigheden af kobber i vandløb. På den ene side har man en simplificeret model, hvor man kun bruger vandets hårdhed som forklarende variabel i en regressionsmodel. På den anden side har man en kompliceret multipel regressionsmodel med 10 forklarende variable, som ifølge forfatterne ikke har vundet indpas i vandkvalitetsprogrammer. Forfatterne betragter i stedet en mere simpel multipel regressionsmodel med tre forklarende variable, henholdsvis DOC (dissolved organic carbon, mg/L), hårdhed (mg/L) og pH.
I opgaven her skal I betragte data for giftigheden af kobber for vandloppen Daphnia magna. Giftigheden måles som acute EC50 (g/L Cu). Den bedste skala at betragte data på er ved at logaritmetransformere (dog ikke pH, som allerede er på en log-skala). Filen Dmagna.csv indeholder variablene DOC, hardness, pH og EC50. Der er data for 302 målinger.
Lad logEC50 være logaritmen til acute EC50, og for nemhed i notationen lad være logaritmen til DOC og være logaritmen til hardness. En analyse af den multiple regression af logEC50, og pH viser, at modellen kan reduceres til
Du kan eventuelt køre en multipel regressionsanalyse og se, at parametertabellen ikke strider mod og Denne analyse giver anledning til at indføre et indeks, her kaldet giftIndex, på formen
Fra data ses, at dette indeks svinger omkring værdien Opgaven her går ud på at lave nogle (lidt usædvanlige) undersøgelser for at se, om den multiple regressionsmodel kan forbedres ved at inkludere flere variable. Specifikt skal I se, om produktet indeholder information om giftindex ved at dele data op i grupper efter denne variabel.
  1. Indlæs data og dan variablene logEC50, , og pH. Dan dernæst giftindex.
    Tjek at gennemsnit af målingerne af giftindeks er
  2. Konstruer en kategorisk variabel gruppe, der deler op i tre grupper, , og , efter om er mindre end 25, er mellem 25 og 35 eller over 35. I python (pandas) eller MATLAB kan dette gøres med kommandoerne
    Dan nu to datasæt, giftA og giftC, med værdierne af giftindex hørende til gruppe og til gruppe . Der er 60 observationer i gruppe og 96 i gruppe .
  3. For de 60 prøver i gruppe er der 14, der har en værdi af giftindex under (konstater, at dette er rigtigt). Opstil en statistisk model til beskrivelse af observationen 14, og lav et 95%-konfidensinterval for sandsynligheden for, at værdien af giftindex er under i gruppe .
  4. For de 96 prøver i gruppe er der 29, der har en værdi af giftindex under Undersøg, om der er samme frekvens af prøver med en værdi af giftindex under i de to grupper og .
  5. Opstil en statistisk model til beskrivelse af værdierne af giftindex i giftA og giftC.
    Lav et test for hypotesen, at der er samme middelværdi af giftindex i de to grupper og .
  6. Betragt nu giftindex for alle 3 grupper dannet ud fra faktoren gruppe. Opstil en statistisk model for data, og undersøg først, om der er samme varians for de tre grupper, og dernæst, om der er samme middelværdi for de tre grupper.
  7. Ovenstående analyse viser, at der er information i produktet , der kan bruges til at beskrive giftindex, og dermed kan bruges til at beskrive giftigheden logEC50. I dette delspørgsmål skal I analysere en multipel regressionsmodel til beskrivelse af logEC50, hvor I som forklarende variable ud over , og pH også bruger alle produkter af disse, det vil sige, variablene
    Opskriv den multiple regressionsmodel, hvor alle 9 forklarende variable inddrages.
    Reducer modellen ved brug af backward selektion.
  8. Lav et test for reduktion fra startmodel til slutmodellen fremkommet ved backward selektion.
    Angiv et 95%-konfidensinterval for regressionskoefficienten hørende til variablen i slutmodellen.
  9. Overvej, hvilke figurer du ville lave til kontrol af slutmodellen (du skal ikke lave figurerne).
  10. Sammenlign endelig skøn over spredning i slutmodellen med skøn over spredning i den multiple regressionsmodel hvor kun de tre forklarende variable , og pH inddrages. Er det rimeligt at bruge denne sidste simple model?

ForegåendeNæsteNæste