Ce sunt funcțiile empirice de distribuție cumulativă și ce putem face cu ele? Pentru a răspunde la prima întrebare, să facem primul pas înapoi și să ne asigurăm că înțelegem „distribuții” sau, mai precis, „distribuții de probabilitate”.

o distribuție de probabilitate de bază

Imaginați-vă un eveniment simplu, să zicem flipping o monedă de 3 ori., Iată toate rezultatele posibile, unde H = cap și T = cozi:

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

acum imaginați-vă H = „succes”., Rezultatele noastre pot fi modificate după cum urmează:

  • HHH (3 succese)
  • HHT (2 succese)
  • HTH (2 succese)
  • THH (2 succese)
  • HTT (1 succes)
  • TTH (1 succes)
  • THT (1 succes)
  • TTT (0 succese)

Deoarece există 8 rezultate posibile, probabilitatea de 0, 1, 2, și 3 succese sunt

  • 0 succese: 1/8
  • 1 succese: 3/8
  • 2 succese: 3/8
  • 3 succese: 1/8

Dacă facem suma acestor probabilități ajungem 1. Și aceasta reprezintă „distribuția probabilității” pentru evenimentul nostru., Formal, acest eveniment urmează o distribuție binomială, deoarece evenimentele sunt independente, există un număr fix de încercări (3), probabilitatea este aceeași pentru fiecare flip (0.5), iar rezultatul nostru este numărul de „succese” în numărul de încercări. De fapt, ceea ce tocmai am demonstrat este o distribuție binomială cu 3 încercări și probabilitate egală cu 0,5. Aceasta este uneori abreviată ca b (3,0. 5)., Putem genera rapid probabilitățile în R folosind dbinom funcția:

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

putem vizualiza rapid această distribuție de probabilitate cu barplot funcția:

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

funcția utilizată pentru a genera aceste probabilități este adesea menționată ca „densitate” funcția, prin urmare, „d”, în fața binom., Distribuțiile care generează probabilități pentru valori discrete, cum ar fi binomul din acest exemplu, sunt uneori numite „funcții de masă de probabilitate” sau PMFs. Distribuțiile care generează probabilități pentru valori continue, cum ar fi normalul, sunt uneori numite „funcții de densitate de probabilitate” sau PDF-uri. Cu toate acestea, în R, indiferent de PMF sau PDF, funcția care generează probabilitățile este cunoscută sub numele de funcția” densitate”.

funcția de distribuție cumulativă

acum să vorbim despre probabilitățile „cumulative”., Acestea sunt probabilități care se acumulează pe măsură ce ne mișcăm de la stânga la dreapta de-a lungul axei x în distribuția noastră de probabilitate., Se uită la distribuția complot de mai sus, care ar fi

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

putem calcula rapid aceste:

  • \(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\)

distribuirea acestor probabilități este cunoscut sub numele de distribuție cumulativă., Din nou, există o funcție în R care generează aceste probabilități pentru noi. În loc de un” d „în fața” binomului „am pus un”p”.

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

Această funcție este adesea menționată ca „funcția de distribuție”, care poate fi confuz atunci când sunteți încercarea de a obține capul în jurul valorii de distribuții de probabilitate, în general. Trasarea acestei funcții necesită ceva mai multă muncă. Vom demonstra o modalitate mai ușoară de a face acest complot în scurt timp, așa că prezentăm următorul cod fără comentarii.,

Acest complot este uneori numit un complot pas. De îndată ce atingeți un punct pe axa x, „pășiți” până la următoarea probabilitate. Probabilitatea de 0 sau mai puțin este de 0,125. Prin urmare, linia dreaptă de la 0 la 1. La 1 vom pas până la 0,5, deoarece probabilitatea de 1 sau mai puțin dacă 0,5. Și așa mai departe. La 3, avem un punct la 1. Probabilitatea de 3 sau mai puține este certitudinea. Suntem garantați că vom obține 3 sau mai puține succese în distribuția noastră binomială.acum, să demonstrăm ce am făcut mai sus cu o distribuție continuă., Pentru a o menține relativ simplă, vom folosi distribuția normală standard, care are o medie de 0 și o abatere standard de 1. Spre deosebire de flipping monede exemplul de mai sus, care ar putea fi înțeles exact cu o distribuție binomială, nu există nici un „off-the-shelf” exemplu din viața reală hărți perfect pentru o distribuție normală standard. Prin urmare, va trebui să ne folosim imaginația.

