Design av samverkande system, 5p
(1/5)
Simon Westerberg (dv02vsn@cs.umu.se)
David Södermark (dv02sdd@cs.umu.se)
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 (dv02vsn@cs.umu.se)
David Södermark (dv02sdd@cs.umu.se)
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 (dv02vsn@cs.umu.se)
David Södermark (dv02sdd@cs.umu.se)
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 (dv02vsn@cs.umu.se)
David Södermark (dv02sdd@cs.umu.se)
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 (dv02vsn@cs.umu.se)
David Södermark (dv02sdd@cs.umu.se)
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.