Evrişim (Convolution)
Evrişim iki fonksiyon $f,g$ üzerinde tanımlı bir operasyondur, bu operasyon iki fonksiyondan üçüncü bir fonksiyon yaratır. Operasyon bir entegral üzerinden tanımlıdır, $g$'nin aynı görüntüsü / ters çevrilmiş halinin alınıp, soldan (negatif sonsuzluk) sağa doğru kaydırılırken $f$ ile üst üste gelen bölgenin alanını her $t$ için alınması durumudur, bu açıdan evrişim bir tür ağırlıklı ortalama olarak görülebilir, $f$'in ağırlıklı ortalaması $g$ üzerinden alınmaktadır. Matematiksel olarak,
$$f * g \equiv \int_{-\infty}^{\infty} f(\tau)g(t-\tau) \mathrm{d}\tau $$
Evrişim sırabağımsızdır, yani $f * g = g * f$, o zaman
$$f * g \equiv \int_{-\infty}^{\infty} f(t-\tau)g(\tau) \mathrm{d}\tau $$
ifadesi de doğrudur. Örnek $f,g$ üzerine görelim,
Her iki fonksiyonu bir geçici değişken $\tau$ üzerinden tanımlayabiliriz, Sonra $g$'nin ayna görüntüsünü alırız, $g(\tau) \to g(-\tau)$
Şimdi bir zaman kaydırma faktörü $t$ ekleyebiliriz, bir $g(t-\tau)$ elde ederiz, bunun etkisi her $t$ için $g$'yi istediğimiz noktaya kaydırabilmektir. Bunu yaparken, mesela negatif sonsuzluktan pozitif sonsuzluğa kaydırırken, her $t$ anında alınan entegralin sonuçları bize evrişimi verir. Dikkat, kaydırma entegralin sonucu değil, sadece "her $t$ için" vurgusu amacıyla bu kaydırma görüntüsü veriliyor, her $t$ noktasında, kaydırma nereye olursa olsun, $-\infty,\infty$ arasında entegral alınmaktadır.
Ayrıksal olarak,
$$ (f * g) [n] \equiv \sum_{m=-\infty}^{\infty} f[m] g[n-m] $$
Farklı fonksiyonlar üzerinde görelim, mesela kare fonksiyonunu kendisiyle evrişimi, $f$ mavi, $g$ kırmızı, sarı bölgeler çakışma olan yerler, $g$'nin her $t$ için evrişim entegral sonucu ise siyah çizgi ile gösteriliyor,
Şimdi $f$ kavisli bir fonksiyon, $g$ hala kare,
Evrişim ile çapraz korelasyon (cross-correlation) arasında bağlantılar var, $t-\tau$ yerine $t+\tau$ kullanılırsa çapraz korelasyon elde ediliyor.
Örnek
import scipy.signal
f = [1,2,3,4,5,6]
g = [5,4,3,2,1]
print scipy.signal.convolve(a,b)
[ 5 14 26 40 55 70 50 32 17 6]
$X+Y$ Dağılımı
Çoğu zaman $X,Y$'in bağımsız olduğu durumda bu rasgele değişkenlerin toplamının dağılımını hesaplamak gerekir [2, sf 56]. Kümülatif fonksiyon $F$ ile
$$ F_{Z+Y} = P(X+Y \le a) $$
$$ = \int \int_{x+y \le a}^{} f(x)g(y) \mathrm{d} x \mathrm{d} y $$
$f(x)g(y)$ kullanabildik çünkü $X,Y$ bağımsız. Alt sınırda bir değişiklik yapalım, $x+y \le a$, o zaman $x \le a-y$. Demek ki
$$ = \int_{-\infty}^{\infty} \int_{-\infty}^{a-y} f(x)g(y) \mathrm{d} x \mathrm{d} y $$
Entegralleri gruplayabiliriz,
$$ = \int_{-\infty}^{\infty} \bigg[ \int_{-\infty}^{a-y} f(x) \mathrm{d} x \bigg] g(y) \mathrm{d} y $$
$$ = \int_{-\infty}^{\infty} F_X(a-y) g(y) \mathrm{d} y $$
Yoğunluğu almak için kümülatif fonksiyonun türevini alırsak,
$$ f_{X+Y}(a) = \frac{d}{da} \int_{-\infty}^{\infty} F_X(a-y) g(y) \mathrm{d} y $$
$$ = \int_{-\infty}^{\infty} \frac{d}{da} F_X(a-y) g(y) \mathrm{d} y $$
$$ = \int_{-\infty}^{\infty} f_X(a-y) g(y) \mathrm{d} y $$
Üstteki ifade bir evrişim operasyonu! Yani iki bağımsız rasgele değişkenin toplamının yoğunluğu, değişkenlerin yoğunluklarının evrişimine eşittir!
[1, sf. 365]'de ayrıksal olarak üstteki hesaba değiniliyor, elde iki zar var, zarın her yüzünün gelme ihtimali $p_i=1/6$, bu iki zarın mümkün her türlü toplamının hesabı bir evrişim, $p * p$,
import scipy.signal
d = 1/6. * np.array([1.0,1.0,1.0,1.0,1.0,1.0])
print scipy.signal.convolve(d,d)
print scipy.signal.convolve(d,d) * 36.
[ 0.02777778 0.05555556 0.08333333 0.11111111 0.13888889 0.16666667
0.13888889 0.11111111 0.08333333 0.05555556 0.02777778]
[ 1. 2. 3. 4. 5. 6. 5. 4. 3. 2. 1.]
Sonuca göre toplam 12 gelme ihtimali 1/36 (en baştaki), 11 gelme ihtimali 2/36, vs.
Ek bilgiler için bkz [4] notları.
Kaynaklar
[1] Strang, Computational Science and Engineering
[2] Wikipedia, Convolution, https://en.wikipedia.org/wiki/Convolution
[3] Ross, Introduction to Probability Models 10th Edition
[4] Bayramlı, Diferansiyel Denklemler, Ders 21
Yukarı