Kort oversikt: VISUALISING MULTI-WAY SENSORY DATA Dette er en kort oversikt og introduksjon til masteroppgave som utføres på Universitet i Oslo, under forskningsgruppen Simulering og Visualisering, for oppdragsgiver Matforsk AS. Hovedarbeidet vil være i perioden januar 2007 mai 2008. Hovedpunkter for hva oppgaven går ut på er: Analyse av 3-veis data fra beskrivende sensorikk ved bruk av nye multivariate statistiske metoder. Visualisering av resultater fra analyseberegningene. Analyse og testing av implementert metode. Av Henning Risvik, UIO, november 2006 1
1 - Introduksjon Følgende punkter (1.1 1.4) skal gi informasjon rundt og om oppgaven. Du vil få bakgrunn for interessen og hvorfor programmet utvikles og dets metoder og muligheter. * betyr henvisning til ordliste. [n] betyr referanse til dokument nummer n i litteraturliste. 1.1 - Matforsk Matforsk AS ble etablert i 1970 og har i dag 160 ansatte. Matforsks spisskompetanse innen FoU-virksomhet er knyttet til problemstillinger i forbindelse med matkvalitet, fra definering av kvalitetsegenskaper i produkt og råvare, til måling og styring av kvalitets parametere gjennom prosess og lagring. På utvalgte områder skal Matforsk ligge i den internasjonale forskningsfronten, samtidig som instituttet skal bidra til at kunnskap og resultater som bygges opp gjennom forskningen, blir overført til - og tatt i bruk av - næringsmiddelindustrien. God markedsorientering er en forutsetning både for å velge strategisk riktige forskningsområder, og for å overføre kompetansen slik at industrien kan ha nytte av den. 1.2 - Sensorikk Med sensorisk analyse menes, noe som har med sanseoppfattelsen å gjøre, menneskers beskrivelse av produktenes utseende, lukt, smak og tekstur. Det er forskjellige måter å utføre en sensorisk analyse på, her er to typer som begge benyttes på Matforsk [1]: Beskrivende test, som brukes for å beskrive hvilke egenskaper som danner den totale oppfattelsen av produktet og egenskapenes intensitet. Dette kan være interessant i forbindelse med produktutvikling, studier av produksjonsendringer, definering av standardprodukt og sammenlikning av eget produkt mot 2
konkurrerende produkt. Ofte benyttes beskrivende tester når en på forhånd vet at det er tydelige produktforskjeller. Disse forskjellene blir beskrevet ved hjelp av utseende, lukt-, smak- og teksturegenskaper. Forskjellstest gir svar på om det er sensorisk forskjell mellom to eller flere produkter. Ofte er det aktuelt å bruke forskjellstester når det er små sensoriske forskjeller mellom produktene. På Matforsk er forskjellstester er raske å utføre og har en enkel statistisk resultatbehandling. 1.3 - Sensoriske Data De sensoriske dataene på Matforsk avgis av et panel. Et sensorisk panel består som regel av 4 12 individer, som utfører sensorisk bedømmelse. Her kan de bedømme forskjellige produkter, alt fra matvarer, parfyme, høyttalere osv. Så velges ut noen viktige egenskaper på disse produktene som skal avgis scoreverdi på. Dette er en meget viktig og effektiv måte å kontrollere produkter på, fordi det er mennesker som bedømmer og produktene er laget for mennesker. Bedømmelser av sensoriske panel lar seg ofte ikke gjennomføre ved bruk av bare måleinstrumenter. Dommerne / panelmedlemmene avgir scoreverdier innenfor en gitt skala for hver egenskap til hvert produkt som testes (hos Matforsk settes scoreverdiene innenfor en skala fra 1 9). Etter avsluttet forsøk foreligger det en mengde data som inneholder all informasjon som ble avgitt av dommerne. Disse resultatene kan visualiseres og skal kunne tolkes, noe som PanelCheck er et verktøy for. 3
Her er et enkelt eksempel på sensorisk 3-veis data: figur 1.3.1 (en øltest, scoreverdier er slumptall) Innholdet i skivene (tabellene) er scoreverdier, for det som en dommer har avgitt for hvert attributt. Hver skive inneholder resultater for en dommers scoreverdier på alle attributter for alle prøver. 1.4 - PanelCheck PanelCheck er et Open-Source* program under GNU General Public License [2]. Kildekoden kan lastes ned av alle og modifiseres. Programmet er foreløpig bare laget for Windows operativsystemer (utestet på Unix og Mac maskiner), men koden og de fleste pakker som brukes i programmet er plattformuavhengige. Det er et program for analyse av de sensoriske dataene. Det kan kontrollere det sensoriske panelet samspilt og kan sees på som et program for kalibrering av måleinstrumentet, som er det sensoriske panelet. PanelCheck er laget for å kunne utføre effektiv analysering. Dvs. at man blant annet skal raskt kunne plotte grafer og raskt kunne lese av disse plottene. Plottene er visualiseringer av forskjellige statiske metoder. Det er også meningen at man skal kunne lese av plottene uten dypere statistiske kunnskaper. Metodene er statistiske analyser på de sensoriske dataene. 4
I dag finnes de følgende plotter i PanelCheck: Line Plot Viser data for én prøve. Gjennomsnitt og scoreverdier for valgte dommere og valgte attributter. På dette plottet kan man lett lese av om en dommer ligger nært eller ikke panelets gjennomsnitt for et attributt. Man kan også se om det er mye spredning i panelet for et attributt for valgt prøve. Correlation Plot Plottet viser data for ett attributt for hvert plott. Gjennomsnittscoreverdi (av gjentakene) for én dommer for hver prøve plottes mot panelets gjennomsnitt. Eggshell Plot Det vises ett attributt i plottet. På dette plottet vises hvordan hver dommer rangerer alle testede prøver i forhold til konsensusen*. Det er en linje for hver dommer og jo nærmere denne er konsensuslinjen (tykk linje i bunnen) jo bedre samtykker denne dommeren med konsensusen. Prøvene er rangert etter konsensus, fra venstre med lavest intensitet til høyre med høyest intensitet. Navnet sier noe om hvordan plottene vil se ut, som kan sees fra screenshots på prosjektwebsiden [3], derfor navnet Eggshell. F Plot F-verdiene som plottes her er et mål for hvordan en dommer skiller mellom prøver (jo høyere jo bedre). F-verdiene er beregnet med enveis ANOVA* for hver dommer. En vertikal linje angir F-verdien for en spesifikk dommer og et spesifikt attributt. MSE Plot En MSE-verdi (MSE = Mean Square Error) indikerer dommernes evne til å gi presise gjentak for hver prøve. Her gjelder: jo lavere verdi desto bedre. En vertikal linje angir MSE-verdien for en spesifikk dommer og et spesifikt attributt. p-mse Plot Her plottes p- og MSE-verdier fra en enveis ANOVA for hver dommer mot hverandre. I plottet er p-verdien vertikalt økende oppover mens MSE-verdien er horisontalt økende til høyre. Ett punkt i plottet står for ett attributt av en dommer. p-verdiene er et mål for en dommers evne til å skille mellom prøver mens MSE-verdien er et mål for repeterbarhet til en dommer. Det er ønskelig at flest mulig punkter er nær origo. Tucker-1 Plot Plottene er basert på multivariat statistisk analyse, dvs. analyse av flere attributter samtidig. Alle de foregående plottypene er basert 5
på univariat analyse. Punktene viser alle valgte attributter til en dommer. Om det er mye støy i dataene for et attributt (lite forklart varians) vil et punkt ligge nært midten. Jo lenger ut mot den ytre ellipsen et punkt ligger jo mer informasjon (høy forklart varians) inneholder dataene fra dette attributtet i forhold hvordan prøvene ligger. Ved den ytre ellipsen er det 100% forklart varians og 50% på den indre ellipsen. Plottene gir hver for seg viktige informasjon om datasettet og kan til sammen gi en god oversikt om en dommer eller panelet som helhet fungerer godt eller ikke. Men programmet skal også utvides med flere metoder som kan gi videre informasjon som ikke gis av de plott som er implementert i dag. Programmet brukes i dag på flere bedrifter og institutter rundt om i Norge og internasjonalt. Folk forventer seg selvfølgelig resultater uten feil i beregninger og at programmet skal fungere stabilt og raskt. Derfor er det viktig med en god underliggende motor. PanelCheck er bygget på programmeringsspråket Python. Det er et scriptspråk som er objektorientert og som er basert på programmeringsspråket C. Python kan sammenlignes med andre scriptspråk som Tcl eller Perl. For en som behersker minst et programmeringsspråk vil generelt Python kode være lett forståelig. Noen vil også si at språket er så og si pseudokode. Det er lett å sette seg inn i, raskt å bruke og har lettleselig kode i forhold til mange andre språk. Det er også lett å sette seg inn i gammel kode man har skrevet. Språket er en robust og pålitelig motor for dine scriptprogrammer. Dette er noen av grunnene til at Python har blitt valgt som språk for PanelCheck. Andre verktøy som brukes i PanelCheck er basert på Python. Følgende tilleggspakker er de som i dag brukes i PanelCheck: Numpy Grunnleggende pakke for Scientific Computing med Python. Den innholder, blant annet, en kraftig array type som egner seg godt for å utføre kalkulasjon og iterering på. Pakken inneholder også en mengde matematiske funksjoner. Scipy Er en pakke laget for å brukes med Numpy og Numpy sin array type. Med enda flere numeriske funksjoner, blant annet innenfor optimalisering. Matplotlib Et objekt orientert 2d plottebibliotek, men man kan også bruke et matlab lignende grensesnitt med dette biblioteket. 6
wxpython En GUI verktøypakke for Python skrevet i C++, laget for flere plattformer. PanelCheck er et prosjekt som pågår hos Matforsk. Dette prosjektet mottar midler fra Norges forskningsråd. Mens samarbeidspartnere fra industrien bidrar med egeninnsats i form av timer. Utviklingen foregår også i samarbeid med danske forskningsinstitutter innenfor området (KVL og DTU) og samarbeidspartnere i industrien i Danmark. Matforsk gir programmet ut gratis for å nå flest mulig brukere eller potensielle kunder nasjonalt og internasjonalt. På denne måten får Matforsk muligheten til å markedsføre sin kompetanse verden rundt. På kort sikt ønsker Matforsk å tjene penger ved å gi kurs for opplæring og effektiv bruk av PanelCheck. På lang sikt ønsker Matforsk å etablere seg enda sterkere som et internasjonalt ledende miljø for sensorikk og statistikk. 7
2 Ordliste ANOVA Konsensus Open-Source PCA Kort for: ANalysis Of VAriance between groups Overenstemmelse, samstemmighet Åpen kildekode, fritt for alle å lese og å modifisere. Kort for: Principal Component Analysis: forsøk på å finne et mindre sett av syntetiske variabler som forklarer det originale settet. 3 Litteraturliste [1] - http://www.matforsk.no/web/wtjen.nsf/webtitlern/sensoriske_analyser [2] - GNU General Public License, v. 2, juni 1991, http://www.gnu.org/copyleft/gpl.html [3] - http://www.matforsk.no/panelcheck 8