Jaké jsou empirické kumulativní distribuční funkce a co s nimi můžeme dělat? Odpověď na první otázku, pojďme se nejprve krok zpět a ujistěte se, že chápeme, „distribuce“, nebo přesněji, „rozdělení pravděpodobnosti“.

základní rozdělení pravděpodobnosti

Představte si jednoduchou událost, řekněme 3krát převrácení mince., Tady jsou všechny možné výsledky, kde H = hlava a T = ocasy:

  • HHH
  • HHT
  • HTH
  • THH
  • HTT
  • TTH
  • THT
  • TTT

Teď si představte, H = „úspěch“., Naše výsledky mohou být modifikovány takto:

  • HHH (3 úspěchy)
  • HHT (2 úspěchy)
  • HTH (2 úspěchy)
  • THH (2 úspěchy)
  • HTT (1 úspěch)
  • TTH (1 úspěch)
  • THT (1 úspěch)
  • TTT (0 úspěchy)

Protože existuje 8 možných výsledků, pravděpodobnost pro 0, 1, 2, a 3 úspěchy jsou

  • 0 úspěchy: 1/8
  • 1 úspěchy: 3/8
  • 2 úspěchy: 3/8
  • 3 úspěchy: 1/8

Pokud sečteme tyto pravděpodobnosti dostaneme 1. A to představuje „rozdělení pravděpodobnosti“ pro naši událost., Formálně tato událost následuje Binomické rozdělení, protože události jsou nezávislé, existuje pevný počet studií (3), pravděpodobnost je stejná pro každý flip (0.5), a náš výsledek je počet „úspěchů“ v počtu pokusů. Ve skutečnosti to, co jsme právě prokázali, je Binomická distribuce se 3 zkouškami a pravděpodobností rovnající se 0,5. To je někdy zkráceno jako b (3,0.5)., Můžeme rychle generovat pravděpodobnosti v R pomocí dbinom funkce:

dbinom(0:3, size = 3, prob = 0.5)## 0.125 0.375 0.375 0.125

můžeme rychle vizualizovat toto rozdělení pravděpodobnosti s barplot funkce:

barplot(dbinom(x = 0:3, size = 3, prob = 0.5), names.arg = 0:3)

funkce slouží ke generování těchto pravděpodobností je často odkazoval se na jako „hustota“ funkce, proto „d“ před binom., Distribuce, které generují pravděpodobnosti pro diskrétní hodnoty, jako je binomický v tomto příkladu, se někdy nazývají „pravděpodobnostní hmotnostní funkce“ nebo PMFs. Distribuce, které generují pravděpodobnosti pro kontinuální hodnoty, jako je normální, se někdy nazývají „funkce hustoty pravděpodobnosti“ nebo PDF. Nicméně v R, bez ohledu na PMF nebo PDF, je funkce, která generuje pravděpodobnosti, známá jako funkce „hustota“.

kumulativní distribuční funkce

nyní hovoříme o“ kumulativních “ pravděpodobnostech., Jedná se o pravděpodobnosti, které se hromadí, když se pohybujeme zleva doprava podél osy x v našem rozdělení pravděpodobnosti., Při pohledu na rozdělení pozemku výše, že by bylo

  • \(P(X\le0)\)
  • \(P(X\le1)\)
  • \(P(X\le2)\)
  • \(P(X\le3)\)

můžeme rychle vypočítat tyto:

  • \(P(X\le0) = \frac{1}{8}\)
  • \(P(X\le1) = \frac{1}{8} + \frac{3}{8} = \frac{1}{2}\)
  • \(P(X\le2) = \frac{1}{8} + \frac{3}{8} + \frac{3}{8} = \frac{7}{8}\)
  • \(P(X\le3) = \frac{1}{8} + \frac{3}{8} + \frac{3}{8} + \frac{1}{8} = 1\)

rozdělení těchto pravděpodobností je známý jako kumulativní distribuce., Opět existuje funkce v R, která generuje tyto pravděpodobnosti pro nás. Místo “ d „před“ binom „dáme“p“.

pbinom(0:3, size = 3, prob = 0.5)## 0.125 0.500 0.875 1.000

Tato funkce je často odkazoval se na jako „distribuční funkce“, což může být matoucí, když se snažíte dostat hlavu kolem rozdělení pravděpodobnosti obecně. Vykreslování této funkce vyžaduje trochu více práce. Brzy ukážeme jednodušší způsob, jak tento spiknutí provést, a proto představíme následující kód Bez komentáře.,

Tento graf se někdy nazývá step plot. Jakmile narazíte na bod na ose x, „krok“ až k další pravděpodobnosti. Pravděpodobnost 0 nebo méně je 0,125. Proto přímka od 0 do 1. V 1 stoupáme až na 0,5, protože pravděpodobnost 1 nebo méně, pokud 0,5. A tak dále. Ve 3 máme tečku na 1. Pravděpodobnost 3 nebo méně je jistota. V naší binomické distribuci máme zaručeno 3 nebo méně úspěchů.

