🏷️sec_random_variables
:numref:sec_prob
içinde, bizim durumumuzda ya sonlu olası değerler kümesini ya da tamsayıları alan rastgele değişkenlere atıfta bulunan ayrık rastgele değişkenlerle nasıl çalışılacağının temellerini gördük. Bu bölümde, herhangi bir gerçel değeri alabilen rastgele değişkenler olan sürekli rastgele değişkenler teorisini geliştiriyoruz.
Sürekli rastgele değişkenler, ayrık rastgele değişkenlerden önemli ölçüde daha incelikli bir konudur. Yapılması gereken adil bir benzetme, buradaki teknik sıçramanın sayı listeleri toplama ve işlevlerin integralini alma arasındaki sıçramayla karşılaştırılabilir olmasıdır. Bu nedenle, teoriyi geliştirmek için biraz zaman ayırmamız gerekecek.
Sürekli rastgele değişkenlerle çalışırken karşılaşılan ek teknik zorlukları anlamak için düşüncesel bir deney yapalım. Dart tahtasına bir dart fırlattığımızı ve tahtanın ortasından tam olarak
Başlangıç olarak, tek basamaklı bir doğrulukla, yani
Ancak daha yakından baktığımızda, bu sorumuzla örtüşmüyor! Tam eşitlik istiyorduk, oysa bu bölmeler diyelim ki
Kesintisiz, daha ileriye devam edelim. Daha da keskin bir şekilde ölçüyoruz, diyelim ki
Ancak bu hiçbir şeyi çözmez! Sorunu bir basamak daha aşağıya ittik. Biraz soyutlayalım. İlk
Bunun anlamı, özünde ihtiyaç duyduğumuz her ek doğruluk basamağının eşleştirme olasılığını
Değer
Ondalık sayıdan sonra konumu
Bunu son bir adım daha ileri götürelim. Bunca zamandır
eq_pdf_deriv
Aslında, :eqref:eq_pdf_deriv
tam olarak olasılık yoğunluk fonksiyonunu tanımlar. Bu, bir noktayı başka yakın bir noktaya göre vurma olasılığını kodlayan bir
%matplotlib inline
from d2l import mxnet as d2l
from IPython import display
from mxnet import np, npx
npx.set_np()
# Bazı rastgele değişkenler için olasılık yoğunluk fonksiyonunu çiz
x = np.arange(-5, 5, 0.01)
p = 0.2*np.exp(-(x - 3)**2 / 2)/np.sqrt(2 * np.pi) + \
0.8*np.exp(-(x + 1)**2 / 2)/np.sqrt(2 * np.pi)
d2l.plot(x, p, 'x', 'Density')
#@tab pytorch
%matplotlib inline
from d2l import torch as d2l
from IPython import display
import torch
torch.pi = torch.acos(torch.zeros(1)).item() * 2 # Pi'yi tanımla
# Bazı rastgele değişkenler için olasılık yoğunluk fonksiyonunu çiz
x = torch.arange(-5, 5, 0.01)
p = 0.2*torch.exp(-(x - 3)**2 / 2)/torch.sqrt(2 * torch.tensor(torch.pi)) + \
0.8*torch.exp(-(x + 1)**2 / 2)/torch.sqrt(2 * torch.tensor(torch.pi))
d2l.plot(x, p, 'x', 'Density')
#@tab tensorflow
%matplotlib inline
from d2l import tensorflow as d2l
from IPython import display
import tensorflow as tf
tf.pi = tf.acos(tf.zeros(1)).numpy() * 2 # Pi'yi tanımla
# Bazı rastgele değişkenler için olasılık yoğunluk fonksiyonunu çiz
x = tf.range(-5, 5, 0.01)
p = 0.2*tf.exp(-(x - 3)**2 / 2)/tf.sqrt(2 * tf.constant(tf.pi)) + \
0.8*tf.exp(-(x + 1)**2 / 2)/tf.sqrt(2 * tf.constant(tf.pi))
d2l.plot(x, p, 'x', 'Density')
İşlev değerinin büyük olduğu konumlar, rastgele değeri bulma olasılığımızın daha yüksek olduğu bölgeleri gösterir. Düşük kısımlar, rastgele değeri bulamaya yatkın olmadığımız alanlardır.
Şimdi bunu daha ayrıntılı inceleyelim. Bir rastgele değişken
eq_pdf_def
Peki bu
Birincisi, olasılıklar asla negatif değildir, dolayısıyla
İkinci olarak, eq_pdf_def
denkleminden biliyoruz, olasılık yaklaşık olarak
bu yüzden hepsi üzerinden toplanabilmeli
Bu, :numref:sec_integral_calculus
içinde tartışılan bir integral yaklaşımından başka bir şey değildir, dolayısıyla şunu söyleyebiliriz:
Aslında, bu konuyu daha ayrıntılı olarak incelersek, herhangi
Bunu, daha önce olduğu gibi aynı ayrık yaklaşıklama yöntemlerini kullanarak kodda yaklaşıklaştırabiliriz. Bu durumda mavi bölgeye düşme olasılığını tahmin edebiliriz.
# Sayısal integral alma kullanarak olasılığı yaklaşıkla
epsilon = 0.01
x = np.arange(-5, 5, 0.01)
p = 0.2*np.exp(-(x - 3)**2 / 2) / np.sqrt(2 * np.pi) + \
0.8*np.exp(-(x + 1)**2 / 2) / np.sqrt(2 * np.pi)
d2l.set_figsize()
d2l.plt.plot(x, p, color='black')
d2l.plt.fill_between(x.tolist()[300:800], p.tolist()[300:800])
d2l.plt.show()
f'approximate Probability: {np.sum(epsilon*p[300:800])}'
#@tab pytorch
# Sayısal integral alma kullanarak olasılığı yaklaşıkla
epsilon = 0.01
x = torch.arange(-5, 5, 0.01)
p = 0.2*torch.exp(-(x - 3)**2 / 2) / torch.sqrt(2 * torch.tensor(torch.pi)) +\
0.8*torch.exp(-(x + 1)**2 / 2) / torch.sqrt(2 * torch.tensor(torch.pi))
d2l.set_figsize()
d2l.plt.plot(x, p, color='black')
d2l.plt.fill_between(x.tolist()[300:800], p.tolist()[300:800])
d2l.plt.show()
f'approximate Probability: {torch.sum(epsilon*p[300:800])}'
#@tab tensorflow
# Sayısal integral alma kullanarak olasılığı yaklaşıkla
epsilon = 0.01
x = tf.range(-5, 5, 0.01)
p = 0.2*tf.exp(-(x - 3)**2 / 2) / tf.sqrt(2 * tf.constant(tf.pi)) +\
0.8*tf.exp(-(x + 1)**2 / 2) / tf.sqrt(2 * tf.constant(tf.pi))
d2l.set_figsize()
d2l.plt.plot(x, p, color='black')
d2l.plt.fill_between(x.numpy().tolist()[300:800], p.numpy().tolist()[300:800])
d2l.plt.show()
f'approximate Probability: {tf.reduce_sum(epsilon*p[300:800])}'
Bu iki özelliğin, olası olasılık yoğunluk fonksiyonlarının (veya yaygın olarak karşılaşılan kısaltma için o.y.f. (p.d.f)'ler) uzayını tastamam tanımladığı ortaya çıkar. Negatif olmayan fonksiyonlar
eq_pdf_int_one
Bu işlevi, rastgele değişkenimizin belirli bir aralıkta olma olasılığını elde etmek için integral alarak yorumluyoruz:
eq_pdf_int_int
:numref:sec_distributions
içinde bir dizi yaygın dağılımı göreceğiz, ancak soyut olarak çalışmaya devam edelim.
Önceki bölümde, o.y.f. kavramını gördük. Uygulamada, bu sürekli rastgele değişkenleri tartışmak için yaygın olarak karşılaşılan bir yöntemdir, ancak önemli bir görünmez tuzak vardır: o.y.f.'nin değerlerinin kendileri olasılıklar değil, olasılıkları elde etmek için integralini almamız gereken bir fonksiyondur.
Özellikle :eqref:eq_pdf_int_int
kullanarak b.d.f'yi tanımlarız.
Birkaç özelliği inceleyelim.
-
$F(x) \rightarrow 0$ iken$x\rightarrow -\infty$ . -
$F(x) \rightarrow 1$ iken$x\rightarrow \infty$ . -
$F(x)$ azalmaz ($y > x \implies F(y) \ge F(x)$). -
$X$ sürekli bir rasgele değişkense$F(x)$ süreklidir (sıçrama yoktur).
Dördüncü maddede,
Bu örnekte, bdf ile çalışmanın faydalarından birini, aynı çerçevede sürekli veya ayrık rastgele değişkenlerle veya ötesi ikisinin karışımlarıyla başa çıkma becerisini görüyoruz (Yazı tura atın: Tura gerlirse zar atın, yazı gelirse bir dart atışının dart tahtasının merkezinden mesafesini ölçün).
Rastgele değişkenler,
Ortalama, rastgele bir değişkenin ortalama değerini kodlar.
eq_exp_def
Ortalamayı yorumlamamız gereken anlam (dikkatli olarak), bize rastgele değişkenin nerede bulunma eğiliminde olduğunu söylemesidir.
Bu bölümde inceleyeceğimiz minimalist bir örnek olarak, eq_exp_def
denklemini kullanarak, olası herhangi bir
Böylece ortalamanın
Yararlı oldukları için birkaç özelliği özetleyelim.
- Herhangi bir rastgele değişken
$X$ ve$a$ ve$b$ sayıları için,$\mu_{aX + b} = a\mu_X + b$ olur. - İki rastgele değişkenimiz varsa
$X$ ve$Y$ ,$\mu_{X + Y} = \mu_X + \mu_Y$ olur.
Ortalamalar, rastgele bir değişkenin ortalama davranışını anlamak için yararlıdır, ancak ortalama, tam bir sezgisel anlayışa sahip olmak için bile yeterli değildir. Satış başına
Bu bizi rastgele bir değişkenin varyansını düşünmeye götürür. Bu, rastgele bir değişkenin ortalamadan ne kadar saptığının nicel bir ölçüsüdür.
Denenecek makul bir şey,
Özellikle
eq_var_def
:eqref:eq_var_def
denklemindeki son eşitlik, ortadaki tanımı genişleterek ve beklentinin özelliklerini uygulayarak devam eder.
Böylece görürüz ki :eqref:eq_var_def
tanımıyla varyansımız:
Bu sonuç yine mantıklıdır.
Aşağıda varyansın birkaç özelliğini listeleyeceğiz:
- Herhangi bir rastgele değişken
$X$ için,$\mathrm{Var}(X) \ge 0$ , ancak ve ancak$X$ bir sabitse$\mathrm {Var}(X) = 0$ 'dır. - Herhangi bir rastgele değişken
$X$ ve$a$ ve$b$ sayıları için,$\mathrm{Var}(aX + b) = a^2 \mathrm{Var}(X)$ 'dır. - İki bağımsız rastgele değişkenimiz varsa,
$X$ ve$Y$ ,$\mathrm{Var}(X + Y) = \mathrm{Var}(X) + \mathrm{Var}(Y)$ 'dir.
Bu değerleri yorumlarken biraz tutukluk olabilir. Özellikle, bu hesaplama yoluyla birimleri takip edersek ne olacağını hayal edelim. Web sayfasındaki bir ürüne atanan yıldız derecelendirmesiyle çalıştığımızı varsayalım. Daha sonra
Bu özet istatistik, karekök alınarak varyanstan her zaman çıkarılabilir! Böylece standart sapmayı tanımlıyoruz:
Örneğimizde bu, standart sapmanın
Varyans için sahip olduğumuz özellikler, standart sapma için yeniden ifade edilebilir.
- Herhangi bir rastgele değişken
$X$ için ,$\sigma_{X} \ge 0$ 'dır. - Herhangi bir rastgele değişken
$X$ ve$a$ ve$b$ sayıları için,$\sigma_{aX+b} = |a|\sigma_{X}$ 'dır. - İki bağımsız rastgele değişkenimiz,
$X$ ve$Y$ , varsa,$\sigma_{X+Y} = \sqrt{\sigma_{X}^2 + \sigma_{Y}^2}$ olur.
Şu anda şunu sormak doğaldır, "Eğer standart sapma orijinal rasgele değişkenimizin birimlerindeyse, bu rasgele değişkenle ilgili olarak çizebileceğimiz bir şeyi temsil eder mi?" Cevap yankılanan bir evettir! Aslında ortalamanın bize rastgele değişkenimizin tipik konumunu söylediğine benzer şekilde, standart sapma o rastgele değişkenin tipik varyasyon aralığını verir. Bunu, Chebyshev eşitsizliği olarak bilinen şeyle sıkı hale getirebiliriz:
eq_chebyshev
Veya sözlü olarak ifade etmek gerekirse,
Bu ifadenin ne kadar ince olduğunu görmek için, eq_chebyshev
,
Bu, zamanın
Bunu görselleştirelim. Üç değeri alma olasılığını olasılıkla orantılı yüksekliği olan üç dikey çubuk olarak göstereceğiz. Aralık ortada yatay bir çizgi olarak çizilecektir. İlk grafik, aralığın güvenli bir şekilde tüm noktaları içerdiği
# Bu rakamları çizmek için bir yardımcı tanımla
def plot_chebyshev(a, p):
d2l.set_figsize()
d2l.plt.stem([a-2, a, a+2], [p, 1-2*p, p], use_line_collection=True)
d2l.plt.xlim([-4, 4])
d2l.plt.xlabel('x')
d2l.plt.ylabel('p.m.f.')
d2l.plt.hlines(0.5, a - 4 * np.sqrt(2 * p),
a + 4 * np.sqrt(2 * p), 'black', lw=4)
d2l.plt.vlines(a - 4 * np.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.vlines(a + 4 * np.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.title(f'p = {p:.3f}')
d2l.plt.show()
# p > 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, 0.2)
#@tab pytorch
# Bu rakamları çizmek için bir yardımcı tanımlayın
def plot_chebyshev(a, p):
d2l.set_figsize()
d2l.plt.stem([a-2, a, a+2], [p, 1-2*p, p], use_line_collection=True)
d2l.plt.xlim([-4, 4])
d2l.plt.xlabel('x')
d2l.plt.ylabel('p.m.f.')
d2l.plt.hlines(0.5, a - 4 * torch.sqrt(2 * p),
a + 4 * torch.sqrt(2 * p), 'black', lw=4)
d2l.plt.vlines(a - 4 * torch.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.vlines(a + 4 * torch.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.title(f'p = {p:.3f}')
d2l.plt.show()
# p > 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, torch.tensor(0.2))
#@tab tensorflow
# Bu rakamları çizmek için bir yardımcı tanımlayın
def plot_chebyshev(a, p):
d2l.set_figsize()
d2l.plt.stem([a-2, a, a+2], [p, 1-2*p, p], use_line_collection=True)
d2l.plt.xlim([-4, 4])
d2l.plt.xlabel('x')
d2l.plt.ylabel('p.m.f.')
d2l.plt.hlines(0.5, a - 4 * tf.sqrt(2 * p),
a + 4 * tf.sqrt(2 * p), 'black', lw=4)
d2l.plt.vlines(a - 4 * tf.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.vlines(a + 4 * tf.sqrt(2 * p), 0.53, 0.47, 'black', lw=1)
d2l.plt.title(f'p = {p:.3f}')
d2l.plt.show()
# p > 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, tf.constant(0.2))
İkinci görsel,
# p = 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, 0.125)
#@tab pytorch
# p = 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, torch.tensor(0.125))
#@tab tensorflow
# p = 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, tf.constant(0.125))
Üçüncüsü,
# p < 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, 0.05)
#@tab pytorch
# p < 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, torch.tensor(0.05))
#@tab tensorflow
# p < 1/8 olduğundaki aralığı çiz
plot_chebyshev(0.0, tf.constant(0.05))
Bunların tümü ayrık rastgele değişkenler açısından olmuştur, ancak sürekli rastgele değişkenler durumu benzerdir. Bunun nasıl çalıştığını sezgisel olarak anlamak için, eq_exp_def
kullanarak şunu söyleyebiliriz:
Burada
Benzer şekilde :eqref:eq_var_def
kullanılarak varyans şöyle yazılabilir:
Yukarıda ortalama, varyans ve standart sapma hakkında belirtilen her şey bu durumda hala geçerlidir. Örneğin, aşağıdaki yoğunluğa sahip rastgele değişkeni düşünelim:
Hesaplabiliriz ki:
ve
Bir uyarı olarak, Cauchy dağılımı olarak bilinen bir örneği daha inceleyelim. Aşağıda o.y.f.'si verilen dağılımdır.
# Cauchy dağılımınının oyf'sini çiz
x = np.arange(-5, 5, 0.01)
p = 1 / (1 + x**2)
d2l.plot(x, p, 'x', 'p.d.f.')
#@tab pytorch
# Cauchy dağılımınının oyf'sini çiz
x = torch.arange(-5, 5, 0.01)
p = 1 / (1 + x**2)
d2l.plot(x, p, 'x', 'p.d.f.')
#@tab tensorflow
# Cauchy dağılımınının oyf'sini çiz
x = tf.range(-5, 5, 0.01)
p = 1 / (1 + x**2)
d2l.plot(x, p, 'x', 'p.d.f.')
Bu fonksiyon masum görünür ve bir integral tablosuna başvurmak, onun altında birim alan olduğunu gösterecek ve böylece sürekli bir rastgele değişken tanımlayacaktır.
Neyin yanlış gittiğini görmek için, bunun varyansını hesaplamaya çalışalım. Hesaplama şunu kullanmayı içerir :eqref:eq_var_def
İç kısımdaki işlev şuna benzer:
# Varyansı hesaplamak için gereken integrali çiz
x = np.arange(-20, 20, 0.01)
p = x**2 / (1 + x**2)
d2l.plot(x, p, 'x', 'integrand')
#@tab pytorch
# Varyansı hesaplamak için gereken integrali çiz
x = torch.arange(-20, 20, 0.01)
p = x**2 / (1 + x**2)
d2l.plot(x, p, 'x', 'integrand')
#@tab tensorflow
# Varyansı hesaplamak için gereken integrali çiz
x = tf.range(-20, 20, 0.01)
p = x**2 / (1 + x**2)
d2l.plot(x, p, 'x', 'integrand')
Bu fonksiyonun altında sonsuz bir alan vardır, çünkü esasen sıfırda çökerken diğer yerlerde bir sabittir ve bunu gösterebiliriz.
Bu, iyi tanımlanmış bir sonlu varyansa sahip olmadığı anlamına gelir.
Ancak daha derin bakmak daha da rahatsız edici bir sonuç gösterir. Ortalama değerini :eqref:eq_exp_def
kullanarak hesaplamaya çalışalım. Değişken değişiğimi formülünü kullanalım,
İçerideki integral, logaritmanın tanımıdır, dolayısıyla bu özünde
Makine öğrenmesi bilimcileri, modellerini, çoğu zaman bu sorunlarla uğraşmamıza gerek kalmayacak şekilde tanımlarlar, öyle ki vakaların büyük çoğunluğunda iyi tanımlanmış ortalamalara ve varyanslara sahip rastgele değişkenlerle ilgileneceğiz. Bununla birlikte, ağır kuyruklu rastgele değişkenler (yani, büyük değerler alma olasılıklarının ortalama veya varyans gibi şeyleri tanımlanmamış hale getirecek kadar büyük olduğu rastgele değişkenler) fiziksel sistemleri modellemede yardımcı olur, bu nedenle var olduklarını bilmeye değerdir.
Yukarıdaki çalışmanın tümü, tek bir gerçel değerli rastgele değişkenle çalıştığımızı varsayar. Peki ya iki veya daha fazla potansiyel olarak yüksek düzeyde ilişkili rastgele değişkenle uğraşıyorsak? Bu durum, makine öğrenmesinde normaldir: Bir imgedeki sec_naive_bayes
içinde böyle bir varsayım nedeniyle düşük performans gösteren bir model göreceğiz). Bu ilişkili sürekli rastgele değişkenleri işlemek için matematik dili geliştirmemiz gerekiyor.
Neyse ki :numref:sec_integral_calculus
içindeki çoklu integraller ile böyle bir dil geliştirebiliriz. Basitlik açısından, ilişkilendirilebilecek iki
Tek değişkenli duruma benzer akıl yürütme, bunun yaklaşık olması gerektiğini gösterir:
bu bazı
-
$p(x, y) \ge 0$ ; -
$\int _ {\mathbb{R}^2} p(x, y) ;dx ;dy = 1$ ; -
$P((X, Y) \in \mathcal{D}) = \int _ {\mathcal{D}} p(x, y) ;dx ;dy$ .
Bu şekilde, birden çok, potansiyel olarak ilişkili rastgele değişkenlerle başa çıkabiliriz. İkiden fazla rastgele değişkenle çalışmak istersek, çok değişkenli yoğunluğu,
Birden çok değişkenle uğraşırken, çoğu zaman ilişkileri görmezden gelmek ve "Bu tek değişken nasıl dağıtılır?" diye sormak isteriz. Böyle bir dağılım, marjinal dağılım olarak adlandırılır.
Somut olmak gerekirse, bileşik yoğunluğu
Çoğu şeyde olduğu gibi, neyin doğru olması gerektiğini anlamak için sezgisel resmimize dönmek en iyisidir. Yoğunluğun
Yoğunluğumuz bize bu durumda ne olduğunu doğrudan söylemiyor,
Bu bize, :numref:fig_marginal
şeklindeki gibi bir satırdaki bir dizi kare boyunca yoğunluk değerini toplamamızı söyler. Aslında, her iki taraftan bir epsilon çarpanı iptal ettikten ve sağdaki toplamın
Böylece görürüz ki:
Bu bize, marjinal bir dağılım elde etmek için umursamadığımız değişkenlerin integralini almamızı söyler. Bu sürece genellikle gereksiz değişkenleri integralle dışarı atma veya marjinalleştirme adı verilir.
Birden fazla rastgele değişkenle uğraşırken, bilinmesinin ileride yardımcı olacağı ek bir özet istatistik vardır: Kovaryans. Bu, iki rastgele değişkenin birlikte dalgalanma derecesini ölçer.
Başlamak için
eq_cov_def
Bunu sezgisel olarak düşünmek için: Aşağıdaki rastgele değişken çiftini düşünün.
Burada eq_cov_def
kullanarak hesaplama yapabiliriz:
Kovaryansla ilgili bir not, yalnızca bu doğrusal ilişkileri ölçmesidir.
Sürekli rastgele değişkenler için, hemen hemen aynı hikaye geçerlidir. Bu noktada, ayrık ve sürekli arasındaki geçişi yapmakta oldukça rahatız, bu nedenle herhangi bir türetme olmaksızın :eqref:eq_cov_def
denkleminin sürekli benzerini sağlayacağız.
Görselleştirme için, ayarlanabilir kovaryanslı rastgele değişkenlerinden bir topluluğa bakalım.
# Birkaç rastgele değişken ayarlanabilir kovaryansı çiz
covs = [-0.9, 0.0, 1.2]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = np.random.normal(0, 1, 500)
Y = covs[i]*X + np.random.normal(0, 1, (500))
d2l.plt.subplot(1, 4, i+1)
d2l.plt.scatter(X.asnumpy(), Y.asnumpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cov = {covs[i]}')
d2l.plt.show()
#@tab pytorch
# Birkaç rastgele değişken ayarlanabilir kovaryansı çiz
covs = [-0.9, 0.0, 1.2]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = torch.randn(500)
Y = covs[i]*X + torch.randn(500)
d2l.plt.subplot(1, 4, i+1)
d2l.plt.scatter(X.numpy(), Y.numpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cov = {covs[i]}')
d2l.plt.show()
#@tab tensorflow
# Birkaç rastgele değişken ayarlanabilir kovaryansı çiz
covs = [-0.9, 0.0, 1.2]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = tf.random.normal((500, ))
Y = covs[i]*X + tf.random.normal((500, ))
d2l.plt.subplot(1, 4, i+1)
d2l.plt.scatter(X.numpy(), Y.numpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cov = {covs[i]}')
d2l.plt.show()
Kovaryansların bazı özelliklerini görelim:
- Herhangi bir rastgele değişken
$X$ için,$\mathrm{Cov}(X, X) = \mathrm{Var}(X)$ 'dir. -
$X, Y$ rasgele değişkenleri ve$a$ ve$b$ sayıları için,$\mathrm{Cov}(aX+b, Y) = \mathrm{Cov}(X, aY+b) = a\mathrm{Cov}(X, Y)$ 'dir. -
$X$ ve$Y$ bağımsızsa,$\mathrm{Cov}(X, Y) = 0$ 'dır.
Ek olarak, daha önce gördüğümüz bir ilişkiyi genişletmek için kovaryansı kullanabiliriz.
Kovaryans bilgisi ile bu ilişkiyi genişletebiliriz. Aslında, biraz cebir genel olarak şunu gösterebilir:
Bu, ilişkili rastgele değişkenler için varyans toplama kuralını genelleştirmemize olanak tanır.
Ortalamalar ve varyanslar durumunda yaptığımız gibi, şimdi birimleri ele alalım.
Neyin mantıklı olduğunu görmek için bir düşünce deneyi yapalım. Rastgele değişkenlerimizi inç ve dolar cinsinden inç ve sent olarak dönüştürdüğümüzü varsayalım. Bu durumda rastgele
eq_cor_def
Bunun birimsiz bir değer olduğunu görüyoruz. Biraz matematik, bu sayının
Yukarıdaki açık ayrık örneğimize dönersek, eq_cor_def
kullanarak hesaplayabiliriz:
Bu şimdi
Başka bir örnek olarak, herhangi bir rastgele değişken olarak
böylece :eqref:eq_cor_def
ile beraber:
Böylece korelasyonun herhangi bir
Yine ayarlanabilir korelasyonlu rastgele değişkenlerin bir koleksiyonunu çizelim.
# Birkaç rastgele değişken ayarlanabilir korelasyonu çiz
cors = [-0.9, 0.0, 1.0]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = np.random.normal(0, 1, 500)
Y = cors[i] * X + np.sqrt(1 - cors[i]**2) * np.random.normal(0, 1, 500)
d2l.plt.subplot(1, 4, i + 1)
d2l.plt.scatter(X.asnumpy(), Y.asnumpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cor = {cors[i]}')
d2l.plt.show()
#@tab pytorch
# Birkaç rastgele değişken ayarlanabilir korelasyonu çiz
cors = [-0.9, 0.0, 1.0]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = torch.randn(500)
Y = cors[i] * X + torch.sqrt(torch.tensor(1) -
cors[i]**2) * torch.randn(500)
d2l.plt.subplot(1, 4, i + 1)
d2l.plt.scatter(X.numpy(), Y.numpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cor = {cors[i]}')
d2l.plt.show()
#@tab tensorflow
# Birkaç rastgele değişken ayarlanabilir korelasyonu çiz
cors = [-0.9, 0.0, 1.0]
d2l.plt.figure(figsize=(12, 3))
for i in range(3):
X = tf.random.normal((500, ))
Y = cors[i] * X + tf.sqrt(tf.constant(1.) -
cors[i]**2) * tf.random.normal((500, ))
d2l.plt.subplot(1, 4, i + 1)
d2l.plt.scatter(X.numpy(), Y.numpy())
d2l.plt.xlabel('X')
d2l.plt.ylabel('Y')
d2l.plt.title(f'cor = {cors[i]}')
d2l.plt.show()
Korelasyonun birkaç özelliğini aşağıda listeleyelim.
- Herhangi bir rastgele değişken
$X$ için ,$\rho(X, X) = 1$ . -
$X, Y$ rasgele değişkenleri ve$a$ ve$b$ sayıları için,$\rho(aX + b, Y) = \rho(X, aY + b) = \rho(X, Y)$ . -
$X$ ve$Y$ , sıfır olmayan varyansla bağımsızsa,$\rho(X, Y) = 0$ .
Son bir not olarak, bu formüllerden bazılarının tanıdık geldiğini hissedebilirsiniz. Gerçekten, her şeyi
Bu, terimlerin toplamının kareköküne bölünen bir terimler çarpımının toplamına benziyor. Bu tam olarak,
Aslında, normların standart sapmalarla ilişkili olduğunu ve korelasyonların açıların kosinüsü olduğunu düşünürsek, geometriden elde ettiğimiz sezgilerin çoğu rastgele değişkenler hakkında düşünmeye uygulanabilir.
- Sürekli rastgele değişkenler, bir dizi değer sürekliliği alabilen rastgele değişkenlerdir. Ayrık rastgele değişkenlere kıyasla, çalışmayı daha zor hale getiren bazı teknik zorlukları vardır.
- Olasılık yoğunluk fonksiyonu, bir aralıktaki eğrinin altındaki alanın o aralıkta bir örnek nokta bulma olasılığını gösteren bir fonksiyon vererek, sürekli rastgele değişkenlerle çalışmamızı sağlar.
- Birikimli dağılım işlevi, rastgele değişkenin belirli bir eşik değerinden daha düşük olduğunu gözlemleme olasılığıdır. Ayrık ve sürekli değişkenleri birleştiren kullanışlı bir alternatif bakış açısı sağlayabilir.
- Ortalama, rastgele bir değişkenin ortalama değeridir.
- Varyans, rastgele değişken ile onun ortalaması arasındaki farkın beklenen (ortalama) karesidir.
- Standart sapma, varyansın kareköküdür. Rasgele değişkenin alabileceği değerlerin aralığını ölçmek olarak düşünülebilir.
- Chebyshev'in eşitsizliği, çoğu zaman rastgele değişkeni içeren açık bir aralık vererek bu sezgiyi içleştirmemize izin verir.
- Bileşik yoğunluklar, ilişkili rastgele değişkenlerle çalışmamıza izin verir. İstenilen rastgele değişkenin dağılımını elde etmek için istenmeyen rastgele değişkenlerin integralini alarak bileşik yoğunluklarını marjinalize edebiliriz.
- Kovaryans ve korelasyon katsayısı, iki ilişkili rastgele değişken arasındaki herhangi bir doğrusal ilişkiyi ölçmenin bir yol sağlar.
-
$x \ge 1$ için yoğunluğu$p(x) = \frac{1}{x ^ 2}$ ve aksi takdirde$p(x) = 0$ ile verilen rastgele değişkenimiz olduğunu varsayalım.$P(X> 2)$ nedir? - Laplace dağılımı, yoğunluğu
$p(x) = \frac{1}{2}e^{-|x|}$ ile verilen rastgele bir değişkendir. Bu fonksiyonun ortalaması ve standart sapması nedir? Bir ipucu,$\int_0^\infty xe^{-x} ; dx = 1$ ve$\int_0^\infty x^2e^{-x} ; dx = 2$ . - Sokakta size doğru yürüyorum ve "Ortalaması
$1 $ , standart sapması$2$ olan rastgele bir değişkenim var ve örneklerimin$% 25$ 'inin$9$ 'dan daha büyük bir değer aldığını gözlemledim." dedim. Bana inanır mısınız? Neden evet ya da neden hayır? -
$x, y \in [0,1]$ için$p_{XY}(x, y) = 4xy$ ve aksi takdirde$p_{XY}(x, y) = 0$ ile bileşik yoğunlukları verilen iki rastgele değişkenimizin$X, Y$ olduğunu varsayalım.$X$ ve$Y$ 'nin kovaryansı nedir?
:begin_tab:mxnet
Tartışmalar
:end_tab:
:begin_tab:pytorch
Tartışmalar
:end_tab:
:begin_tab:tensorflow
Tartışmalar
:end_tab: