Design av samverkande system, 5p (1/5) Simon Westerberg ([email protected]) David Södermark ([email protected]) Data Mining Data mining handlar om att med automatiska metoder få fram information ur stora datamassor. Det kan handla om att hitta relevant information i stora och komplexa databaser, eller att hitta mönster som kan vara till hjälp för att förutsäga hur framtida data kommer att se ut. Begreppet data mining omfattar en stor mängd olika metoder för att analysera data. Det är ett brokigt område som saknar någon allmänt accepterad uppdelning av områden och metoder/tekniker. I princip så har varje författare inom området konstruerat sin egen uppdelning. Därför har även vi gjort en uppdelning av området så som vi uppfattar det. Vi delar in data mining i de större delområdena description och prediction. Description handlar om att beskriva och visualisera data på olika sätt, medan prediction handlar om att utifrån givna data förutsäga beteendet hos framtida data. Ytterligare två områden som har nära anknytning till data mining kan sägas vara Data warehousing och Information Retrieval. En översiktsbild av vår indelning av data mining visas i figur 1. Figur 1: Översikt över data mining med dess delområden. Nedan beskrivs de delområden som ingår i data mining mer ingående, liksom metoder och tekniker för description och prediction. Därefter kommer kopplingen mellan data mining och samverkande system att belysas och på vilket sätt data mining är aktuellt i de design-projekt som vi har utfört (Lemmings och En miljon åsikter). Description: En av de två centrala delarna av data mining är description. Inom detta område har olika metoder och tekniker utvecklats för att beskriva data. Existerande data beskrivs logiskt och visuellt för att få en uppfattning om dess tillstånd. Nedan beskrivs några av dessa metoder och tekniker. Exploratory Data Analysis Exploratory Data Analysis (EDA) har som mål att visualisera och sammanfatta data. Detta görs med hjälp av statistiska grafiska metoder, t.ex. diagram och sannolikhetsfördelningar. Förutom statistiken innehåller EDA metoder för att tolka resultat och utveckla hypoteser. Klustring Klustring handlar om att dela in en datamängd i delmängder (kluster) så att data inom en delmängd liknar varandra. Data kan klustras på många olika sätt, beroende på vilken modell som passar bäst för en viss datamängd. Indelningen kan göras hierarkiskt, där varje kluster i sin tur kan vara uppdelat i delkluster och därmed bilda en trädstruktur, eller icke-hierarkiskt Design av samverkande system, 5p (2/5) Simon Westerberg ([email protected]) David Södermark ([email protected]) där det bara finns en nivå av kluster. Oftast görs klustringen så att varje element i datamängden endast tillhör ett kluster, men det är också möjligt att tillåta element att tillhöra flera kluster, eller att använda ''fuzzy''-mängder för att ge varje element ett värde mellan 0 och 1 som anger hur mycket elementet tillhör en kategori. När man har valt vilken modell man vill ha för att dela in sin datamängd, så sköts uppdelningen automatiskt. Man har ingen mall för hur data ska delas in, utan detta sköts av processen. Däremot krävs det för vissa klustringsmetoder att man i förväg bestämmar hur många kluster man vill ha. Den vanligaste och mest grundläggande klustringsmetoden är K-means. Först väljs centerpunkterna för K kluster, där K är ett användar-definierat tal som bestämmer antalet kluster. Därefter tilldelas varje element i datamängden det kluster, vars centerpunkt är närmast. Centerpunkten för varje kluster räknas sedan om till att vara medelvärdet av ceneterpunkterna för alla element i klustret. Detta upprepas tills inga fler förändringar sker. Association Rules Association rules används för att visa sambandet mellan olika data items. Om X och Y är mängder (itemsets) innehållande några av de data items som en databas innehåller och X Y = , så är en association rule en implikation på formen X Y. Denna implikation innebär inte nödvändigtvis att det råder ett kausalt samband mellan X och Y. Oftast är det någon annan typ av samband. För en matvarubutik kan det t.ex. gälla att X = {bröd} och Y = {smör}. Då kan X Y i det fallet betyda att många kunder köper smör då de köper bröd, inte att det finns en logisk implikation att om en kund köper bröd, så köper kunden "automatiskt" även smör. För att bedöma hur viktig en association rule är, så används support och confidence. Support för en association rule är hur stor procent av transaktionerna i databasen som innehåller både X och Y. En transaktion är en delmängd av databasens alla data items. För en matvarubutik kan en transaktion t.ex. vara ett itemset med alla varor en kund köpt vid ett köptillfälle.. Confidence (eller strength) för en association rule anger hur ofta X och Y förekommer relativt hur ofta X förekommer i databasen. Prediction: Det andra stora delområdet inom data mining vid sidan av description är prediction. Här försöker man med olika metoder och tekniker bygga modeller som förutsäger hur data kommer att bete sig i framtiden. Några av dessa metoder och tekniker beskrivs nedan. Classification Classification är processen att klassificera ny data för att därmed kunna förutsäga dess beteende eller egenskaper. Klassificeringen görs enligt en indelning baserad på tidigare data. Denna indelning kan vara användarspecificerad eller göras med någon inlärningsalgoritm som utifrån en träningsmängd av tidigare data skapar en modell över hur klassificeringen ska göras. Inlärningsalgoritmenna kan till exempel resultera i neurala nätverk, som vid klassificeringen tar ett nytt data-element som indata och utifrån modellen beräknar och returnerar hur detta element bör klassificeras. En av de vanligaste klassificeringsmetoderna är beslutsträd (Decision trees). I dessa representerar varje nod i trädet en av variablerna i datamängden och varje möjligt svar Design av samverkande system, 5p (3/5) Simon Westerberg ([email protected]) David Södermark ([email protected]) leder till en nod på nästa nivå. Lövnoderna i trädet motsvarar de olika klasserna. Klassificeringen sker genom att variablerna hos exempel-elementet jämförs med variablerna i varje nod i trädet, och vägen genom trädet leder till den lövnod som bestämmer elementets klass. Andra vanliga klassificeringsmetoder är regelbaserad klassificering och Bayesisk klassificering. Regression Regression letar efter en ekvation som kan fungera som modell för datamängden, så att en av variablerna beskrivs som en kombination av värdet hos andra variabler. Vanligtvis används linjär regression, så att denna kombination uttrycks som en linjär ekvation enligt X = a·Y + b·Z + c·W + ..., men även andra icke-linjära funktioner kan användas. Variablerna a, b, c, ... beräknas så att felet jämfört med observerade data minimeras. Detta fel kan till exempel beräknas med hjälp av minsta kvadrat-metoden. Temporal mining De flesta databaser innehåller endast information som är aktuell just nu. Om någon information ändras, t.ex. en anställds lön, så skrivs den gamla lönen över med den nya. För att kunna upptäcka trender och förutsäga hur framtida data kan komma att bete sig, så kan man låta även inaktuella data finnas kvar i databasen tillsammans med en indikering om när denna data var aktuell. Databaser där tiden är en dimension kallas temporala databaser. Det finns olika sätt att hantera tidsbestämda data. Ett vanligt sätt är att för varje post i databasen lagra start- och sluttid för när postens data var aktuell. Vissa data beskriver inte saker som pågår under ett visst tidsintervall, utan snarare inträffar vid en viss tidpunkt. Då kan man använda en tidsstämpel för precis den tidpunkten istället för ett tidsintervall. En time series (tidsserie) är en mängd attribut-värden under en tidsperiod. Typiska data mining-applikationer för tidsserier är att bestämma hur lika två olika tidsserier är och att förutsäga framtida attribut-värden givet en tidsserie med kända värden. Förutsägelsen av framtida attribut-värden är en typ av klassificering medan likhetsbestämningen kan vara antingen klustring eller klassificering. Givet ett antal tidsserier kan man vilja klustra tidsserier som liknar varandra; eller så kan man givet en tidsserie vilja få fram vilken tidsserie ur en mängd som mest liknar denna tidsserie (klassificering). För att förutsäga hur framtida data kommer att bete sig kan man använda sig av regression. Denna teknik är ofta inte tillräckligt bra p.g.a. att tidsserier innehåller mycket brus. Det finns en teknik som bättre lämpar sig för temporal mining som kallas autoregression. Autoregression förutsätter att värdena i tidsserien är beroende av tidigare värden i tidsserien. Man kan beskriva ett framtida värde i en tidsserie på två olika sätt; dels som summan av ett slumpmässigt fel och en lineärkombination av föregående värden i tidsserien, och dels som en viktad summa av hur mycket de tidigare värdena avviker från medelvärdet. Data Warehousing Ett data warehouse är en förvaringsplats för data. Denna används för att stödja beslutstödssystem (decision support systems). Beslutstödssystem är till för att underlätta beslutsfattande och problemlösning. I data warehousing används data från hela verksamheten, såväl historisk som aktuell. Traditionella databaser innehåller operational data som stödjer Design av samverkande system, 5p (4/5) Simon Westerberg ([email protected]) David Södermark ([email protected]) dagliga administrativa beslut (såsom fakturering, lönehantering och inventering). Ett data warehouse innehåller informational data. som stödjer långsiktiga strategiska beslut (såsom planering och förutsägelser). Operational data ombildas på olika sätt (data summeras, irrelevant/oönskad data tas bort, etc.) till informational data, som då blir ett data warehouse. Information Retrieval (IR) Information Retrieval (IR) handlar om att erhålla önskad information från data i textform. IR utvecklades ursprungligen inom biblioteksväsendet. En typisk uppgift inom IR vore att i biblioteket hitta dokument inom ett visst område. Dokument representeras i IR-system av "dokument-surrogat" bestående av data såsom identifierare, titel, författare, datum och nyckelord. Dokumenten erhålls genom att man beräknar hur lika de är det som man söker efter med någon similarity measure. En similarity measure talar om hur troligt det är att dokumentet är relevant för användaren, genom att jämföra det som användaren är ute efter (ofta angivet med ett antal nyckelord) med dokumentet. Effektiviteten hos ett IR-system mäts ofta genom att undersöka dess precision och recall. Precision används för att svara på frågan: "Är alla returnerade dokument sådana jag är intresserad av (dvs. relevanta)?". Recall svarar på frågan: "Har alla relevanta dokument returnerats?". Ett relevant dokument är ett dokument som bör returneras av den query som skickats in till systemet. Det finns fyra möjliga resultat från en query till ett IR-system: 1) relevanta och returnerade dokument, 2) inte relevanta och inte returnerade dokument, 3) relevanta men inte returnerade dokument, och 4) inte relevanta men ändå returnerade dokument. De två första resultaten är de önskade, medan de två andra representerar fel i systemet. Utmaningar En av svårigheterna med data mining är att hitta modeller som är tillräckligt generella. De automatiserade processerna kan inte veta om ett funnet mönster är generellt eller endast är giltigt för den givna datamängden. Ännu svårare är det att hitta modeller som kan gälla för data som förändras med tiden. En annan svårighet är presentation och tolkning av resultaten från en data mining-process. Data mining och samverkande system Data mining är något som förmodligen är en del av de flesta samverkande system. Andersson m.fl. (2001) beskriver samverkande system så här: "An Emergent Interaction System (EIS) is defined to consist of an environment in which a number of actors share some experience/phenomenon, and in which part of the interaction among actors in the system emerges via a shared feedback loop. Data originating from the actors and their behaviour is collected and used to compute a feedback, which is delivered into the environment. The defining requirement of emergent interaction to occur is that this feedback has some noticeable and significant effect on the behaviour of the individuals and the collective."1 1 Andersson m.fl., Emergent Interaction – A Pre-Study, Technical Report, UMINF 01.16, Umeå University, s. 1, 2001. Design av samverkande system, 5p (5/5) Simon Westerberg ([email protected]) David Södermark ([email protected]) När data hämtas från aktörerna och ska behandlas i systemet, sker detta med stor sannolikhet med någon typ av data mining-teknik. Vanliga situationer kan vara att data sammanfattas, liknande data kan grupperas eller data kan kopplas samman av andra orsaker. Allt detta handlar om data mining. Data mining i projektet Lemmings-projektet använder sig av description inom data mining. Detta görs i den statistikpresentation som finns av användares svar på olika delfrågor. Det sammanlagda resultatet av delfrågorna och huvudfrågorna sammanfattas och visualiseras ibland (när det funkar) i den implementerade prototypen. Det sker också en beskrivande aktivitet när roulette-hjulet konstrueras från hur stor aktivitet det är i de olika forum-trådarna. I den nuvarande prototypen sker beräkningen av aktiviteten i trådarna, men roulette-hjulet är statiskt. En miljon åsikter använder sig främst av den prediktiva data mining-metoden klassificering. Detta görs när en länk läggs till i pixel-världen. Då hämtas sidan som länken leder till och klassificeras av ett system som är utvecklat av Anders Broberg. Klassificeringssystemet tränas för att känna igen förutbestämda kategorier av dokument. För varje dokument ger systemet ett värde för varje kategori som beskriver hur bra innehållet i dokumentet passar in i den kategorin. Om en länk till ett dokument får ett högt "likhetsvärde" till en enda kategori skapas en pixel med en färg som är associerad med den kategorin och pixeln placeras invid andra pixlar (länkar/dokument) i samma kategori i pixelvärlden. Om ett dokument får ett högt likhetsvärde till två kategorier så skapas en pixel med en färg som är en blandning av de två färger som är associerade med dessa två kategorier och pixeln placeras någonstans mellan de två kategorierna i pixelvärlden. En miljon åsikter-gruppen hade även idén att deras partivärld skulle bestå av användares åsikter. Varje användare skulle få skapa ett eget parti med en egen färg. Storleken på fältet med partifärgen skulle motsvara antalet medlemmar i det partiet. Detta kan beskrivas som en sammanfattande aktivitet att samla personer i samma parti till ett enhetligt färgfält. Dessutom skulle olika färgfält (partier) kunna överlappa varandra olika mycket i partivärlden beroende på hur mycket partiernas åsikter liknar varandra. Dvs. partier med liknande åsikter skulle klustras visuellt i partivärlden. Referenser Andersson m.fl., Emergent Interaction – A Pre-Study, Technical Report, UMINF 01.16, Umeå University, 2001. Berson Alex, Smith Stephen, and Thearling Kurt, An Overview of Data Mining Techniques. http://www.thearling.com/text/dmtechniques/dmtechniques.htm, (2006-01-19) Dunham, Margaret H., Data mining: introductory and advanced topics. Upper Saddle River, NJ: Prentice Hall, 2003. Hand David, Mannila Heikki, and Smyth Padhraic, Principles of data mining. Cambridge : The MIT press, 2001.