lördagen den 14:e april 2012

MicroStrategy Data Mining Datasets

I mitt förra inlägg beskrev jag olika sätt att använda MicroStrategy i sin data mining analys. I detta inlägg beskriver jag mer i detalj vad som krävs om man väljer att låta MicroStrategy beräkna predikteringarna.

När man ska använda sig av data mining funktionaliteten i MicroStrategy krävs det en del arbete med att förbereda datat. Datat ska ha en väldigt "simpel" struktur som MicroStrategy nämner i dokumentationen men detta innebär att man måste skapa en massa mått innan man kan sätta igång. Man kan nämligen inte använda attribut för att gruppera mått som används i data mining rapporter utan man måste skapa filtrerade mått för varje grupp.

Låt säga att man till exempel vill analysera sina kunder och ha med variabler för hur mycket pengar varje kund spenderar i respektive produktgrupp och man har 40 produktgrupper. Då kräver detta att man skall skapa 40 filtrerade mått ... många mått blir det! Det gör det väldigt opraktiskt att utveckla och testa olika representationer av datat för att se vad som ger bäst resultat. Det finns helt klart fall då man har en modell med ett statiskt, relativt litet, antal oberoende variabler. Det skulle t.ex. kunna vara en risk scoring där man tittar på demografi och några nyckeltal baserat på historiskt beteende. I dessa fall görs uppmappningen av alla mått en gång och det räcker.

När man däremot har kommit fram till en modell som man har tänkt använda i produktion är det mer rimiligt att mappa upp alla dessa mått en gång för alla, såvida man inte har en modell som kräver hundratals eller tusentals mått i MicroStrategy. Då bör man nog se efter andra alternativ eller enklare representation av datat. Det man vill uppnå är i alla fall ett dataset som har endast ett attribut samt ett antal mått som är oberoende variabler som skall prediktera ett sista mått som är den beroende variabeln (vid regression och klassifiering).


Som sagt så finns det helt klart användningsområden där det finns fördelar att låta MicroStrategy sköta beräkningarna av predikteringarna, men generellt sätt anser jag att begränsningar i hur man måste hantera de oberoende variablerna gör att man bör fundera en extra gång över vilket alternativ som är bäst.

Mer information och detaljer data mining datasets finns i MicroStrategys dokumentation "AdvancedReporting.pdf" under kapitel 13 "Data Mining Services".

måndagen den 26:e mars 2012

MicroStrategy Data Mining Services

Data mining funktionalitet introducerades i MicroStrategy redan 2005 i version 8.0 men sedan dess har det inte hänt jättemycket. Det känns som om MicroStrategy har fokuserat på att kunna leverera resultatet av data mining på ett effektivt sätt baserat på modeller tränade i andra programvaror istället för att bygga ett komplett data mining verktyg, vilket förmodligen är väldigt sunt.

Det finns dock stöd för att träna egna modeller direkt i MicroStrategy. Om man vill träna sin data mining modell i MicroStrategy skapar man ett nytt "Inlärningsmått". Man får då följande alternativ
  • Regression
    Linjär, Exponentiell, Logistisk
  • Klustring
    K-means
  • Beslutsträd
    Klassifiering och regressionsträd (CART)
  • Tidsserier
    Trender, Perioder
  • Association
    APRIORI liknande algoritm
Algoritmerna som finns i MicroStrategy räcker nog till för en hel del typer av problem. Man har dock inte möjlighet att finjustera några parametrar i algoritmerna utan får nöja sig med standardinställningar. De parametrar som man kan sätta beror på vilken modell man har valt att träna, men det är de obligatoriska som t.ex. antalet uppdelningar för korsvalidering eller antalet kluster. Vill man optimera träningen eller göra någonting mer måste man använda sig av annan programvara för att skapa modellen och sedan exportera den i PMML format för att använda den i MicroStrategy istället.

I data mining så tränar man först en modell med hjälp av historiskt data som man sedan generaliserar och använder för att prediktera nytt data. Det finns tre alternativ för hur man använder data mining modeller för att prediktera nytt data i MicroStrategy.

