2012-09-27

Trail and Error

Rätt så ofta springer man på personer som är rätt så väl bevandrade inom BI och DW och som har läst en del om predektiv analys och data mining. De har ganska bra koll på begreppen och uttrycker sig i ord som om de vet precis vad det handlar om. Om de aldrig har suttit med ett riktigt data mining problem saknar de dock insikten i vad som faktiskt krävs för att nå framgång i ett data mining projekt.

Först och främst kommer arbetet med att förbereda data för uppgiften som skall lösas. Har man bara läst lite data mining literatur så har man ganska snabbt insett att det inte hjälper mycket att ha en gedigen ETL process som modellerat datat i sitt DW i en stjärnmodell eller liknande. Mer än halva data mining processen består ändå i att förbereda data för att kunna bygga modeller. Här kommer första insikten som är svår att få utan att ha praktisk erfarenhet. Det är otroligt svårt att veta i förväg vilka variabler som är bra prediktorer för sin målvariabel. Ofta "vet" man det i förväg, men när man börjar ställa motfrågor visar sig dock snabbt motsatsen.

Gällande målvariabeln kan det vara lika svårt att veta hur den ska representeras. Låt säga att uppgiften är att ta fram en modell som predikterar vinsten. Det är lätt att tro att målvariabeln är "given" i uppgiften, men det kan visa sig att det är lättare att prediktera logaritmen av vinsten, eller vinsten i förhållande till omsättningen, eller att transformera om vinsten till en nominell variabel. Ett annat exempel kan vara att använda en overlay variabel om man t.ex. vet att man kommer att öka utbudet med 20% nästa år. Att använda en stegfunktion som går från 1 till 1.2 för att få in den informationen i modellen, tillför ofta inte mycket. Ofta är det bättre att t.ex. multiplicera den med någon annan variabel för att uppnå önskat resultat.

Slutsatsen jag vill komma till är att den största insikten är nog att det enda sättet att hitta en bra representation är att testa sig fram, och det tar tid. Det är lätt att framställa data mining som en svart låda där man slänger in lite siffror och får ut svar, men det är inte konstigare än trail-and-error i många fall. Med lite erfarenhet hittar man så klart rätt fortare, men det är fortfarande en stor del av mining processen.