Entropijos skaičiuoklė: Išmatuokite informacijos turinį duomenų rinkiniuose

Apskaičiuokite Šenono entropiją, kad įvertintumėte atsitiktinumą ir informacijos turinį savo duomenyse. Paprastas įrankis duomenų analizei, informacijos teorijai ir neapibrėžtumo matavimui.

Entropijos Skaičiuoklė

Įveskite skaitmenines reikšmes, atskirtas tarpais arba kableliais, priklausomai nuo pasirinkto formato.

Dažnio Pasiskirstymas

Įveskite duomenis, kad pamatytumėte vizualizaciją

📚

Dokumentacija

Nemokamas internetinis entropijos skaičiuoklė - Apskaičiuokite Šanonų entropiją duomenų analizei

Kas yra entropijos skaičiuoklė?

Entropijos skaičiuoklė yra galingas duomenų analizės įrankis, kuris matuoja informacijos turinį ir neapibrėžtumą jūsų duomenų rinkiniuose, naudodamas Šanonų entropijos formulę. Mūsų nemokama internetinė entropijos skaičiuoklė padeda duomenų mokslininkams, tyrėjams ir studentams greitai apskaičiuoti entropijos vertes, kad suprastų duomenų atsitiktinumą ir informacijos tankį per kelias sekundes.

Entropija yra pagrindinė sąvoka informacijos teorijoje, kuri kiekybiškai įvertina neapibrėžtumo arba atsitiktinumo kiekį sistemoje ar duomenų rinkinyje. Pirmą kartą ją sukūrė Claude Shannon 1948 metais, entropija tapo esmine metrika įvairiose srityse, įskaitant duomenų mokslą, mašininį mokymąsi, kriptografiją ir komunikacijas. Ši entropijos skaičiuoklė suteikia momentinius rezultatus su išsamiais žingsnis po žingsnio skaičiavimais ir vizualizacijos diagramomis.

Informacijos teorijoje entropija matuoja, kiek informacijos yra žinutėje ar duomenų rinkinyje. Aukštesnė entropija rodo didesnį neapibrėžtumą ir daugiau informacijos turinio, tuo tarpu žemesnė entropija rodo didesnį prognozuojamumą ir mažiau informacijos. Entropijos skaičiuoklė leidžia jums greitai apskaičiuoti šią svarbią metriką tiesiog įvedant savo duomenų vertes.

Šanonų entropijos formulė paaiškinta

Šanonų entropijos formulė yra informacijos teorijos pagrindas ir naudojama diskretinės atsitiktinės kintamosios entropijai apskaičiuoti. Diskretinei atsitiktinei kintamajai X su galimais vertėmis {x₁, x₂, ..., xₙ} ir atitinkamomis tikimybėmis {p(x₁), p(x₂), ..., p(xₙ)}, entropija H(X) apibrėžiama kaip:

H(X)=i=1np(xi)log2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

Kur:

  • H(X) yra atsitiktinės kintamosios X entropija, matuojama bitais (naudojant logaritmą su baze 2)
  • p(xᵢ) yra vertės xᵢ atsiradimo tikimybė
  • log₂ yra logaritmas su baze 2
  • Suma imama per visas galimas X vertes

Entropijos vertė visada yra nenormali, H(X) = 0 įvyksta tik tada, kai nėra neapibrėžtumo (t. y., vienas rezultatas turi tikimybę 1, o visi kiti turi tikimybę 0).

Entropijos vienetai

Entropijos vienetas priklauso nuo logaritmo, naudojamo skaičiavime:

  • Naudojant logaritmą su baze 2, entropija matuojama bitais (dažniausiai informacijos teorijoje)
  • Naudojant natūralųjį logaritmą (baze e), entropija matuojama natu
  • Naudojant logaritmą su baze 10, entropija matuojama hartley arba dits

Mūsų skaičiuoklė pagal numatytuosius nustatymus naudoja logaritmą su baze 2, todėl entropija išreiškiama bitais.

Entropijos savybės

  1. Neneigiamumas: Entropija visada yra didesnė arba lygi nuliui. H(X)0H(X) \geq 0

  2. Maksimali vertė: Diskretinei atsitiktinei kintamajai su n galimomis vertėmis entropija yra maksimaliai didelė, kai visi rezultatai yra vienodai tikėtini (vienoda paskirstymas). H(X)max=log2(n)H(X)_{max} = \log_2(n)

  3. Pridėjimas: Nepriklausomoms atsitiktinėms kintamosioms X ir Y bendroji entropija lygi atskirų entropijų sumai. H(X,Y)=H(X)+H(Y)H(X,Y) = H(X) + H(Y)

  4. Sąlyginimas mažina entropiją: Sąlyginė X entropija, duota Y, yra mažesnė arba lygi X entropijai. H(XY)H(X)H(X|Y) \leq H(X)

Kaip naudoti entropijos skaičiuoklę - žingsnis po žingsnio vadovas

Mūsų entropijos skaičiuoklė yra sukurta taip, kad būtų paprasta ir patogi naudoti. Sekite šiuos paprastus žingsnius, kad apskaičiuotumėte entropiją savo duomenų rinkiniui akimirksniu:

  1. Įveskite savo duomenis: Įveskite savo skaitines vertes teksto srityje. Galite atskirti vertes naudodami tarpus arba kablelius, priklausomai nuo pasirinkto formato.

  2. Pasirinkite duomenų formatą: Pasirinkite, ar jūsų duomenys yra tarpu atskirti, ar kableliais atskirti, naudodami radijo mygtukus.

  3. Peržiūrėkite rezultatus: Skaičiuoklė automatiškai apdoroja jūsų įvestį ir rodo entropijos vertę bitais.

  4. Išnagrinėkite skaičiavimo žingsnius: Peržiūrėkite išsamius skaičiavimo žingsnius, rodančius, kaip buvo apskaičiuota entropija, įskaitant dažnio paskirstymą ir tikimybės skaičiavimus.

  5. Vizualizuokite duomenų paskirstymą: Stebėkite dažnio paskirstymo diagramą, kad geriau suprastumėte savo duomenų vertių paskirstymą.

  6. Kopijuokite rezultatus: Naudokite kopijavimo mygtuką, kad lengvai nukopijuotumėte entropijos vertę, kad galėtumėte naudoti ataskaitose ar tolesnėje analizėje.

Įvesties reikalavimai

  • Skaičiuoklė priima tik skaitines vertes
  • Vertės gali būti sveikieji skaičiai arba dešimtainiai skaičiai
  • Neigiami skaičiai yra palaikomi
  • Įvestis gali būti tarpu atskirta (pvz., "1 2 3 4") arba kableliais atskirta (pvz., "1,2,3,4")
  • Nėra griežto vertių skaičiaus apribojimo, tačiau labai dideli duomenų rinkiniai gali paveikti našumą

Rezultatų interpretavimas

Entropijos vertė suteikia įžvalgų apie jūsų duomenų atsitiktinumą ar informacijos turinį:

  • Aukšta entropija (artima log₂(n), kur n yra unikalių vertių skaičius): rodo didelį atsitiktinumą ar neapibrėžtumą duomenyse. Paskirstymas yra artimas vienodam.
  • Žema entropija (artima 0): rodo mažą atsitiktinumą ar didelį prognozuojamumą. Paskirstymas yra stipriai iškreiptas link tam tikrų vertių.
  • Nulinė entropija: įvyksta, kai visos vertės duomenų rinkinyje yra identiškos, rodančios, kad nėra neapibrėžtumo.

Entropijos skaičiuoklės pavyzdžiai su žingsnis po žingsnio sprendimais

Pažvelkime į keletą pavyzdžių, kad parodytume, kaip apskaičiuojama entropija ir ką reiškia rezultatai:

Pavyzdys 1: Vienodas paskirstymas

Apsvarstykite duomenų rinkinį su keturiomis vienodai tikėtinomis vertėmis: [1, 2, 3, 4]

Kiekviena vertė pasirodo tik kartą, todėl kiekvienos vertės tikimybė yra 0.25.