Det första alternativet är att använda en annan programvara för att prediktera allt nytt data i en batch och sedan skriva tillbaka detta till databasen. Sedan mappar man upp resultatet som attribut eller mått i MicroStrategy och använder i sina rapporter. I detta fall används MicroStrategy endast för att distribuera data mining resultatet från databasen ut till användarna. Fördelen med detta är att det går snabbt att öppna rapporterna eftersom inga beräkningar behöver göras realtid, men nackdelen är att nytt data som inte fanns med i batchen saknar predikteringar.

Om man har en databas som har inbyggd data mining funktionalitet exponerad via SQL kan MicroStrategy utnyttja detta. Man kan då mappa upp så att databasen beräknar prediktionen i realtid när en MicroStrategy rapport kräver detta. Även i detta fall används MicroStrategy endast för att distribuera data mining resultatet från databasen ut till användarna. Fördelen med detta är dock att nytt data också kan predikteras.

Det tredje och sista alternativet är att låta MicroStrategy beräkna predikteringarna, oavsett om man har valt att träna modellen i MicroStrategy eller importerat den via PMML från annan programvara. Fördelen med detta är att MicroStrategy beräknar predikteringarna i realtid vilket gör att nytt data också kan predikteras. Nackdelen är att ifall man har en komplex modell eller mycket data som ska predikteras kan datasetet som måste skickas från databasen till MicroStrategy bli stort och predikteringen kan bli långsam.

Det finns inget rätt eller fel utan val av lösning beror väldigt mycket på behovet, kompetens, typ av databas och data mängden. Oavsett vilket kan man hitta ett effektivt sätt att använda MicroStratgy på ett eller annat sätt i sin data mining analys.

söndagen den 4:e mars 2012

Gartner Magic Quadrant for Business Intelligence 2012

Nu har Gartner återigen släppt en av sina årliga rapporter som kallas ”Magic Quadrant for Business Intelligence Platforms” (MQ). Den har av flera anledningar ett enormt massmedialt värde där företag och organisationer världen över lägger stort värde på vad, hur och på vilket sätt som Gartner uttalar sig om leverantörer inom Business Intelligence området.

Vi som varit i branschen en tid vet att den leverantörs oberoende och objektiva bild som Gartner förväntas ge av marknaden har ifrågasatts de senaste åren och det som framförallt favoriseras från Gartner i sin kvadrant är förmågan att exekvera. Exekveringen är till stora delar beroende av omsättningen och det gör det självklart svårt för nya och mindre leverantörer att placera sig i MQ. När det gäller hur långt till höger på axeln “Completeness of Vision” man kommer - som lika gärna kunde kallas "Sales and Marketing Maturity” - avgörs mer eller mindre av hur mycket kanaler, framförallt egna, som finns ut på marknaden. Ingången för nya spelare på marknaden är via det nedre vänstra hörnet som benämns för ”Niche Players”. Intressant är att flera leverantörer inom den såkallade Open Source marknaden har synats, däribland Penatho som är Open Source marknadens starkaste Business Intelligence alternativ. Se nedan.
Gartner Magic Quadrant for Business Intelligence Platforms 2012
Jag tänker inte ge mig på att kommentera hela rapporten utan istället kommentera vissa utdrag som är intressanta.

Gartner baserar sin hela undersökning genom enkäter från 1364 användare varav 1244 – alltså drygt 91% - är leverantörsreferenser. Eftersom det krävs minst 30 referenser från leverantören så är mycket baserat på hur många topp referenser du kan skaka fram och det i sin tur är självklart beroende på hur stor installerad bas man har.

Lite vad Gartner säger om några av de större leverantörerna:

IBM/Cognos
Får beröm för sin breda portfölj inom analysrelaterade produkter och tjänster även om de inte hade så mycket med varandra att göra! Viss integration avsaknas. Exempel på produkter som åsyftades är Cognos, SPSS, Netezza och uppenbarligen DataStage. Ingen tvekan om starka produkter, men avsaknad av integration finns.

SAP/Business Objects
Gartner säger att de för femte året i rad får sämsta betyg i kundnöjdhet. De får också kritik för att de låg under genomsnittet för BI-funktionalitet (på alla de 14 kategorier som de undersöker), prestanda, kostnad och otydlig ”roadmap”. Däremot rankar Gartner självklart SAP väldigt högt för ”Completeness of Vision” troligtvis beroende på att de agerar framgångsrikt och storslaget på en stor installerad bas.

