Hoppa till innehåll

Entropikalkylator - Beräkna Shannon Entropi Online Gratis

Gratis entropikalkylator för omedelbar Shannon entropiberäkning. Mät dataslumpmässighet, osäkerhet och informationsinnehåll med stegvisa resultat. Perfekt för datavetenskap.

Entropikalkylator

Ange numeriska värden åtskilda av mellanslag eller kommatecken beroende på valt format.

Dataformat

Frekvensdistribution

Ange data för att se visualisering

Laddningsberäknare...
📚

Dokumentation

Vad är en entropikalkylator?

En entropikalkylator beräknar Shannonentropin för en mängd tal. Shannonentropi är ett sätt att mäta hur oförutsägbara data är. En datamängd där alla värden är likadana har entropin noll, eftersom inget är osäkert. En datamängd där varje värde har lika stor sannolikhet att förekomma har den högsta möjliga entropin för sin storlek.

Idén kommer från informationsteorin, ett område som grundades av den amerikanske matematikern Claude Shannon 1948. Shannon ville mäta hur mycket information ett meddelande innehåller. Han definierade entropi som den genomsnittliga mängden ”överraskning” i en sekvens av symboler. Samma formel används nu inom datavetenskap, kryptografi, biologi och maskininlärning, överallt där man behöver mäta slumpmässighet i en mängd utfall.

Shannonentropins formel

För en datamängd med unika värden från x₁ till xₙ, där varje värde förekommer med sannolikheten p(xᵢ), är Shannonentropin H:

H(X)=−∑i=1np(xi)log⁡2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

Med ord: för varje unikt värde multiplicerar man dess sannolikhet med sannolikhetens logaritm med basen 2, summerar alla dessa produkter och byter sedan tecken på summan. Resultatet är alltid noll eller positivt.

Den här kalkylatorn använder alltid logaritmer med basen 2, så resultatet mäts i bitar. Andra baser används i andra sammanhang: den naturliga logaritmen ger enheten nat, och basen 10 ger enheten hartley. Bitar är standardenheten inom databehandling och informationsteori, vilket är anledningen till att den här kalkylatorn använder basen 2.

Varför resultatet inte kan vara negativt

Varje sannolikhet p(xᵢ) ligger mellan 0 och 1, så dess logaritm är noll eller negativ. När en sannolikhet multipliceras med en negativ eller nollställd logaritm blir resultatet negativt eller noll. Om man summerar dessa värden och byter tecken på summan blir resultatet alltid noll eller större.

Högsta möjliga entropi

För en datamängd med n unika värden är entropin högst när varje värde förekommer lika ofta. Detta maximum är log₂(n) bitar. En datamängd med 4 lika vanliga unika värden kan ha högst 2 bitars entropi, eftersom log₂(4) = 2. Varje ojämn fördelning av samma 4 värden ger lägre entropi.

Så beräknas entropi: steg för steg

  1. Lista de unika värdena i datamängden och räkna hur många gånger varje värde förekommer.
  2. Dela varje antal med det totala antalet värden för att få sannolikheten för varje unikt värde.
  3. Beräkna logaritmen med basen 2 för varje sannolikhet och multiplicera den sedan med samma sannolikhet.
  4. Addera alla dessa produkter och multiplicera sedan summan med −1.

Den här kalkylatorn utför automatiskt samma fyra steg. Skriv in tal i inmatningsfältet, separerade med mellanslag eller kommatecken, och välj motsvarande format. Entropin, sannolikhetstabellen och ett stapeldiagram visas direkt. En tabell under resultatet visar värdet, antalet, sannolikheten och p(x) × log₂(p(x)) för varje unikt tal, så att beräkningen syns och inte bara slutsvaret.

Regler för inmatning

  • Endast numeriska värden accepteras: heltal, decimaltal och negativa tal fungerar.
  • Värden separeras med mellanslag (exempel: 1 2 3 4) eller kommatecken (exempel: 1,2,3,4), beroende på valt format.
  • En datamängd kan innehålla högst 100 000 värden. Om fler värden anges visas ett felmeddelande som ber användaren ange en mindre datamängd.
  • Vetenskaplig notation accepteras, så 1e3 tolkas som 1000.
  • Text, symboler eller tomma poster mellan avgränsare avvisas med ett felmeddelande i stället för att ignoreras utan vidare.
  • Ett tal som är för stort för att lagras i en dator, till exempel 1e400, avvisas också. Det största värdet som kalkylatorn kan lagra är ungefär 1,8 x 10^308.

