Ukázka entropie - Sample entropy
Ukázka entropie (SampEn) je modifikací přibližné entropie (ApEn), která se používá k hodnocení složitosti fyziologických signálů časových řad a diagnostice chorobných stavů. SampEn má oproti ApEn dvě výhody: nezávislost na délce dat a relativně bezproblémovou implementaci. Existuje také malý výpočetní rozdíl: V ApEn zahrnuje srovnání mezi templátovým vektorem (viz níže) a ostatními vektory také srovnání se sebou samým. To zaručuje, že pravděpodobnosti nejsou nikdy nulové. V důsledku toho je vždy možné vzít logaritmus pravděpodobností. Vzhledem k tomu, že srovnání šablon se samotnými nižšími hodnotami ApEn jsou signály interpretovány jako pravidelnější, než ve skutečnosti jsou. Tyto vlastní shody nejsou součástí SampEn. Protože však SampEn přímo využívá korelační integrály, nejedná se o skutečné měřítko informací, ale o aproximaci. Základy a rozdíly s ApEn, stejně jako podrobný návod pro jeho aplikaci, jsou k dispozici na.
Existuje také víceúrovňová verze SampEn, kterou navrhli Costa a další.
Definice
Stejně jako přibližná entropie (ApEn) je i entropie vzorku ( SampEn ) měřítkem složitosti . Nezahrnuje však vzory podobné sobě jako ApEn. Pro daný vkládání rozměr , tolerance a počet datových bodů , SampEn je negativní přirozený logaritmus o pravděpodobnosti , že v případě dvou sad simultánních datových bodů délky mají vzdálenost pak dvě sady souběžných datových bodů délky mají také vzdálenost . A reprezentujeme to (nebo zahrnutím času vzorkování ).
Nyní předpokládejme, že máme datový soubor časové řady s konstantním časovým intervalem . Definujeme vektor šablony délky tak , že a funkcí vzdálenosti (i ≠ j) má být Chebyshevova vzdálenost (ale může to být jakákoli funkce vzdálenosti, včetně euklidovské vzdálenosti). Definujeme entropii vzorku jako
Kde
= počet párů vektorů šablony, které mají
= počet párů vektorů šablony, které mají
Z definice je zřejmé, že hodnota bude mít vždy menší nebo rovnou . Proto bude vždy buď nulová nebo kladná hodnota. Menší hodnota také znamená větší vlastní podobnost v sadě dat nebo menší šum.
Obecně bereme hodnotu být a hodnotu být . Kde std znamená standardní odchylku, která by měla být převzata přes velmi rozsáhlou datovou sadu. Hodnota r 6 ms je například vhodná pro výpočty entropie vzorků intervalů srdeční frekvence, protože to odpovídá velmi velké populaci.
Víceúrovňové SampEn
Výše uvedená definice je speciální případ více měřítka sampEn s , kde se nazývá parametr přeskakování. Ve víceúrovňových šablonách jsou vektory SampEn definovány s určitým intervalem mezi jeho prvky, určeným hodnotou . A upravený vektor šablony je definován jako a sampEn lze zapsat jako A počítáme a jako dříve.
Implementace
Ukázkovou entropii lze snadno implementovat v mnoha různých programovacích jazycích. Níže je vektorový příklad napsaný v Pythonu.
import numpy as np
def sampen(L, m, r):
N = len(L)
B = 0.0
A = 0.0
# Split time series and save all templates of length m
xmi = np.array([L[i : i + m] for i in range(N - m)])
xmj = np.array([L[i : i + m] for i in range(N - m + 1)])
# Save all matches minus the self-match, compute B
B = np.sum([np.sum(np.abs(xmii - xmj).max(axis=1) <= r) - 1 for xmii in xmi])
# Similar for computing A
m += 1
xm = np.array([L[i : i + m] for i in range(N - m + 1)])
A = np.sum([np.sum(np.abs(xmi - xm).max(axis=1) <= r) - 1 for xmi in xm])
# Return SampEn
return -np.log(A / B)
Příklad napsaný v jiných jazycích lze nalézt: