Lunds universitet Kemometri Lunds Tekniska Högskola FMS 210, 5p / MAS 234, 5p Matematikcentrum VT 2007 Matematisk statistik 14 januari 2007 Datorlaboration 1 1 Inledning I denna laboration behandlas Kapitel 2.1-2.5 i kursboken (Chemometrics av Brereton). Framställningen i boken är inte sammankopplad med det som behandlades i grundkursen (kompendiet Experimentell och industriell statistik 1 av Lennart Olbjer), och syftet är lite grann att samordna dessa två angreppssätt. Förutom det som finns i boken så innehåller laborationen också en del extra material om grunderna i variansanalys, ett ganska viktigt begrepp som inte behandlas så mycket i grundkursen. I slutet av laborationen finns dessutom en introduktion till programpaketet MODDE. Uppgifterna är hämtade från kursboken. De rekommenderade problem som finns angivna skall inte vara med i laborationsredogörelsen. 1.1 Förberedelse Läs snabbt igenom Kapitel 1 i Brereton så att du vet vad syftet med boken är. 1.2 Problem Lösningar till problemen finns i ett separat dokument. Dessa lösningar har sin grund i de lösningar som går att hitta på internet, men lösningar till några tal som inte ingår i tidsschemat är strukna och några lösningar är kompletterade. I denna laboration behandlas delar av Problem 2.1, Problem 2.6, Problem 2.11 och Problem 2.16. De övriga problem som finns angivna är tänkta som rekommendationer att studera på egen hand som en inledning på laborationen, men det kan bli svårt att hinna räkna alla de rekommenderade uppgifterna. På några av problemen i boken är avsnitten fel angivna så det är lämpligt att följa uppgifterna i den ordning som de finns angivna här i laborationen. 1.3 MATLABs statistiska verktygslåda, Statistics Toolbox Förutom de vanliga funktionerna i MATLAB finns diverse verktygslådor att komplettera med. En sådan, som är särskilt användbar i statistiska sammanhang, 1 De sidnummer som anges avser femte upplagan av kompendiet. 1
är Statistics Toolbox. Ge kommandot help stats, så får du en lista över de funktioner som ingår i denna verktygslåda. Använd sedan hjälpfunktionen help för att ta reda på in- och utparametrar m.m. Om du t.ex. skulle vara intresserad av funktionen finv, som finns i listan, får du veta mera genom kommandot help finv. Använd help-kommandot närhelst du befinner dig i nöd, det är mycket användbart! (Prova redan nu help help och help samt help lookfor, så att du kan utnyttja hjälpen när du behöver den.) Den funktion som mest kommer att användas i denna laboration är funktionen regress för att skatta parametrar i linjära regressionsmodeller. 2 Försöksplanering och frihetsgrader 2.1 Förberedelse Läs igenom avsnitt 2.1-2.2.1 i Brereton som introducerar begreppen försöksplanering och frihetsgrader. 2.2 Grundläggande problem Luft med varierande koncentrationer av koldioxid passerar över blad av vete (vid temperaturen 35 C) och man mäter upptaget av koldioxid i bladen. Upptaget (y) för 17 blad med olika koncentrationer i luften (x) blev som följer Koncentration (x) Upptag (y) 75 0.00 100 0.65 100 0.50 100 0.40 120 1.00 130 0.95 130 1.30 160 1.80 160 1.80 160 2.10 190 2.80 200 2.50 200 2.90 200 2.45 200 3.05 240 4.30 250 4.50 För att bestämma förhållandet anpassas en linjär modell enligt (med bokens beteckningar) y = b 0 + b 1 x. Bestäm parametrarna N, P, D och R i modellen och förklara vad dessa symboliserar. 2
Är det ett väl planerat försök och en bra modell utifrån de givna förutsättningarna eller skulle man ha kunnat göra på något annat sätt? (Här skall ni alltså bara argumentera och rita figurer, inte göra några beräkningar.) 3 Regressionsmodellen I kapitel 2 i kursboken har man en något annorlunda framställning av regression och variansanalys än vad man brukar ha i statistikböcker (här jämförs med Olbjer), och vi skall därför här till att börja med försöka förena dessa båda angreppssätt. En sak som skiljer framställningarna åt är att man i statistiken alltid har någon form av replikat för att kunna uppskatta försöksfelet. I de exempel som finns i boken är detta inte alltid uppfyllt, och man har istället så många parametrar att man får en perfekt anpassning. 3.1 Förberedelse Läs avsnitt 2.2.2-2.2.5 men hoppa över anvisningarna för hur man ritar normalfördelningspapper i avsnitt 2.2.4.5. (Det är också lite svårt att förstå varför man använder beteckningen I på sidan 26, det hade varit mycket lättare att läsa om man behållit N som beteckning för antalet observationer.) 3.2 Beteckningar I statistiken har man en regressionsmodell som tidigare har skrivits (Olbjer, s. 246) y i = β 0 + β 1 x 1i + β 2 x 2i + + β p x pi + ε i, i =1,...,n eller i matrisform enligt Y = Xβ + E, där Y är en vektor av storlek n 1, X är en matris av storlek n p, β är en vektor av storlek p 1 och E är en vektor av storlek n 1. MK-skattningen av vektorn β anges till β = X T X 1 X T Y förutsatt att X T X är inverterbar. Brereton använder beteckningen y = b 0 + b 1 x 1 + b 2 x 2 +... för regressionen och skiljer inte på parametern och skattat värde (detta påpekas också på sidan 34). Matrisen X motsvaras sedan av D i kursboken och därmed blir modellen här y = Db + E (D står förmodligen för design, men tyvärr användes ju också bokstaven D som en beteckning för frihetsgrader tidigare i kapitlet.) 3
Om man nu har en situation med lika många observationer som parametrar så blir matrisen D en kvadratisk matris, och om D 0 D är inverterbar (det är den om D är inverterbar eftersom rangen för D och rangen för D 0 D är densamma) så förenklas skattningen av b till att bli b = D 1 y 3.3 Regression Rekommendation: Räkna Problem 2.6. Lös Problem 2.1, del 1. Beräkna D 1 och (D 0 D) 1 D 0 iproblem2.1,del1,medhjälpavmatlaboch förvissa dig om att de i detta fallet är lika. Vad är det som gör att dessa båda är lika? Det finns alltså två alternativ till lösning av del 2 i uppgiften, att beräkna b = D 1 y eller att beräkna b = D 0 D 1 D0 y. Man kan också använda den inbyggda regressionsfunktionen i Matlab för att beräkna skattningen genom att läsa in y och D imatlabochskriva >> regress(y,d) Gör detta för att konstatera att alla tre metoderna ger samma resultat 2. När man har skattat parametrarna kan man också beräkna de förväntade värdena enligt by = D b b och residualerna y by. I detta fallet blir residualen y by = y DD 1 y =0, och det är just detta som är det statistiska problemet; man har ingen möjlighet att skatta slumpfelet eftersom det är en perfekt anpassning till modellen. Residualerna får man ur regressionskommandot som variabeln R om man skriver >> [b,bint,r] = regress(y,d) Beräkna residualerna i Problem 2.1 med hjälp av regress för att förvissa dig om att anpassningen i detta fall är perfekt. Lös Problem 2.1, del 3. Vad kan ni se för fördelar/nackdelar med att använda kodade variabler? 2 Tittar man i källkoden till programmet så framgår det att man löser problemet genom att göra en så kallad QR-uppdelning av matrisen D. 4
3.4 Test av modeller För att ge exempel på replikat och sambandet mellan regression och variansanalys så tittar vi på datamaterialet med upptaget av koldioxid på bladen av vete tidigare i laborationen. Detta är ett datamaterial med mer än en observationer för några x-värden, och därmed finns det en upprepning. Det finns också bara en oberoende variabel (koldioxidkoncentration) och för att få en större designmatris kan man därför inte bilda samspel mellan olika variabler för att utöka antalet parametrar utan är istället hänvisad till att t ex använda polynomregression. För datamaterialet kan man tänka sig ett antal olika modeller: 1. Upptaget är i medeltal b 0 oberoende av koldioxidkoncentrationen: y i = b 0 + ε i, i =1,...,17 med 1 parameter. (Detta är en ganska orealistisk modell i det här fallet.) 2. Upptaget ändras linjärt med koldioxidkoncentrationen och linjen går genom origo. Detta ger modellen y i = b 1 x i + ε i, i =1,...,17 med 1 parameter. 3. Upptaget ändras linjärt med koldioxidkoncentrationen enligt modellen y i = b 0 + b 1 x i + ε i, i =1,...,17 med 2 parametrar. 4. Upptagets förhållande till koldioxidkoncentrationen ges av en modell för ensidig 3 variansanalys (ANOVA = ANalysis Of VAriance) där upptaget är olika för olika värden på koldioxidkoncentrationerna, men det går inte att hitta någon enkel funktion som binder ihop koldioxidkoncentrationen med upptaget. För att beskriva modellen behövs två index på responsen enligt y ij = µ i + ε ij, i =1,...,9 där j i detta fallet går från 1 till 4 beroende på vilken koncentration man studerar. Detta blir en en modell med 9 parametrar, en för varje nivå på kolioxidhalterna. Ivarochenavmodellernakanmanskattaparametrarnasamtberäknadet förväntade värdena by och residualerna y by. Den så kallade residualkvadratsumman (y by) 0 (y by) anger sedan hur bra modellen är. Givetvis blir modellen bättre om man gör den större, och därför finns här en naturlig utveckling av modellerna. Eftersom det finns två olika modeller med 1 parameter finns det två vägar att gå, antingen Modell 1 Modell 3 Modell 4 3 Kallas ibland också envägs variansanalys. 5
eller Modell 2 Modell 3 Modell 4 Ange designmatrisen D i de fyra olika modellerna ovan. Beräkna residualkvadratsummorna för de fyra olika modellerna med hjälp av Matlab. Ange också hur många frihetsgrader (dvs. N, P, D och R) det finns i varje modell. För att beräkna residualkvadratsumman i modell 4 är det lättast att använda kommandot >> anova1(y,x) men regress fungerar också med en lämpligt definierad designmatris. Kommandot anova1 ger dock också en så kallad variansanalystabell. Ett alternativt sätt att skriva Modell 4 som man ofta ser i litteraturen är y ij = µ + α i + ε ij, i =1,...,9 och detta sätt att skriva modellen har fördelen att lättare kunna generaliseras till fallet att man studerar fler faktorer än koldioxidhalten. Försök att skriva upp designmatrisen D för denna modell och använd Matlab för att konstatera att inversen till D 0 D inte existerar. Vad har det för effekt på parameterskattningarna? Hur kan man se på matrisen D 0 D att den inte går att invertera? 3.5 Lack-of-fit ochvariansanalys För att undersöka om modell 3 med regression är tillräckligt bra jämför man den med modell 4, som är den största möjliga modellen, med hjälp av ett lack-of-fittest. När man jämför en liten modell mot en större kan man beräkna F -värdet (Reskvs = Residualkvadratsumma) (Reskvs för liten modell - Reskvs för stor modell) / (skillnad i antal parametrar). (Reskvsförstormodell)/(frihetsgrader i stor modell) Det F -värde man får fram jämförs sedan med kvantilen i en F -fördelning med parametrarna skillnad i antal parametrar respektive frihetsgrader i stor modell. Detta så kallade kritiska värde kan man få fram i Matlab genom kommandot finv. För att få fram det så kallade p-värdet i Matlab kan man använda kommandot fcdf. Rekommendation: RäknaProblem2.9ochProblem2.7. Beräkna F -värdet för jämförelsen av modell 3 och 4. Är en linjär regression en bra beskrivning av modellen? Försök att beskriva vad detta så kallade lack-of-fit-test egentligen går ut på. Beräkna F -värdet för att kunna jämföra av modell 1 och 3. Vad är det man testar i detta fall? 6
(Motsvarande t-värde som anges i Olbjer (s. 217) är t = β 1 s/ S xx som jämförs med en t-fördelning med n 2 frihetsgrader.) Ensidig (eller envägs) variansanalys går i detta fallet ut på att jämföra två modeller: H 0 : ingen skillnad i upptag för de olika kolidoxidkoncentrationerna H 1 : skillnad i upptag för de olika koldioxidkoncentrationerna Om nollhypotesen är sann så är totalmedelvärdet av alla observationerna den bästa gissningen av det förväntade värdet på upptaget oberoende av vilken koldioxidkoncentration man har. Eftersom det är dubbla index i modell 4 kan man använda detta också i modell 1 och säga att b 0 =ȳ och residualkvadratsumman blir X X (y ij ȳ ) 2. i j Om man däremot anser att mothypotesen är sann så blir den bästa gissningen av det förväntade värdet av upptaget medelvärdet för de observationer som har denna koldioxidkoncentration, och man får därmed (det är denna residualkvadratsumma som kallas S rep iboken), X X (y ij ȳ i ) 2. i j För att få ordning på detta och se om reduktionen i residualkvadratsumman är tillräckligt stor för att förkasta modellen H 0 sätter man upp dessa värden i en variansanalystabell som leder till att man till höger i tabellen får fram det intressanta F -värdet (och även p-värdet om man har en dator). Om det bara är slumpen som har påverkat skillnaden i upptag mellan de olika koldioxidkoncentrationerna så borde F -värdet bli 1, men om det är en skillnad så bör detta värde bli betydligt större än 1. Om de ursprungliga observationerna var normalfördelade så kommer F -värdet att följa en F -fördelning om nollhypotesen är sann. Jämförelsen mellan modell 1 och 4 är en ensidig variansanalys och detta resultat kan man också få fram genom att använda kommandot anova1,då man också får en så kallad variansanalystabell. Skriv ut variansanalystabellen och beskriv vad de olika värdena i tabellen anger. Förvissa dig också om hur det F -värde som angavs tidigare byggs upp med hjälp av variansanalystabellen. Jämförelsen mellan modell 3 och 4 med hjälp av lack-of-fit går givetvis att utöka till fallet att modell 3 har mer än två parametrar, om man t.ex. har modellen y i = b 0 + b 1 x 1i + b 2 x 2i + ε i så blir beräkningarna analoga och man testar om b 1 och b 2 är tillräckliga för att beskriva modellen. 7
3.6 Normalfördelningspapper I grundkursen i statistik används normalfördelningsdiagram för att avgöra om ett stickprov kan sägas komma från en normalfördelning. Beskriv kort hur detta går till. Om man inte har några replikat kan man inte göra några statistiska tester, däremot anger man en metod i boken för att se vilka parametrar som är signifikanta. Man ritar helt enkelt upp parameterskattningarna i ett normalfördelningspapper och säger att de parametervärden som inte ligger längs en rät linje (dock inte den linje som Matlab ritar ut!) är de som är signifikant skilda från 0. Lägg speciellt märke till att det skall vara kodade variabler för att metoden skall fungera. Detta fungerar eftersom skattningarna är väntevärdesriktiga och att skattningen b i har en varians som ges av det i:te diagonalelementet i matrisen σ 2 (D 0 D) 1 (seolbjer).ävenomintevariansenσ 2 är känd eller ens går att skatta så kan man alltså konstatera att metoden med normalfördelningspapper fungerar för de parametrar som har samma värde på diagonalelementet om inte beroendet mellan parameterskattningarna är för stort. Gör en normalfördelningsplot för parameterskattningarna i Problem 2.6 med hjälp av Matlab(kommandot heter normplot). Lägg märke till att skalan i normplot är i sannolikhet och inte i standardavvikelser som man har i boken, men punkternas inbördes förhållande förändras inte av detta. Beräkna också matrisen (D 0 D) 1 och förklara vad det är för egenskaper hos denna som gör att metoden fungerar. Vad händer om variablerna inte är kodade? 3.7 Hattmatrisen I Brereton används hattmatrisen H = D (D 0 D) 1 D 0 för att hitta punkter som ger säkra prediktioner. Det framgår däremot inte i övrigt vilka trevliga egenskaper matrisen H har. Namnet kommer av att matrisen H sätter hatt på observationerna eftersom by = Hy och residualen kan då skrivas y by = y Hy =(I H) y. Försök att visa att by = Hy samt att det för residualkvadratsumman gäller att (y by) 0 (y by) =y 0 (I H)y. Eftersom leverage i ordboken översätts med hävstång, inflytande eller makt, så är det svårt att förstå varför avsnittet har denna rubrik. Det beror på att man 8
också kan använda diagonalelementen i hattmatrisen H till att tala om hur stort inflytande en enskild observation har på skattningarna. Hattmatrisens diagonalelement anger helt enkelt om skattningarna påverkas mycket om man tar bort den aktuella observationen då man gör skattningarna. Om diagonalelementet är nära 1 så har den observationen stor betydelse på skattningarna, om det är nära 0 så påverkar den observationen inte skattningarna lika mycket. Gå tillbaka till Modell 3 med linjär regression i datamaterial med koldioxidkoncentrationer. Beräkna matrisen H för denna designmatris. Ta bort en av de observationer som har störst värde på diagonalelementet i H och skatta parametrarna i detta nya datamaterial. Ta sedan bort en av de observationer som har minst värde på diagonalelementet i H och skatta parametrarna i detta nya datamaterial. Stämmer idén med punkternas inflytande? Försök att illustrera med en figur. 4 Introduktion till MODDE 4.1 Förberedelse Läs avsnitt 2.3 och 2.4 (2.3.3 och 2.3.4 ganska ytligt). 4.2 Inledning Här skall vi framförallt se hur MODDE fungerar med avseende på försöksplanering och grafiska illustrationer. De grafiska illustrationerna skall förhoppningsvis ge ökad förståelse för beräkningarna i de tidigare delarna av laborationen. Det problem som först behandlas är Problem 2.16 och senare Problem 2.11. Tanken är också att du genom att leka lite med programmet inser hur saker och ting hänger ihop, så följ inte beskrivningarna nedan alltför slaviskt, ta gärna en omväg. I den User s guide 4 som finns står ju också med stora bokstäver uppmaningen Play around, Enjoy!. Starta programmet MODDE 7. Välj New Investigation och mata in ett namn på datamaterialet. MODDE är nu självinstruerande om man gör det i den ordning som anges i guiden. Dubbelklicka på Name i faktorfönstret och fyll i de faktorer som skall varieras. Välj att faktorerna är Quantitative, vilket innebär att de är på två nivåer men att de inte är klassindelade. De faktorer som skall läsas in är (från Problem 2.16) 1. Power: 30 och 60 percent 2. Time: 20 och 30 sekunder 3. Cycles: 5 och 7 Gå sedan vidare genom att fylla i respons (percent recovery) genom att klicka på samma sätt i responsfönstret. Modde arbetar stegvis och därför skall man först få en försöksplan innan man läser in värdena. Tanken är alltså här att man först 4 På Umetrics hemsida på internet (http://www.umetrics.com/) kan man hitta både en Tutorial to MODDE och en Users Guide to MODDE. Dessa kommer att läggas ut i datorsalarna och kommer förhoppningsvis att få ligga kvar där under kursen. 9
gör sin plan över vilka faktorer man skall använda, ber programmet att göra en försöksplan, och sedan ur programmet får ut i vilken ordning försöken skall utföras. I detta fallet har vi ju dock redan värdena på responsen, men vi låtsas att de inte finns uppmätta ännu. 4.3 Försöksplanering med MODDE För att nu få en design som går att använda trycker man sig vidare i guiden och väljer Response Surface Modelling (RSM). Genom att ha valt RSM så tänker man sig att anpassa en kvadratisk modell, men i ett 3 3 -försök har man ju 27 observationer, så det måste reduceras på något sätt. Välj CCF som modell och 6 stycken "centerpoints". Skriv ned den ordning på försöken som programmet rekommenderar dig. Programmet rekommenderar alltså i vilken ordning försöken skall göras, men vi gör inte försöket utan använder de värden som finns i Problem 2.16. 4.4 Modellering med MODDE Mata in de uppmätta värdena på responsen. Bygg en modell för systemet genom att välja menyn Analysis och Fit (MLR). Gör en så bra analys som möjligt av hela materialet för att försöka hitta optimala betingelser för responsen. Försök speciellt att få ut ganska många figurer från MODDE som talar om hur bra modellen passar, var de optimala betingelserna är, etc. Var inte rädd för att ta med figurer som du inte helt förstår, men förklara då vad som är oklart! Gör motsvarande beräkningar i Matlab för att få fram parameterskattningarna och R 2. Stämmer beräkningarna överens? 5 Mixed designs 5.1 Förberedelse Läs avsnitt 2.5. 5.2 Tolkning av triangeln Avsnittet om mixed designs handlar i huvudsak om hur man lägger ut designpunkterna över de möjliga värden som man kan ha. Vid första anblicken kan det kanske vara svårt att förstå hur triangeln som symboliserar blandningen skall tolkas, och därför används Problem 2.11 som ett exempel på detta. Lägg också märke till att om man har förstått hur triangeln fungerar så är det mycket enkelt att rita ut begränsningarna istället för att räkna ut dem. Rekommendation: Räkna Problem 2.13. Om man utgår från Figur 2.31 i boken och för enkelhets skull antar att triangeln (och inte kuben) har höjden 1, men byter plats på punkterna (så som man har angivit triangeln i lösningarna till uppgifterna) så att punkten B motsvarar origo, punkten C är 2/ 3, 0 och punkten A är 1/ 3, 1. Med hjälp av avståndsformeln 10
kan man sedan beräkna att punkten (x, y) (under förutsättningen att den ligger inne i triangeln) motsvarar blandningen y av faktor A 2 3x y av faktor B 2 3x y av faktor C 2 Det som nu karakteriserar punkterna inne i triangeln är att alla dessa tre värden är positiva. I Problem 2.11 begränsar man sedan genom att ange en övre och undre gräns för varje komponent, och använder nya variabler z 1, z 2 och z 3 för att ange designpunkterna. När man sedan skattar parametrar går man emellertid tillbaka till de ursprungliga värdena. 5.3 Beräkningar Om man gör beräkningen i Modde så får man en contourplot automatiskt, men det kan ibland tyckas lite ologiskt att använda hela försöksplaneringssteget när man redan har samlat in sina värden. Öppna en ny investigation i Modde och läs in de tre faktorna och deras min och max (0 resp 1). Ange att de är av typen formulation. Kryssa rutan Place constraints on the experimental region och ange i nästa steg begränsningarna. Läs också in namnet på responsen. Välj sedan select the objective till RSM och klicka dig ganska godtyckligt vidare så att du får några värden i Worksheet. Ersätt värdena i Worksheet med de x-värden och responser som gäller för problemet. Välj Analysis och Select Fit Method och sedan Scheffé MLR(för att se vad som menas med Scheffés modell i motsats till Cox modell, se boken). Välj Edit och Model för att läsa in den modell som du skall använda. Gör nu analysen och plocka ut de olika resultaten i de olika menyerna. Gör en contourplot (under menyn prediction) och försök att se om det värde som anges i del 4 av problemet verkar vara minimum för konduktiviteten. Rekommendation: Räkna Problem 2.15 som behandlar fallet med fyra faktorer. Då måste man fixera en av dem när man ritar sin contourplot. 11
12
Lunds universitet Lunds Tekniska Högskola Matematikcentrum Matematisk statistik FMS 210 / MAS 234 VT 2007 Laboranter (namn och grupp): Handledare: Utförd/Inlämnad: Godkänd: Redovisning av datorlaboration nr 1 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 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