Entropijos skaičiavimas: H(X)=p(xi)log2p(xi)H(X) = -\sum p(x_i) \log_2 p(x_i) H(X)=(4×0.25×log2(0.25))H(X) = -(4 \times 0.25 \times \log_2(0.25)) H(X)=(4×0.25×(2))H(X) = -(4 \times 0.25 \times (-2)) H(X)=2 bitaiH(X) = 2 \text{ bitai}

Tai yra maksimali galima entropija paskirstymui su 4 unikaliomis vertėmis, patvirtinanti, kad vienodas paskirstymas maksimalizuoja entropiją.

Pavyzdys 2: Iškraipytas paskirstymas

Apsvarstykite duomenų rinkinį: [1, 1, 1, 2, 3]

Dažnio paskirstymas:

  • Vertė 1: 3 pasikartojimai (tikimybė = 3/5 = 0.6)
  • Vertė 2: 1 pasikartojimas (tikimybė = 1/5 = 0.2)
  • Vertė 3: 1 pasikartojimas (tikimybė = 1/5 = 0.2)

Entropijos skaičiavimas: H(X)=p(xi)log2p(xi)H(X) = -\sum p(x_i) \log_2 p(x_i) H(X)=(0.6×log2(0.6)+0.2×log2(0.2)+0.2×log2(0.2))H(X) = -(0.6 \times \log_2(0.6) + 0.2 \times \log_2(0.2) + 0.2 \times \log_2(0.2)) H(X)=(0.6×(0.737)+0.2×(2.322)+0.2×(2.322))H(X) = -(0.6 \times (-0.737) + 0.2 \times (-2.322) + 0.2 \times (-2.322)) H(X)=((0.442)+(0.464)+(0.464))H(X) = -((-0.442) + (-0.464) + (-0.464)) H(X)=1.371 bitaiH(X) = 1.371 \text{ bitai}

Ši entropija yra mažesnė už maksimalią galimą entropiją 3 unikalioms vertėms (log₂(3) ≈ 1.585 bitai), atspindinti paskirstymo iškraipymą.

Pavyzdys 3: Nėra neapibrėžtumo

Apsvarstykite duomenų rinkinį, kur visos vertės yra tos pačios: [5, 5, 5, 5, 5]

Yra tik viena unikali vertė su tikimybe 1.

Entropijos skaičiavimas: H(X)=p(xi)log2p(xi)H(X) = -\sum p(x_i) \log_2 p(x_i) H(X)=(1×log2(1))H(X) = -(1 \times \log_2(1)) H(X)=(1×0)H(X) = -(1 \times 0) H(X)=0 bitaiH(X) = 0 \text{ bitai}

Entropija yra nulinė, rodanti, kad nėra neapibrėžtumo ar atsitiktinumo duomenyse.

Kodo pavyzdžiai entropijos skaičiavimui

Štai entropijos skaičiavimo įgyvendinimai įvairiose programavimo kalbose:

1import numpy as np
2from collections import Counter
3
4def calculate_entropy(data):
5    """Apskaičiuokite Šanonų entropiją duomenų rinkinyje bitais."""
6    if not data:
7        return 0
8    
9    # Skaičiuokite kiekvienos vertės pasikartojimus
10    counter = Counter(data)
11    frequencies = np.array(list(counter.values()))
12    probabilities = frequencies / len(data)
13    
14    # Apskaičiuokite entropiją (tvarkydami 0 tikimybes)
15    non_zero_probs = probabilities[probabilities > 0]
16    entropy = -np.sum(non_zero_probs * np.log2(non_zero_probs))
17    
18    return entropy
19
20# Pavyzdžio naudojimas
21data = [1, 2, 3, 1, 2, 1]
22entropy = calculate_entropy(data)
23print(f"Entropija: {entropy:.4f} bitai")
24
#include <iostream> #include <vector> #include <unordered_map> #include <cmath> double calculateEntropy(const std::vector<double>& data) { if (data.empty()) return 0.0; // Skaičiuokite kiekvienos vertės pasikartojimus std::unordered_map<double, int> counts; for (double value : data) { counts[value]++; } // Apskaičiuokite tikimybes ir entropiją double totalCount = data.size(); double entropy = 0.0; for (const