Räkneexempel

Betrakta datamängden 1 2 3 1 2 1, som innehåller sex tal.

Börja med att räkna varje unikt värde:

VärdeAntalSannolikhet
133/6 = 0,5
222/6 ≈ 0,3333
311/6 ≈ 0,1667

Tillämpa sedan formeln på varje rad och addera resultaten:

H=−(0.5log⁡20.5+0.3333log⁡20.3333+0.1667log⁡20.1667)H = -(0.5 \log_2 0.5 + 0.3333 \log_2 0.3333 + 0.1667 \log_2 0.1667) H=−(0.5×−1+0.3333×−1.585+0.1667×−2.585)H = -(0.5 \times -1 + 0.3333 \times -1.585 + 0.1667 \times -2.585) H≈1.4591 bitarH \approx 1.4591 \text{ bitar}

Datamängden har 3 unika värden, så den högsta möjliga entropin är log₂(3) ≈ 1,585 bitar. Det faktiska resultatet, 1,4591 bitar, är lägre än detta maximum eftersom värdet 1 förekommer oftare än de andra. Datamängden är därför något mindre slumpmässig än en helt jämn fördelning.

En datamängd utan osäkerhet

Datamängden 5 5 5 5 5 har bara ett unikt värde, så dess sannolikhet är 1. Eftersom log₂(1) = 0 är varje term i summan noll, och entropin är exakt 0 bitar. Det finns ingen osäkerhet i en datamängd där alla värden är identiska.

Så tolkas resultatet

  • Entropi nära 0 innebär att data är repetitiva och förutsägbara. Ett eller några få värden dominerar.
  • Entropi nära log₂(n), där n är antalet unika värden, innebär att data är nära att vara jämnt fördelade över alla unika värden.
  • Entropi på exakt 0 innebär att alla värden i datamängden är likadana.

Entropin i sig säger inte om en datamängd är ”bra” eller ”dålig”. En lösenordsgenerator behöver hög entropi, eftersom det gör lösenordet svårt att gissa. En sensor som ska visa en konstant temperatur behöver låg entropi, eftersom det innebär att mätvärdet är stabilt.

Var Shannonentropi används

  • Maskininlärning: algoritmer för beslutsträd använder entropi för att avgöra vilken egenskap som bäst delar upp en datamängd i förutsägbara grupper.
  • Datakomprimering: entropin anger den teoretiska gränsen för hur liten en fil kan komprimeras utan informationsförlust.
  • Kryptografi: entropi mäter hur oförutsägbart ett lösenord eller en kryptografisk nyckel är.
  • Genetik: entropi kan framhäva ovanliga eller mycket varierande områden i en DNA-sekvens.
  • Textanalys: om bokstäver eller ord behandlas som ”värden” kan entropi mäta hur förutsägbar en text är.

Vanliga frågor och svar

Vad är entropi inom informationsteorin? Det är ett tal som mäter hur osäker eller oförutsägbar en datamängd är. Det beräknas utifrån sannolikheterna för varje unikt värde i datan, inte utifrån själva värdena.

Hur beräknar man Shannonentropi för hand? Räkna hur ofta varje unikt värde förekommer, dela varje antal med totalsumman för att få sannolikheter, multiplicera varje sannolikhet med dess logaritm med basen 2, addera resultaten och multiplicera summan med −1.

Kan entropi vara negativ? Nej. Det lägsta möjliga värdet är 0 bitar, vilket inträffar när alla värden i datamängden är identiska.

Vilken är den högsta entropin för en datamängd? Maximum är log₂(n) bitar, där n är antalet unika värden. Det inträffar endast när varje unikt värde förekommer lika ofta.

Finns det en gräns för datamängdens storlek? Ja. Den här kalkylatorn accepterar högst 100 000 värden i en enda datamängd. Större inmatningar ger ett felmeddelande.

Hur skiljer sig entropi från varians? Varians mäter hur mycket numeriska värden sprider sig kring sitt medelvärde. Entropi mäter hur oförutsägbart mönstret av utfall är, enbart utifrån sannolikheter och oberoende av talens faktiska storlek.

Referenser

  1. Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379–423.
  2. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2 uppl.). Wiley-Interscience.
  3. MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.