să tragem mai întâi distribuția folosind funcția curve. Primul argument, dnorm(x), este practic formula matematică care trage linia., Observați „d „în fața” normei”; aceasta este funcția” densitate”. Valorile implicite ale funcției dnorm Sunt media = 0 și abaterea standard = 1. Argumentele from și to spun trage această curbă folosind valori de x variind de la -3 la 3.

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

curba este o linie netedă, ceea ce înseamnă că este o distribuție de probabilitate pentru toate numere reale. Zona de sub curba este 1, deoarece este o distribuție de probabilitate.,

Imaginați-vă că ajungeți în această distribuție și desenați un număr. Care este probabilitatea de a obține 1.134523768923? Este în esență 0. De ce? Pentru că există \(\frac{1} {\infty}\) șansă de a-l selecta. De ce este \(\infty\) în numitor? Pentru că există un număr infinit de posibilități. Dacă acest lucru pare confuz, imaginați-vă că măriți axa x cu o rezoluție mai fină și mai fină, cu zecimale care se întind până la orizont. Aceasta înseamnă că valorile axei y nu reprezintă probabilitatea, ci mai degrabă „densitatea”., Densitatea este în esență probabilitatea unui interval mic de valori împărțit la acel interval. Dacă și asta pare confuz, este în regulă. Doar amintiți-vă că nu folosim distribuții normale (sau orice distribuție continuă) pentru a obține probabilități exacte. Le folosim pentru a obține probabilități pentru o gamă de valori.

de exemplu, care este probabilitatea ca x să fie mai mic sau egal cu -1? Pentru aceasta putem folosi funcția pnorm, care este funcția de distribuție cumulativă pentru distribuția normală.,

pnorm(-1)## 0.1586553

mozaic pachet oferă la îndemână plotDist funcția de repede vizualizarea această probabilitate. Prin plasarea mosaic:: înainte de funcție, putem apela funcția fără a încărca pachetul mozaic. Argumentul groups spune crearea a două regiuni: una pentru mai puțin de -1 și alta pentru mai mare de -1. Argumentul type='h' spune să desenezi un complot „asemănător histogramei”. Cele două culori sunt pentru regiunile respective. Evident, „norma” înseamnă trage o distribuție normală., Din nou, valoarea implicită este media 0 și abaterea standard 1.

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

Acest complot arată de fapt probabilitatea cumulată. Regiunea albastră este egală cu 0,1586553, Probabilitatea pe care o tragem o valoare de -1 sau mai mică din această distribuție. Reamintim că am folosit funcția de distribuție cumulativă pentru a obține această valoare. Pentru a vizualiza toate probabilitățile cumulative pentru distribuție normală standard, putem folosi din nou curve function dar de data asta cu pnorm.,

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

Dacă ne uităm la -1 pe axa x și du-te direct la linie, și apoi du-te direct la stânga la axa x, ar trebui să aterizeze pe 0.1586553. Putem adăuga acest la complot folosind 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') 

din Nou, aceasta este o linie netedă, pentru că avem de-a face cu un număr infinit de valori reale.,

funcții empirice de distribuție cumulativă

acum, că suntem clar pe distribuții cumulative, să explorăm distribuții cumulative empirice. „Empiric” înseamnă că suntem preocupați mai degrabă de observații decât de teorie. Distribuțiile cumulative pe care le-am explorat mai sus s-au bazat pe teorie. Am folosit distribuțiile cumulative binomiale și normale, respectiv, pentru a calcula probabilitățile și a vizualiza distribuția. Cu toate acestea, în viața reală, datele pe care le colectăm sau le observăm nu provin dintr-o distribuție teoretică. Trebuie să folosim datele în sine pentru a crea o distribuție cumulativă.,

