top of page
Skribentens bildSustainability Circle

Pre-Processing, inte bara början utan grunden

Sustainability Circle's "lilla AI skola" om Pre-Processing (förbearbetning)


 Pre-Processing är förarbetet innan man använder data för att träna en AI-modell. Det handlar om att förbereda datan så att den är korrekt, konsekvent och användbar. Jämför det med att ställa in en maskin i en produktionslina: om du inte gör rätt justeringar eller kalibreringar, fungerar inte maskinen som den ska.

 

Så även om vi inte ännu börjat med AI så kan vi ha nytta av att förstå vad som krävs i pre-processing. Det blir då enklare när vi i framtiden skall använda data för att träna AI. Att göra rätt redan från första början alltså.

 

Varför är Pre-Processing viktigt?

 

·      Kvalitet in – kvalitet ut: Dålig data leder till dåliga resultat (skit in, skit ut) (garbage in, garbage out (GIGO)).

·      Effektivitet: Genom att bearbeta data i förväg kan AI-modellen tränas snabbare och med bättre precision.

 

 Vad ingår i Pre-Processing?

Pre-Processing av data handlar om att förbereda informationen så att den blir användbar och värdefull för analys eller AI-modeller. Det är ett viktigt steg som säkerställer att din data är pålitlig och begriplig. Här är exempel på vanliga steg:

 

 1. Rengöring av Data (Data Cleaning)

Datan kan innehålla  fel som måste hanteras innan den kan användas. Rengöring innebär att identifiera och rätta till dessa problem:

  • Hantera saknad data: Data som saknas kan vara problematisk. Du kan fylla i tomma värden med medelvärden, medianer eller specifika standardvärden, eller helt enkelt ignorera rader där för mycket data saknas. Exempel: Om en temperatursensor inte rapporterar ett värde vid vissa tidpunkter, kan du ersätta de tomma värdena med ett genomsnitt från närliggande tidsintervall.

  • Ta bort brus: Filtrera bort brusiga eller inkorrekta data, till exempel extrema avvikelser som inte stämmer med den övriga datan. Exempel: En vibrationssensor som visar ett värde som är 1000 gånger högre än normalt – det kan bero på ett tillfälligt fel.

 

2. Normalisering och Skalning (Normalization & Scaling)

Dataserier kan ha olika skalor och enheter, vilket kan förvirra AI-modellen. Normalisering och skalning säkerställer att data är konsekvent.

  • Normalisering: Omvandlar data så att värdena ligger inom ett visst intervall, till exempel 0 till 1. Det är särskilt viktigt när du använder algoritmer som är känsliga för storleksordningar. Exempel: Detta är viktigt när data har olika enheter eller skalor, till exempel om en är vikt (i kilogram) och en annan är ålder (i år). Genom att normalisera ser vi till att ingen data har oproportionerligt stor påverkan på modellen.

  • Skalning: Ändrar data så att alla funktioner bidrar lika till analysen. Exempel: Om du har en serie av mätdatan från 0 till 1000 och en annan mellan 0 och 10, behöver du skala dem till samma nivå.

 

3. Dataomvandling (Data Transformation)

   Ibland är rådata inte direkt användbar för analys. Omvandling innebär att bearbeta data till ett format som är enklare att arbeta med:

  • Kategorisk till numerisk: Omvandla textdata (som "Låg", "Medel", "Hög") till siffror (0, 1, 2). Exempel: En datakolumn som beskriver "Driftstatus" kan omvandlas till siffror där 0 betyder "Av", 1 betyder "På", och 2 betyder "Underhåll".

  • Loggning eller exponentiering: När du har stora skillnader i värden kan logaritmiska omvandlingar hjälpa till att minska effekterna av extrema avvikelser.

 

4. Datareduktion (Data Reduction)

Syftet är att minska mängden data för att göra analys och bearbetning mer effektiv, utan att förlora viktig information.

  •  Val av variabler (Feature Selection): Identifiera vilka variabler som verkligen påverkar resultaten och ignorera resten. Exempel: Om du bygger en modell för att analysera energiförbrukning kan temperatur och maskindrift vara viktiga, men kanske inte veckodag.

  • Urval (Sampling): Om du har ett enormt stort dataset kan du använda ett representativt urval i stället för hela datamängden. Exempel: Istället för att analysera data från varje sekund i ett helt år kan du använda genomsnitt för varje timme.

 

Läs gärna avsnittet om Dataläckage för att förstå mer om varför detta steg är viktigt.

 

5. Datakonsolidering (Data Consolidation)

Om data kommer från flera olika källor behöver den samlas och göras konsekvent:

  • Sammanfogning: Kombinera flera dataset till en gemensam databas. Exempel: Om du har data från en produktionslinje där olika maskiner rapporterar i olika format (t.ex. CSV, JSON, XML), konsoliderar du dessa till ett gemensamt format.

  • Eliminering av dubbletter: Kontrollera att samma data inte förekommer flera gånger. Exempel: Om en maskin skickar samma mätvärden två gånger av misstag kan det påverka analysens resultat.

 

Ofta går 4) datakonsolidering och 5) datareduktion hand i hand. Först, konsolidera data från olika källor för att få en enhetlig bas. Sedan, reducera mängden data för att effektivisera analysen.

 

