Lunds universitet Kemometri Lunds Tekniska Högskola FMS 210, 5p / MAS 234, 5p Matematikcentrum VT 2007 Matematisk statistik version 7 februari Datorlaboration 3 1 Inledning I denna laboration behandlas Kapitel 5 i kursboken (Chemometrics av Brereton), men det skall också ge tillfälle att återigen prova programpaketet MODDE. Kapitel 5 är uppbyggt från vanlig regression, via Principal Component Regression (PCR) till Partial Least Squares (PLS1 och PLS2) och laborationen följer också denna ordning. Boken lägger ganska stor vikt vid att utreda hur man kan vända på regressionsekvationen, och för att beteckningarna skall överensstämma med det exempel som finns i bakgrunden så kallas den beroende variabeln för c. Detta är lite olyckligt eftersom man i vissa programpaket har reserverat bokstaven c för ett begrepp i PLS, men i analogi med boken används också här beteckningen c för responsen och x som förklarande variabel (C och X om det är flera variabler). Tyngdpunkten kommer att läggas på PCR och PLS med mindre kommentarer om MLR, Multipel Linjär Regression. Med MLR menas i den här boken att man har flera responsvariabler, i Olbjers kompendium har man bara en responsvariabel men många förklarande variabler i multipel regression. Kapitel 5 i boken är lite svårläst på några ställen och därför går en del av laborationen åt till att utreda vissa begrepp. Strukturen på denna laboration är någonting mittemellan laboration 1 och laboration 2; först en ganska ordentlig utredning om hur de olika metoderna fungerar för några enkla datamaterial och därefter några datamaterial som löses med all den kreativitet ni har skaffat er under kursen. 1.1 Förberedelse Läs igenom avsnitt 5.1. Titta speciellt på vad kalibrering är i denna bok, det är inte alltid man definierar kalibrering på detta sätt. 2 Grunderna Det finns metoder för PLS i de flesta program, men de toolboxar som finns för detta i Matlab är kommersiella. Det är därför nödvändigt att antingen göra beräkningarna för hand i Matlab eller använda ett färdigt program. Här skall vi göra båda delar, det underlättar förståelsen om man gör beräkningen för hand, men man får automatiskt en rad intressanta utskrifter om man använder ett färdigt program. 1
2.1 Förberedelse Läs avsnitt 5.2, och lägg märke till att modellerna i början av avsnittet (t.ex. x = c s) saknar intercept. I avsnitt 5.2 läggs en del tid på att förklara vilket som är responsen och hur man kan vända på relationen mellan c och x medsåkalladinversregression.i Olbjers kompendium (sidan 226 ff.) finns mer sofistikerade metoder för att göra kalibrering (dvs. att från ett känt värde på responsen y förutsäga värdet på den förklarande variabeln x). Det problem som framhålls är att man mäter avvikelse i olika riktningar när man anpassar c som en funktion av x eller x som en funktion av c. Genom att skriva om formeln för enkel linjär regression är det mycket lätt att förstå när de båda linjerna som illustrerats i Figur 5.5 i boken liknar varandra och när de är relativt långt ifrån varandra. 2.2 En reflektion om regression Rekommendation: Räkna Problem 5.2 som diskuterar när linjer av den typ som finns i Figur 5.5 är lika eller ej (men Problem 5.2 har med intercept till skillnad från Figur 5.5). Om r betecknar den skattade korrelationskoefficienten för x och c, dvs P r = i (x i x)(c i c), s x s c (I 1) där s x och s c betecknar standardavvikelserna och I är antalet observationer (på grund av symmetrin är givetvis r också korrelationskoefficienten för c och x) så kan man visa att regressionslinjen för c som en funktion av x kan skrivas c c s c = r x x s x. Om man istället beräknar regressionslinjen för x som en funktion av c blir på grund av symmetrin x x s x = r c c s c och detta kan skrivas om enligt (jämför den beräkning som gjordes vid PCA i laboration 2) c c s c = 1 r x x s x. Ur detta kan man dra slutsatsen att invers regression fungerar bra när r är nära ±1, men att det annars kan fungera mindre bra. Om man redan innan man börjar beräkningen standardiserar observationerna genom att dra bort medelvärdet och dividera med standardavvikelsen och kallar de standardiserade variablerna för c s och x s, så får uttrycket den ännu enklare formen c s = r x s. Inledningsfråga: När är r =1och när är r = 1? 2
3 Multipel linjär regression Nyheten i detta avsnitt (och även jämfört med regress i Matlab och Olbjers kompendium) är att man kan ha en matris som respons. De tidigare formlerna för skattningen av parametern, som nu heter B, gäller med den enda förändringen att C nu är en matris. Tittar man närmare på formeln för skattningen av B, dvs. bb = X 0 X 1 X 0 C så inser man att denna kan delas upp i oberoende delar, där varje del skattar de olika kolumnerna i C. 3.1 Förberedelse När man läser kapitlet behöver man sedan inte bry sig så mycket om att det kallas kalibrering, det hade fungerat lika bra om man i formlerna istället hade kallat responsen för Y. Vad som däremot blir lite förvirrande är när man har så många kolumner på matrisen C att skattningarna inte fungerar. Låt N beteckna antalet kolumner i matrisen C, låt I beteckna antalet observationer och J beteckna antalet kolumner i matrisen X. Om J > I så framgick av regressionslaborationen att det inte gick att beräkna skattningarna. Den metod som används i boken (och som kan vara lite svår att hänga med på) är att helt enkelt genom invers regression skriva om detta enligt X = C S + E där matrisen C har storlek I N och man hoppas nu att I>Nså att det går att beräkna matrisen (C 0 C) 1. Då får man nämligen att bs = C 0 C 1 C 0 X, och efter lite resonemang och omskrivningar så kommer man sedan fram till att bc = X bs 0 ³ bs b S 0 1. Denna typ av beräkningar överges dock senare i kapitlet när man använder PCR och PLS och därför måste nog detta betraktas som lite kuriosa. Matlabs regress räknar inte med matriser som responser, men det är ju lätt att göra med matriskommandona i Matlab. Använd Matlab för att visa att parameterskattningarna i Tabell 5.6 är riktiga. Kommentera det stycke i boken på sidan 286 som börjar med The estimates by this approach... och slutar med compounds are used in the model.. Förvissa dig om att du inte har missuppfattat vad där står (eller har författaren missuppfattat vad där står?). 4 Principal Components Regression (PCR) 4.1 Förberedelse Läs avsnitt 5.4. Man kan främst tänka sig två skäl till att använda PCR: 3
1. De förklarande variablerna i matrisen X är starkt beroende av varandra och man vill ersätta dessa med variabler som är mindre beroende. 2. Man har situationen att J > I med för många förklarande variabler och måste reducera dessa för att kunna få några skattningar överhuvudtaget. I boken och i kemometrin är det ofta det skäl som ges i 2) som är det aktuella, typiskt är att man har ett spektra med väldigt många våglängder och inte speciellt många observationer. Idén är helt enkelt att man ersätter de förklarande variablerna i matrisen X med en matris av scores från PCA. Denna matris kallas som tidigare T,och eftersom scores är ortogonala (T 0 T är en diagonalmatris) så är också villkor 1) ovan uppfyllt. För att bestämma antalet komponenter kan man göra som vid PCA, men man kan också använda tekniken i boken och rita upp RMS error (se Figur 5.11) för variablerna i c. Det innebär ju att man till viss del tittar på responsen c när man bestämmer matrisen T, men som vi skall se nedan så utnyttjar PLS responsen c på ett mer avancerat sätt. 4.2 Uppgifter Rekommendation: Räkna Problem 5.5. Standardisera variablerna i Problem 5.1 med hjälp av stickprovsstandardavvikelsen och använd PCR för att prediktera A1. Hur många förklarande variabler behövs i modellen? 5 PLS1 5.1 Förberedelse Läs från början av avsnitt 5.5 fram till och med avsnitt 5.5.1. Här handlar det alltså om att man har en variabel som är respons och flera förklarande variabler, men man kan upprepa proceduren för flera responser och då få olika scores för de olika responserna. I PCR reducerade man de förklarande variablerna med hjälp av PCA oberoende av responsen c (man använde indirekt responsen för att bestämma antalet komponenter), men i PLS1 tar man också hänsyn till responsen när man skall reducera antalet förklarande variabler. Hela proceduren är i steg och för att på något sätt strukturera upp det så numreras stegen. 1. Det allra vanligaste är att programmen automatiskt har standardiserat alla variablerna till medelvärde 0 och standardavvikelse 1 innan beräkningarna börjar. 2. Man vill bilda en linjärkombination av variablerna i matrisen X som så bra som möjligt predikterar c. Eftersom kovariansen mäter beroende mellan variabler så väljer man den kombination som ger störst kovarians mellan linjärkombinationen och c. Medw =(w 1,...,w J ) 0 så kan linjärkombinationen 4
skrivas Xw och kovariansen mellan Xw och c kan beräknas till (eftersom både Xw och c är centrerade) (Xw) 0 c I 1 = w0 X 0 c I 1. Här kan kovariansen bli hur stor som helst om man inte sätter någon begränsning på w och därför förutsätter man att w har längden 1, dvs.attw 0 w =1. Det är nu relativt enkelt att visa (t.ex. genom att använda Cauchy-Schwarz olikhet) att den kombination som maximerar uttrycket är proportionell mot X 0 c och därför gäller att w = X 0 c c 0 XX 0 c = X0 c kx 0 ck. 3. Modellen vid PLS1 i boken är (bortsett från att vi återigen har bytt P till P 0 ) X = TP 0 + E c = Tq+ f och om t 1 = Xw är den första kolumnen i matrisen T så kan man få fram den första raden i P 0 och det första elementet i q genom att utnyttja formlerna för regression. (Lägg märke till att man inte behöver bry sig om några intercept eftersom observationerna redan är centrerade.) Med regressionsformlerna blir detta alltså p 0 1 = t 0 1 1t 1 t 0 1 X q 1 = t 0 1 1t 1 t 0 1 c vilket förenklas något av att t 0 1 t 1 är en skalär. Man har alltså till skillnad från i PCR gjort en uppdelning som grundar sig på både c och X, och denna uppdelningen är gemensam för de båda blocken. Lägg också märke till att T och P inte är desamma som i de tidigare metoderna, så är t.ex. inte P säkert en ortonormerad matris. Den beskrivning som är ovan är precis den som beskrivs på sidan 413 bortsett att P 0 används istället för P,ochdärför kan man nu med Matlab beräkna de olika komponenterna för hand. 4. Man har nu en formel för den första komponenten i respektive block och kan beräkna residualerna resid X = X t 1 p 0 1 resid c = c t 1 q 1 Upprepa nu beräkningen för att få t 2, p 2 och q 2, men använd nu residualerna ovan i beräkningen istället för de ursprungliga värdena. 5. Fortsätter man på detta sätt får man till slut ett antal X-scores som man tillsammans kan använda för att prediktera vektorn c. Genom att nu beräkna regressionen av T med avseende på c kan man få förklaringsgraden för modellen, dvs. hur mycket av variationen i c som förklaras av modellen, och detta kan ju också användas för att hur många komponenter man behöver i modellen. När man skall bestämma antalet komponenter i modellen använder man emellertid oftast också korsvalidering i programmen. 5
5.2 Uppgifter Rekommendation: Räkna Problem 5.7. Genomför stegen ovan med upp till fem komponenter på det material som finns i Problem 5.1 utan korsvalidering med vektorn c som A1. Standardisera värdena med stickprovsstandardavvikelsen innan beräkningarna börjar. Bestäm förklaringsgraden R 2 för olika antal komponenter i modellen. I boken nämns inte de loading och score plots man ofta får ut i programmen, och det är här man ibland använder beteckningen c i ett annat sammanhang. I framställningen ovan framgår att man letar linjärkombinationer som på bästa sätt knyter ihop X och c. Ritar man in värdena för både X och c så får man en loading och scoreplot som visar vilka variabler i X som mest hänger ihop med c. För att förstå denna utskrift måste man dock veta vilken modell som används och därför sparas denna diskussion till avsnittet om PLS2. 6 MODDE Problemet med MODDE framgick redan i laboration 1, det finns inget enkelt sätt att lägga in observationer som man redan har i t.ex. ett excelark, men när man väl har lyckats med det så kan man göra PLS. Man börjar med att definiera respons (det som alltså Brereton kallas c eller C) ochfaktorer(x). När man skall göra PLS så upptäcker man att MODDE inte skiljer på PLS1 och PLS2 utan det är genomgående PLS2 som används. I datamaterialet skall man lägga variablerna i kolumnerna och observationerna i raderna, precis så som datamaterialen är upplagda i boken. 6.1 Inläsning av data och analys 1.LäsinvariablernaochanvändDesignWizardsåattdufårettworksheet i MODDE. (Strunta i hur designen ser ut bara du har alla variablerna i Worksheet.) 2. Spara dina data i en vanlig textfil ( tabseparerad ) och hämta in dem med Design och Investigation. Importera in detta i worksheet, och ta bort de tidigare observationerna som inte längre har någon funktion. (Det går också att klistra in siffrorna direkt i Worksheet och då kan man klistra över de värden som man inte längre vill ha.) 3. Tala om att du vill göra en PLS. 4. Välj rätt modell (utan samspel) i Edit Model/Reference Mixture... 5. Välj sedan Analysis och Fit(PLS). 6. Resultatet av modellanpassningen kommer upp i ett fönster. 7. Genom att välja bland menyerna kan man nu få ut figurer som visar resultatet, t.ex. scatter plots, loading plots, etc. 8. Man kan också få ut värden på koefficienter med hjälp av Plot/Lists. 9. Beskrivningar av MODDE:s olika menyer finns utlagda i datorsalarna. 6
7 PLS2 7.1 Förberedelse Läs avsnitt 5.5.2 (hoppa över avsnitt 5.5.3). MODDEskiljerintepåPLS1ochPLS2ochhärkanmansetvåolikamodeller. MODDE har en matris U i responsen enligt (med modifieringar så att beteckningarna överensstämmer och med antagandet att det är centrerade variabler) X = TP 0 + E C = UQ 0 + F där U = T + H kallas för den inre relationen, men vi använder inte den modellen utan tar den som finns i boken med T både i den första och andra ekvationen. Man gör återigen proceduren stegvis: 1. Börja med att hitta den kombination Xw som har störst kovarians med kombinationen Cv (det är v som i MODDE kallas c men för att undvika beteckningskollision så används här genomgående v). Hur detta görs beskrivs i bokens appendix. 2. När man har hittat dessa w och v så kan man alltså beräkna t 1 = Xw respektive u 1 = Cv, och därefter hitta de första kolumnerna i P och Q med hjälp av de vanliga formlerna för regression. 3. När man sedan går vidare i nästa steg så arbetar man med residualerna av X och C från det första steget. Då man använder t 1 i båda ekvationerna som i boken så får man första kolumnen i Q med skattningen enligt t 0 1 1 t 1 t 0 1 C = w 0 X 0 Xw 1 w 0 X 0 C. Den så kallade wc-plotten ritar upp de två första värdena på w och v isamma diagram och då kan man se vilka variabler i X och c som är mest beroende. Man kan också rita upp scores t 1 och u 1 mot varandra i ett diagram. Modellen bestäms ju så att dessa blir så beroende som möjligt, och därför skall denna plot visa upp observationer som är korrelerade med varandra. Om man ritar upp t i mot u i så kan man avgöra hur många komponenter som behövs genom att det inte finns något samband mellan t i och u i när man har tillräckligt många komponenter. 7.2 Uppgifter Låt MODDE göra en PLS på materialet i Problem 5.1 och jämför med det resultat du räknade fram ovan. (MODDE standardiserar alltså alla variablerna innan man börjar räkna.) Försök också att få ut så mycket information som möjligt ur materialet genom att rita figurer. Lös Problem 5.3 med hjälp av MODDE. Det viktiga är att utnyttja kunskaperna för att göra en bra analys av materialet, och mindre viktigt är att göra alla steg som finns i uppgiften. 7
8 Korsvalidering 8.1 Förberedelse Läs avsnitt 5.6 om olika sätt att validera modellerna. Korsvalidering har använts tidigare i samband med både PCA och diskriminantanalys och idén är hela tiden densamma. Validera modellen korsvis genom att ta bort en eller flera observationer åt gången och använd de återstående observationerna för att prediktera dessa observationer. Upprepa detta för alla observationerna. Det som i regressionsmodellerna kallades Q 2 är just den korsvaliderade varianten av R 2. 8.2 Uppgifter Återvänd till Problem 2.16 som löstes med hjälp av MODDE i laboration 1. Låt MODDE beräkna Q 2 och beräkna detta sedan för hand i Matlab med hjälp av korsvalidering som åstadkommes med en for-loop. Formeln för Q 2 är Q 2 =1 PRESS SS där PRESS är residualkvadratsumman för det korsvaliderade materialet och SS är den totalkvadratsumma (corrected) man får när man bara använder medelvärdet i modellen. Gör korsvalideringen för PLS i Problem 5.1 med hjälp av MODDE. Hur många komponenter är lämpligt att använda? 9 PLSDA Det finns något som i boken kallas SIMCA-modeller, och som där är något besvärligt beskrivna. Här ger vi bara ett exempel på den metod som kallas PLSDA, dvs. diskriminantanalys med hjälp av PLS, och denna modell kallas i boken för DPLS. 9.1 Förberedelse Läs avsnitt 4.5.4 PLSDA beskrivs alltså som en metod med PLS när man har gruppindelade data. Prova PLSDA på Problem 4.7. Lägg märke till att man rekommenderas att logaritmera observationerna före standardiseringen och att man säger att en observation är så konstig att den bör tas bort. Gör dock inte alla stegen i uppgiften, utan använd bara PLSDA på det datamaterial som finns i uppgiften genom att definiera en variabel c som är 0 om kålroten är färsk och 1 om kålroten är lagrad. Använd denna respons och PLS för att försöka klassindela kålrötterna. Kontrollera också hur de två extra kålrötterna klassificeras. Prova att lösa Problem 4.7 med vanlig diskriminantanalys. 8
10 Blandade problem Materialet som finns tillgängligt på hemsidan är konsumtion av protein i gram per person samt procent anställda inom olika industrigrenar. Analysera detta material på ett sätt som du finner lämpligt och försök också att hitta alternativa lösningar för att se eventuella skillnader. 9
10
Lunds universitet Lunds Tekniska Högskola Matematikcentrum Matematisk statistik FMS 210 / MAS 224 VT 2007 Laboranter (namn och grupp): Handledare: Utförd/Inlämnad: Godkänd: Redovisning av datorlaboration nr 3 Checklista Ja Nej 1. Är alla momenten i laborationen utförda? 2 2 2. Har rapporten blivit korrekturläst? Är språk- och skrivfel rättade? 2 2 3. Är figurer, tabeller och liknande försedda med figurtexter och tydlig numrering? 2 2 4. Har alla figurer storheter inskrivna på alla axlar? 2 2 5. Är de beräkningar som kan kontrollräknas kontrollräknade? 2 2 6. Har du gjort en rimlighetsbedömning av samtliga resultat? 2 2 7. Har eventuella orimliga resultat blivit vederbörligen kontrollerade och kommenterade? 2 2 8. Är den löpande texten väl strukturerad med tydliga avsnittsrubriker? 2 2 9. Är skriften försedd med: Sammanfattning? 2 2 Innehållsförteckning? 2 2 Referenslista? 2 2 Sidnumrering? 2 2 Datum? 2 2 10. Har förutsättningar, förenklingar och gjorda antaganden tydligt redovisats? 2 2 11. Är din rapport läsbar utan tillgång till laborationshandledningen? 2 2 12. Är detta försättsblad med checklista fullständigt ifyllt? 2 2