Microsoft
Gartner både kritiserar och hyllar Microsoft för dålig integration i vissa av deras produkter respektive att deras produktlinje är billig samt i några fall erbjuder bra integration. De talar också väl om Microsofts In-memory angrepp som till stora delar baseras på framgången och utvecklingen med SQLServer. Däremot tycker Gartner att Microsoft brister i satsningen på mobila klienter.

MicroStrategy
MicroStrategy får istället rejält med beröm för sin mobila satsning och deras väl-integrerade arkitektur som också samtidigt får på skam för vissa val som gjorts för att upprätthålla den sammanhållna arkitekturen. Bl a kritiseras MicroStrategy för att inte vara den kompletta leverantören för alla - ”an all-things-to-all-people megavendor”.

Oracle
Även här får en stor leverantör dåligt betyg, faktiskt genomgående under snittet, av sina användare när det gäller funktionalitet, support och produktkvalité. Ändå så är just rik funktionalitet anledningen till att Oracle BI väljs av många tydligen, men då har inte hur lätt det är att använda verktygen och kostnaden någon avgörande faktor vid valet.

SAS Institute
Gartner har inte mycket gott att säga om SAS BI som de bl a rankar klart sämst när det gäller hur enkelt det är att installera, de är näst sämst när det gäller hur lättanvänt det är och återigen klart sämst när det gäller Dashboard funktionalitet. Gartner påpekar att SAS kostnader är höga.

Information Builders
Gartner hyllar Information Builders BI för dess funktionalitet, integration och skalbarhet. Dock så påpekar Gartner att Information Builders inte bara tappar marknadsandelar utan också tappar i omsättning.

Övriga
För några andra av den övriga leverantörerna som återfinns inom översta halvan inom MQ så säger man att:
  • QlikView har kunder som är väldigt nöjda med funktionaliteten och hur stor användbarheten är
  • Tibco Spotfire också får högt betyg av sina användare i hur lättanvänt vertyget är
  • Tableau för tredje året i rad får högsta betyg från sina användare och till viss del även Gartner för sin fortsatta tillväxt på 94% samt att de har höga betyg i de flesta av de 14 kategorierna.
En sak som jag tycker är både intressant och lovande då det behövs alternativ som rör om på marknaden är att Gartner förutspår bl a att den Open Source baserade Business Intelligence marknaden ska växa sig 5 ggr större under 2012. Där tror jag/vi återigen att Pentaho kommer att ta en stor andel av den marknaden.

Tyvärr så har inga SaaS specifika produkter tagits med alls.

tisdagen den 21:e februari 2012

Pentaho Data Mining

Pentaho köpte en licens för Weka 2006, men hur ser integrationen mellan de två ut idag och hur fungerar det? Pentaho har valt att fokusera integrationen på PDI, d.v.s. deras ETL verktyg. I dagsläget finns det transformationssteg och vyer för PDI som kopplar ihop Weka och Pentaho.

PDI transformationssteg 
  • ARFF Output
    Det här tranformationssteget kan användas för att serialisera ut en ARFF fil som är Weka egna filformat. Denna fil kan dock endast användas till utveckling, då det inte finns något "ARFF Input" steg att läsa in datat i PDI igen.
  • Weka Knowledge Flow
    Det här transformationssteget i kombination med Wekas kfKettle paket kan man via PDI hämta data från valfria datakällor och skicka det vidare till ett Weka Knowledge Flow som körs och bygger en modell som sedan sparas som ett Javaobjekt med hjälp av "Serialized ModelSaver". Den sparade modellen används sedan i transformationsstegen "Weka Scoring" eller "Weka Forecasting".
  • Weka Scoring
    Weka Scoring är ett transformationssteg som använder en redan tränad modell för att prediktera eller klassificera inkommande data. Resultatet kan vara en predikterad klass (klassifiering/klustring), ett uppskattat reellt tal (regression) eller en sannolikhetsfördelning (klassifiering/klustring), beroende på vilken modell som används. Resultatet skrivs tillbaka till en databas och kan sedan användas oberoende av programvara för visualisering. 
  • Weka Forecasting
    Weka Forecasing används tillsammans med timeserieForecasting paketet i Weka och fungerar analogt med Weka Scoring, med skillnaden att den använder en tidseriemodell för att göra en prognos för framtiden. 