Effektiv och korrekt Pre-Processing är nyckeln till framgångsrika AI-projekt. Genom att systematiskt gå igenom stegen ovan kan du säkerställa att dina modeller får bästa möjliga förutsättningar.

 

Undvik fallgroparna

 1. Överdriven förenkling: Om du tar bort för mycket data eller variabler, kan modellen missa viktiga samband.


2. Felaktig hantering av saknad data: Att bara fylla i genomsnittsvärden utan att förstå varför data saknas kan leda till missvisande resultat.

Detta är skälet att vi måste vara både dataexperter och domänexperter tillsammans när vi gör detta. Det går inte att förstå rent ”matematiskt” hur datan skall hanteras, man behöver insikter ”fysikaliskt” också. Data och domän tillsammans.

 

3. Inkonsekvens mellan träning och verklig användning:

   - För att förhindra dataläckage och säkerställa att testdatan verkligen är "orörd", måste alla preprocessingsteg, som till exempel normalisering, göras separat på träningsdatan. Här är de korrekta stegen:

  1. Dela upp data först: Dela alltid upp datasetet i tränings- och testdata innan någon preprocessing görs. Detta säkerställer att testdatan hålls åtskild och inte påverkar träningsdatan.  

  2. Applicera preprocessing på träningsdata: Utför alla preprocessingsteg (t.ex. normalisering, skalning) endast på träningsdatan. När det gäller normalisering används bara statistiken från träningsdatan (t.ex. medelvärde och standardavvikelse) för att normalisera både tränings- och testdata. På detta sätt säkerställs att testdatan inte får någon information från träningsdatan.

  3. Applicera samma preprocessing på testdata: När modellen sedan utvärderas på testdatan, appliceras samma metoder (exempelvis normalisering) som användes på träningsdatan, men utan att testa datan påverkad av träningsdatan. Om datan normaliseras på ett sätt under träning men annorlunda när modellen används, blir resultaten felaktiga.

 

Konsekvenserna av dålig preprocessing, är förstås stora och allvarliga. Om AI:n matas med felaktig data kan det leda till beslut som påverkar säkerhet, kostnad eller kvalitet negativt. Dålig data kräver att du går tillbaka och gör om allt från början.

Ingen vill använda en AI-modell som gör uppenbara fel.

 

Verktyg och visualisering

är centrala delar av preprocessing eftersom de hjälper till att förstå datan, identifiera problem och säkerställa att den är redo för analys eller AI-modellering.

 

Visualisering hjälper till att:

1. Förstå datans struktur.

2. Identifiera problem, som outliers eller saknad data.

3. Kommunicera datainsikter till teamet.


Exempel på visualiseringar: (tabellen är AI genererad)

Histogram:

   - För att se datans fördelning.

  - Exempel: Visa frekvensen av temperaturvärden i en produktionsmiljö.

Boxplot:

   - För att identifiera outliers.

  - Exempel: Se om tryckvärden ligger utanför normala intervall





Scatterplot:

   - För att upptäcka relationer mellan två variabler.

   - Exempel: Plotta motorvarvtal mot energiförbrukning.

Heatmap:

   - För att visa korrelation mellan variabler.

   - Exempel: Förstå om temperatur och vibrationsnivå är relaterade.






Exempel på verktyg: (tabellen är AI genererad)

Excel/Google Sheets:

 

Python (Pandas, NumPy):

R:

  - Lämpligt för enkla dataset.

  - Funktioner: Filtrera, sortera, pivot-tabeller, enkla grafer.

 

  - Kraftfullt för att bearbeta stora datamängder.

  - Funktioner: Hantera saknad data, skapa nya variabler, sammanfoga dataset.

 

  - Starkt inom statistisk analys och datavisualisering.

  - Funktioner: Deskriptiv statistik, dataomvandling.

 

 

Tableau/Power BI:

Python Libraries:

R Libraries:

  - Skapa interaktiva dashboards och grafer.

  - Lämpligt för affärsanvändare och icke-programmerare.

 

- Matplotlib: Grundläggande visualisering.

  - Seaborn: För avancerade grafer och visualiseringar.

  - Plotly: För interaktiva visualiseringar.

 

-ggplot2: En kraftfull visualiseringsmotor för att skapa publikationsklara grafer.

 

Pre-Processing är inte en isolerad aktivitet utan en del av en större pipeline för datahantering. En typisk pipeline består av flera steg: samla in data, utföra pre-processing, träna och testa en modell, och slutligen implementera den i produktion. Det finns verktyg för att automatisera processen, som säkerställer att stegen är konsekventa och repeterbara, särskilt viktigt i stora projekt med mycket data och kontinuerlig datainsamling.


Pre-Processing är inte bara en förberedande fas – det är grunden för framgångsrika AI-modeller och datadrivna beslut. Genom att systematiskt tillämpa tekniker som datarengöring, normalisering, skalning, och visualisering kan vi säkerställa att vår data är både användbar och pålitlig.

 

Att förstå och använda rätt metoder för Pre-Processing sparar tid, förbättrar modellens prestanda och minskar risken för fel. Dessutom krävs ett nära samarbete mellan dataexperter och domänspecialister för att dra nytta av både matematisk och praktisk kunskap.

 

Har du frågor eller vill dela dina erfarenheter? Lämna en kommentar eller kontakta oss direkt. Tillsammans lär vi oss mer!

2 visningar0 kommentarer

Senaste inlägg

Visa alla

Comments


bottom of page