putem face acest lucru în R cu funcția ecdf. ECDF înseamnă „funcția empirică de distribuție cumulativă”. Rețineți ultimul cuvânt:”funcție”. Funcția ecdf returnează o funcție. Doar ca pbinom și pnorm au fost distribuție cumulativă funcții pentru date teoretice, ecdf creează un funcției de distribuție cumulative pentru datele observate. Să încercăm asta cu setul de date rock care vine cu R.,setul de date privind rocile conține măsurători pe 48 de probe de rocă dintr-un rezervor de petrol. Acesta conține 4 variabile: zona, peri, forma, și perm. Vom lucra cu variabila de zonă, care este suprafața totală a porilor din fiecare probă.

funcțiile ecdf funcționează pe vectori numerici, care sunt adesea coloane de numere într-un cadru de date. Mai jos îi dăm coloana de zonă a cadrului de date rock.

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

Notificare de ieșire nu este util. Asta pentru că ecdf funcția returnează o funcție., Trebuie să atribuim rezultatul unui nume pentru a putea crea funcția noastră ECDF. Hai să folosim Fn

Fn <- ecdf(rock$area)

Acum ai un custom funcția de distribuție cumulativă puteți utiliza cu datele tale. De exemplu, putem crea un complot pas pentru a vizualiza distribuția cumulativă.Privind la complot putem vedea probabilitatea estimată că suprafața unui eșantion este mai mică sau egală cu 8000 este de aproximativ 0,6., Dar noi nu trebuie să se bazeze pe ochi-balling grafic. Avem o funcție! O putem folosi pentru a obține o estimare mai precisă. Doar da un număr în intervalul axei x și se va întoarce probabilitatea cumulativă.

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

putem folosi funcția cu mai multe valori. De exemplu, putem obține probabilități estimate că zona este mai mică sau egală cu 4000, 6000 și 8000.

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

de asemenea, Există un summary metoda pentru ECDF funcții., Acesta returnează un rezumat al valorilor unice ale datelor observate. Observați că este similar cu metoda tradițională de sinteză pentru vectorii numerici, dar rezultatul este ușor diferit, deoarece rezumă valorile unice în loc de toate valorile.în cele din urmă, dacă ne place, putem suprapune o distribuție cumulativă teoretică asupra ECDF. Acest lucru ne poate ajuta să evaluăm dacă putem sau nu să presupunem că datele noastre ar putea fi modelate cu o anumită distribuție teoretică. De exemplu, ar putea fi considerate datele noastre ca fiind prelevate dintr-o distribuție normală?, Mai jos prezentăm funcția step și apoi suprapunem o distribuție normală cumulativă folosind abaterea medie și standard a datelor noastre observate.

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

liniile par să se suprapună destul de un pic, ceea ce sugerează datele ar putea fi aproximată cu o distribuție Normală. De asemenea, putem compara estimările din ECDF cu un CDF teoretic. Am văzut că probabilitatea ca zona este mai mică sau egală cu 8000 este de aproximativ 0,625., Cum se compară aceasta cu o distribuție cumulativă normală cu o medie și deviație standard de rock$area?

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

Asta e destul de aproape!

un Alt grafic de evaluare este Q-Q plot, care poate fi, de asemenea, ușor de făcut în R folosind qqnorm și qqline funcții. Ideea este că, dacă punctele cad de-a lungul liniei diagonale, atunci avem dovezi bune că datele sunt plauzibil normale., Din nou, acest complot arată că datele arată că ar putea fi bine aproximate cu o distribuție normală. (Pentru mai multe informații despre parcelele Q-Q, consultați articolul nostru, înțelegerea parcelelor Q-Q).

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

Pentru întrebări sau clarificări cu privire la acest articol, contactați UVA Biblioteca StatLab: [email protected]

a Vizualiza intreaga colectie de UVA Biblioteca StatLab articole.

Clay Ford
consultant de cercetare statistică
Biblioteca Universității din Virginia
9 iulie 2020