PDI vyer
  • Knowledge Flow Editor
    Det här är en plugin där Pentaho har lyft in Wekas Knowledge Flow gränssnitt rakt av in i PDI. Det går dock endast att skapa ett helt nytt Knowledge Flow och inte öppna och editera befintliga.
  • Forecasting
    Även detta är en plugin där Pentaho har lyft in Wekas Forecasting gränssnitt rakt av i PDI, men de har dock lagt till ytterligare funktionalitet. Man kan skicka in data i tidsserie analysen direkt från ett "Table output" eller "Table input" steg. Om man högerklickar på någon av dessa och väljer "Forecast" laddas datat från databasen till Forecasting gränssnittet. 
Utöver detta finns det också ett transformationssteg som egentligen inte har någonting med Weka att göra, men som med fördel kan användas tillsammans med Weka och det är "Reservoir Sampling". Den genererar träningexempel från en inkommande dataström där antalet inte är känt i förväg. Den kan användas för att generera ett träningsdataset av lämplig storlek till Weka.

Vad vinner man då på att köra Weka tillsammans med PDI? Det som är smidigt är att man relativt enkelt kan schemalägga och produktionssätta träning av modeller som används i den dagliga analysen med hjälp av transformationsstegen i PDI. Men med det nya wekaServer paketet som släpptes i höstas är det nästan lika enkelt att göra det direkt i Weka utan att blanda in PDI. De har övergett det gamla RMI interfacet och istället implementerat en servlet baserad Weka Server som körs på en Jetty web server. Det som man dock kan göra med PDI och inte med Weka Server är att skriva tillbaka scoringen till databasen. Kör man Weka Server får man lösa det med sitt befintliga ETL verktyg eller utveckla write-back funktionaliteten själv.

onsdagen den 15:e februari 2012

Apache Hadoop

Senast förra veckan kunde man läsa en artikel i Computer of Sweden om ännu ett exempel där man har löst hanteringen av Big Data med hjälp av Hadoop. I det fallet var det spelföretaget King som använder Hadoop för att läsa och analysera deras loggfiler. Men vad är Hadoop och vad är det bra till? Det finns hur mycket som helst att skriva om Hadoop och dess teknologi då den skiljer sig ganska rejält från de mer traditionella databaserna, men här kommer några aspekter.

I slutet av 2011 släpptes den första skarpa versionen 1.0 av Apache Hadoop efter sex års utveckling. Hadoop är inspirerat av Googles egenutvecklade filsystem GFS och Googles MapReduced ramverk men Hadoop är huvudsakligen utvecklat av Yahoo. Grundstenen i Hadoop är deras distrubuerade filsystem HDFS. Det är ett filsystem som är designat för att distribuera beräkningar på vanlig standardhårdvara och inte kräver dyr special designad hårdvara. På detta filsystem kan man sedan köra flera olika applikationer för olika ändamål. Det mest omtalade är MapReduced ramverket som handlar om att distribuera beräkningar. Man kan även köra HBase som är en kolumnbaserad databas, elller Mahout som är ett maskininlärningsbibliotek eller Hive som erbjuder ett SQL liknande språk för ad-hoc frågor och analys. Det finns egentligen ingen färdig lösning utan en massa komponenter som man bygger sin egen Hadoop stack med beroende på vilka behov man har.

Alla BI leverantörer stödjer numera Hadoop, men det är skillnad på vilket sätt företagen har valt att stödja Hadoop. Vissa företag har valt att integrera själva Hadoop plattformen i deras databasprodukter medan andra erbjuder connectors till deras existerande databaser. För att förvirra ännu mera så finns Hadoop också i olika versioner, eller distributioner likt Linux. De två mest kända är Cloudera och MapR som är två kommersiella alternativ. BI leverantörerna stödjer normalt connectors till endast vissa av dessa distributioner och inte generellt.

När ska man då använda Hadoop? På den här frågan finns det inget bra svar. Om man tittar på vilka företag som har varit tidiga att anamma Hadoop så är det internet företag som Yahoo, Facebook, LinkedIn, Twitter, Amazon, m.fl. Anledningen till detta är att det är främst dessa företag som har hanterat datamängder i storleksordningen petabyte, d.v.s. en miljon gigabyte. Inte nog med att de hanterar enorma datamändger, det är dessutom ostrukturerat data som saknar datamodell och inte passar att lagra i en relationsdatabas. Generellt kan man nog säga att om man har datamängder uppåt petabytes eller ostrukturerat data som inte passar att lagra i en relationsdatabas ska man absolut titta ifall Hadoop kan hjälpa till. Hadoop lagrar sitt dock sitt data i filer utan index vilket innebär att om du vill hitta någonting måste alltid ett MapReduced jobb gå igenom allt data. Detta tar tid och det är den huvudsakliga anledningen till att Hadoop aldrig kommer att ersätta er nuvarande databas lika lite som er nuvarande databas kommer att ersätta Hadoop. Den optimala data warehouse lösningen är en hybrid av databaser där man utnyttjar respektives styrka. Ifall det kostar mer än det smakar får man helt enkelt kompromissa och välja de komponenter som ger "good enough" prestanda.

Det finns en sida på Hadoops wiki som listar företag som använder Hadoop samt vilken hårdvara de kör på och vilka komponenter de använder. Där ser man tydligt att det varierar väldigt mycket bland användningsområdena.

måndagen den 6:e februari 2012

Allt fler företag och organisationer använder molnbaserade lösningar för Business Intelligence

Nu har vi äntligen kommit till situationen eller rättare sagt tidpunkten när Gartner skriver att fler företag använder molnbaserade BI lösningar eller kommer att börja med BI i molnet.
Det är många som lyssnar på Gartner och det är klart positivt när de nu tar upp detta, men vi som arbetat med Business Intelligence sedan mitten av 90-talet vet sedan länge vilka stora fördelar det ger för framförallt mindre och medelstora företag och organisationer.

Gartner har i sin rapport nämnt tre drivkrafter bakom viljan att köpa BI som tjänst.

1. Snabbare införande
BI som tjänst innebär ofta att funktionerna blir tillgänglig snabbare för verksamheten, i synnerhet om it-avdelningen har begränsningar i budgeten.


– Användare är ofta frustrerade över den långsamma införandet av nya BI-lösningar. Molntjänster uppfattas som snabbare alternativ i det avseendet och också billigare, även om det återstår att se.

Kommentar: IT-avdelningen har också alltför ofta en planeringshorisont som också gör att en trolig leverans ligger mycket längre fram i tiden än vad verksamheten och leverantörer kan ha en förståelse för.

2. Kostnadsbilden
Köpare tror ofta att tjänster är billigare, men det är inte säkert. Däremot belastar tjänster inte balansräkningen.

Kommentar: Det finns dolda kostnader för drift, underhåll, uppgraderingar, utveckling som sällan tas med i sin helhet när jämförelser beräknas.

3. Avsaknad av expertis
Molntjänster är ofta utformade så att de ofta har en slags inbyggd expertkunskap som kan hjälpa företag att dra nytta av verktygen

Kommentar: Risker förknippat med resurs- och kompetensberoenden är inte helt enkla att beräkna eller planera för. I en bra molntjänst ska dessa risker försvinna eller vara hanterbara. Till skillnad mot en IT-avdelning så måste leveransen av en molntjänst vara kontinuerligt på topp - annars sägs tjänsten upp och det kan ske på relativt kort tid.

Jag vill lägga till Skalbarhet.
Idag tycker jag att det finns ett inbyggt motstånd i den licensprissättning som traditionella BI-leverantörer har. Det kostar för mycket för företagen i rena licens- och underhållspengar när de vill öka antalet användare till merparten av företaget eller organisationen för att på så sätt få mer fördel av sin initiala BI-satsning. I de flesta molntjänsterna så betalar du för så mycket du behöver, både i funktionalitet och antal användare.

Jag är övertygad om att molntjänster inom bl a BI kommer att bli som med el från vägguttaget. Du ska inte som användare behöva fundera på hur eller på vilket sätt elen kommer till uttaget. Ju mer du använder desto mer kostar det och det finns tillgängligt när du behövt det.
Tekniken och tillvägagångssätt är underordnad - funktionen är det intressanta.

måndagen den 30:e januari 2012

Pentaho Big Data Open Source

Pentaho har valt att släppa alla Big Data och NoSQL komponenter i Pentaho Data Integration som open source under Apache lincensen. Det betyder att det finns transformationssteg för Hadoop (Cloudera och MapR distributionerna) samt Cassandra och MongoDB. Det är tillgängligt från PDI 4.3 som redan finns tillgängligt att ladda ner som test version. Läs mer på Pentaho Big Data Community.