nyní ukážeme, co jsme udělali výše s nepřetržitým rozdělením., Abychom to udrželi relativně jednoduché, použijeme standardní normální distribuci, která má průměr 0 a směrodatnou odchylku 1. Na rozdíl od našich mince obracející příkladu výše, který by mohl být chápán právě s binomické rozdělení, není tam žádný „off-the-shelf“ příklad z reálného života, který mapuje dokonale na standardní normální rozdělení. Proto budeme muset použít naši představivost.

nejprve nakreslíme distribuci pomocí funkce curve. První argument, dnorm(x), je v podstatě matematický vzorec, který kreslí čáru., Všimněte si“ d „před“ normou“; jedná se o funkci“ hustoty“. Výchozí hodnota funkce dnorm je střední = 0 a směrodatná odchylka = 1. from ato argumenty říkají nakreslete tuto křivku pomocí hodnot x v rozmezí od -3 do 3.

curve(dnorm(x), from = -3, to = 3)

křivka je hladké linie, což znamená, že je rozdělení pravděpodobnosti pro všechna reálná čísla. Oblast pod křivkou je 1, protože je to rozdělení pravděpodobnosti.,

Představte si, že se dostanete do této distribuce a nakreslíte číslo. Jaká je pravděpodobnost získání 1.134523768923? Je to v podstatě 0. Proč? Protože existuje možnost výběru. Proč je \(\infty\) ve jmenovateli? Protože existuje nekonečný počet možností. Pokud se to zdá být matoucí, představte si přiblížení do osy x s jemnějším a jemnějším rozlišením, přičemž desetinná místa se táhnou k obzoru. To znamená, že hodnoty osy Y nepředstavují pravděpodobnost, ale spíše „hustotu“., Hustota je v podstatě pravděpodobnost malého rozsahu hodnot dělených tímto rozsahem. Pokud se to také zdá být matoucí, je to v pořádku. Jen si pamatujte, že nepoužíváme normální distribuce (nebo jakékoli kontinuální distribuce), abychom získali přesné pravděpodobnosti. Používáme je k získání pravděpodobnosti pro řadu hodnot.

jaká je například pravděpodobnost, že x je menší nebo rovno -1? K tomu můžeme použít funkci pnorm, což je kumulativní distribuční funkce pro normální distribuci.,

pnorm(-1)## 0.1586553

mozaika balíček poskytuje užitečné plotDist funkce pro rychlé vizualizace tuto pravděpodobnost. Umístěním mosaic:: před funkci můžeme volat funkci bez načtení mozaikového balíčku. Argument groups říká, že vytváří dva regiony: jeden pro méně než -1 a druhý pro větší než -1. type='h' argument říká nakreslit“ histogram-like “ spiknutí. Obě barvy jsou pro příslušné regiony. Je zřejmé, že „norma“ znamená normální rozdělení., Opět platí, že výchozí hodnota je střední 0 a směrodatná odchylka 1.

# install.packages('mosaic')mosaic::plotDist('norm', groups = x < -1, type='h', col = c('grey', 'lightblue')) 

Tento graf vlastně znázorňuje kumulativní pravděpodobnosti. Modrá oblast se rovná 0,1586553, pravděpodobnost, že z této distribuce nakreslíme hodnotu -1 nebo méně. Připomeňme, že jsme použili kumulativní distribuční funkci, abychom získali tuto hodnotu. Pro vizualizaci všech kumulativních pravděpodobností pro standardní normální distribuci můžeme znovu použít funkci curve, ale tentokrát s .,

curve(pnorm(x), from = -3, to = 3)

Pokud se podíváme na -1 na ose x a jít rovnou na řádek, a pak jít přímo doleva na ose x, to by mělo přistát na 0.1586553. Můžeme přidat na pozemku pomocí segments:

curve(pnorm(x), from = -3, to = 3)segments(x0 = -1, y0 = 0, x1 = -1, y1 = pnorm(-1), col = 'red')segments(x0 = -1, y0 = pnorm(-1), x1 = -3, y1 = pnorm(-1), col = 'blue') 

Opět se jedná o hladké linie, protože máme co do činění s nekonečný počet reálných hodnot.,

empirické kumulativní distribuční funkce

Nyní, když máme jasno v kumulativních distribucích, pojďme prozkoumat empirické kumulativní distribuce. „Empirický“ znamená, že se zabýváme spíše pozorováním než teorií. Kumulativní distribuce, které jsme prozkoumali výše, byly založeny na teorii. Použili jsme binomické a normální kumulativní distribuce k výpočtu pravděpodobností a vizualizaci distribuce. V reálném životě však údaje, které shromažďujeme nebo pozorujeme, nepocházejí z teoretického rozdělení. Musíme použít samotná data k vytvoření kumulativní distribuce.,

