Örnek entropi - Sample entropy

Örnek entropisi (SampEn), fizyolojik zaman serisi sinyallerinin karmaşıklığını değerlendirmek ve hastalıklı durumları teşhis etmek için kullanılan yaklaşık entropinin (ApEn) bir modifikasyonudur . SampEn'in ApEn'e göre iki avantajı vardır: veri uzunluğundan bağımsız ve nispeten sorunsuz bir uygulama. Ayrıca, küçük bir hesaplama farkı vardır: ApEn'de, şablon vektör (aşağıya bakın) ve vektörlerin geri kalanı arasındaki karşılaştırma, kendisiyle karşılaştırmayı da içerir. Bu, olasılıkların asla sıfır olmadığını garanti eder . Sonuç olarak, olasılıkların bir logaritmasını almak her zaman mümkündür. Şablon karşılaştırmaları ApEn değerlerini düşürdüğünden, sinyaller gerçekte olduğundan daha düzenli olarak yorumlanır. Bu kendi kendine eşleşmeler SampEn'e dahil değildir. Bununla birlikte, SampEn korelasyon integrallerini doğrudan kullandığından, gerçek bir bilgi ölçüsü değil, bir yaklaşımdır. ApEn ile temelleri ve farklılıkları yanı sıra uygulaması için adım adım öğretici mevcuttur.

Costa ve diğerleri tarafından önerilen çok ölçekli bir SampEn sürümü de var.

Tanım

Gibi yaklaşık entropi (apen), Örnek entropi ( SampEn ) bir ölçüsüdür karmaşıklık . Ancak ApEn'in yaptığı gibi kendine benzer kalıpları içermez. Belirli için gömme boyut , tolerans ve sayısı veri noktaları , SampEn negatif doğal logaritması arasında olasılık iki set eğer eş zamanlı uzunlukta veri noktaları mesafeye sahip sonra uzunluğunun aynı anda veri noktalarının iki set de mesafeye sahip . Ve onu (veya örnekleme süresini dahil ederek) temsil ediyoruz .

Şimdi , sabit bir zaman aralığına sahip bir zaman serisi veri setimiz olduğunu varsayalım . Uzunluk için bir şablon vektörü tanımlıyoruz , öyle ki mesafe fonksiyonu (i≠j) Chebyshev mesafesi olacak (ancak Öklid mesafesi dahil herhangi bir uzaklık fonksiyonu olabilir ). Örnek entropiyi şu şekilde tanımlarız:

Nereye

= sahip olan şablon vektör çiftlerinin sayısı

= sahip olan şablon vektör çiftlerinin sayısı

Her zaman daha küçük veya eşit bir değere sahip olacağı tanımdan açıktır . Bu nedenle, her zaman ya sıfır ya da pozitif değer olacaktır. Daha küçük bir değer, aynı zamanda , veri setinde daha fazla kendi kendine benzerliği veya daha az gürültüyü gösterir.

Genellikle değerini almak olmaya ve değerini olmak . Std, çok büyük bir veri kümesi üzerinden alınması gereken standart sapma anlamına gelir . Örneğin, 6 ms'lik r değeri, çok büyük bir popülasyona karşılık geldiğinden, kalp hızı aralıklarının örnek entropi hesaplamaları için uygundur .

Çok Ölçekli Örnekleme

Yukarıda bahsedilen tanım , atlama parametresi olarak adlandırılan , ile çok ölçekli sampEn'in özel bir durumudur . Çok ölçekli SampEn'de şablon vektörleri, öğeleri arasında değeri ile belirtilen belirli bir aralıkla tanımlanır . Ve modifiye şablon vektör olarak tanımlanır ve sampEn olarak yazılabilir şu hesaplamayı Ve ve önceki gibi.

uygulama

Örnek entropi, birçok farklı programlama dilinde kolayca uygulanabilir. Aşağıda Python ile yazılmış vektörleştirilmiş bir örnek bulunmaktadır.

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)

Diğer dillerde yazılmış bir örnek bulunabilir:

Referanslar