můžeme to udělat v R pomocí funkce ecdf. ECDF znamená „empirická kumulativní distribuční funkce“. Všimněte si posledního slova: „funkce“. Funkceecdf vrací funkci. Stejně jako pbinom pnorm kumulativní distribuční funkce pro naše teoretické údaje, ecdf vytváří kumulativní distribuční funkce pro naše pozorovaná data. Zkusme to s datovou sadou rock, která je dodávána s R.,

datová sada hornin obsahuje měření na 48 vzorcích hornin z ropné nádrže. Obsahuje 4 proměnné: oblast, peri, tvar a perm. Budeme pracovat s proměnnou plochy, což je celková plocha pórů v každém vzorku.

funkceecdf pracuje na číselných vektorech, což jsou často sloupce čísel v datovém rámci. Níže uvádíme oblastní sloupec skalního datového rámce.

ecdf(rock$area)## Empirical CDF ## Call: ecdf(rock$area)## x = 1016, 1468, 1651, ..., 11878, 12212

všimněte si, že výstup není tak užitečný. Je to proto, že funkce ecdf vrací funkci., Musíme přiřadit výsledek jménu, abychom mohli vytvořit naši funkci ECDF. Pojďme použít Fn

Fn <- ecdf(rock$area)

Nyní máte vlastní kumulativní distribuční funkci můžete použít s vašimi daty. Můžeme například vytvořit krok spiknutí pro vizualizaci kumulativní distribuce.

plot(Fn)

při Pohledu na mapu můžeme vidět, odhaduje pravděpodobnost, že plocha vzorku je menší než nebo rovna 8000 je o 0.6., Ale nemusíme se spoléhat na to, že se nám to podaří. Máme funkci! Můžeme ho použít k přesnějšímu odhadu. Stačí mu dát číslo v rozmezí osy x a vrátí kumulativní pravděpodobnost.

# Prob area less than or equal to 8000Fn(8000)## 0.625

můžeme použít funkci s více než jednou hodnotou. Můžeme například získat odhadované pravděpodobnosti, že plocha je menší nebo rovna 4000, 6000 a 8000.

Fn(c(4000, 6000, 8000))## 0.1250000 0.3333333 0.6250000

k Dispozici je také summary metoda pro P funkce., Vrací souhrn jedinečných hodnot sledovaných dat. Všimněte si, že je to podobné tradiční souhrnné metodě pro číselné vektory, ale výsledek je mírně odlišný, protože shrnuje jedinečné hodnoty místo všech hodnot.

nakonec, pokud chceme, můžeme překrýt teoretické kumulativní rozdělení nad ECDF. To nám může pomoci posoudit, zda můžeme předpokládat, že naše data by mohla být modelována s určitou teoretickou distribucí. Mohly by být například naše údaje považovány za vzorky z normální distribuce?, Níže uvádíme funkci kroku a poté překryjeme kumulativní normální distribuci pomocí střední a standardní odchylky našich pozorovaných dat.

plot(ecdf(rock$area))curve(pnorm(x, mean(rock$area), sd(rock$area)), from = 0, to = 12000, add = TRUE, col='blue', lwd = 2) 

zdá se, Že linky se překrývají docela dost, což naznačuje, že údaje by mohly být aproximovat pomocí Normálního rozdělení. Můžeme také porovnat odhady z našeho ECDF s teoretickým CDF. Viděli jsme, že pravděpodobnost, že plocha je menší nebo rovna 8000 je asi 0,625., Jak se to srovnává s normální kumulativní distribucí se střední a směrodatnou odchylkou rock$area?

pnorm(8000, mean = mean(rock$area), sd = sd(rock$area))## 0.6189223

to je docela blízko!

Další grafické hodnocení je Q-Q graf, který lze také snadno provést v R pomocí qqnorm qqline funkce. Myšlenka je, že pokud body klesnou podél diagonální čáry, pak máme dobré důkazy, že data jsou věrohodně normální., Tento graf opět ukazuje, že data vypadají, jako by mohla být dobře aproximována normálním rozdělením. (Pro více informací o Q-Q pozemků, viz náš článek, porozumění Q-Q pozemků).

qqnorm(rock$area)qqline(rock$area)

v případě dotazů, nebo upřesnění týkající se tohoto článku, kontaktujte UVA Knihovna StatLab: [email protected]

Prohlédnout celou kolekci UVA Knihovna StatLab články.

Clay Ford
konzultant statistického výzkumu
University of Virginia Library
Červenec 9, 2020