Estimarea densității nucleare

Kernel Density Estimation ( KDE ) este o metodă neparametrică pentru estimarea [  en ] densității unei variabile aleatoare . Estimarea densității nucleului este o problemă de netezire a datelor în care o populație este dedusă din eșantioane de date finite . În unele domenii, cum ar fi procesarea semnalului și economia matematică , metoda este numită și metoda ferestrei Parzen-Rosenblatt . Se crede că Emmanuel Parzen și Murray Rosenblatt au creat independent metoda în forma ei actuală [1] [2] .

Definiție

Fie un eșantion unidimensional de cantități independente distribuite identic extrase dintr-o distribuție cu o densitate necunoscută ƒ . Sarcina noastră este de a estima forma funcției ƒ . Estimatorul său de densitate a nucleului este

unde K este nucleul , adică o funcție nenegativă, iar h > 0 este un parametru de netezire numit lățime de bandă . Nuezul cu indicele h se numește nucleu ponderat și este definit ca . Intuitiv, se încearcă să se aleagă h cât de mic permit datele, dar există întotdeauna o alegere între părtinirea estimatorului și varianța acestuia. Selectarea lățimii de bandă este discutată mai detaliat mai jos.

Există o serie de funcții ale nucleului cele mai frecvent utilizate : omogene, triunghiulare, bi-ponderate, trei ponderate, Epanechnikov, normal și altele. Nuezul Epanechnikov este optim în sensul erorii pătratice medii [3] , deși pierderea de eficiență pentru nucleele enumerate înainte de aceasta este mică [4] . Datorită proprietăților matematice convenabile, este adesea folosit un nucleu normal a cărui medie este , unde este funcția standard de densitate normală.

Construcția unei estimări de densitate a nucleului găsește o interpretare în zonele din afara estimării densității [5] . De exemplu, în termodinamică , aceasta este echivalentă cu cantitatea de căldură produsă atunci când nucleele operatorului de căldură (soluțiile fundamentale ale ecuației căldurii ) sunt plasate la fiecare punct de date x i . Metode similare sunt folosite pentru a construi operatori Laplace discreti la punctele cloud pentru învățarea bazată pe varietate .

Estimările densității nucleului sunt strâns legate de histograme , dar pot fi dotate cu proprietăți precum netezimea sau continuitatea prin alegerea unui nucleu adecvat. Pentru a vedea acest lucru, să comparăm construcția histogramei și estimarea densității nucleului pe aceste 6 puncte:

unu 2 3 patru 5 6
-2.1 -1,3 -0,4 1.9 5.1 6.2

Pentru o histogramă, axa orizontală este împărțită în sub-intervale care acoperă zona de date. În acest caz, avem 6 bare, fiecare cu lungimea de 2. Când punctul de date se încadrează în interiorul barei, plasăm un dreptunghi de 1/12 înălțime. Dacă mai mult de un punct cad în segment, punem dreptunghiurile unul peste altul.

Pentru estimarea densității nucleului, plasăm un nucleu normal cu o varianță de 2,25 (indicată în linii punctate roșii) pentru fiecare x i punct de date . Sâmburii sunt însumați pentru a da o estimare a densității sâmburilor (curbă albastră solidă). Netezimea estimării densității nucleului este evidentă în comparație cu caracterul discret al histogramei, deoarece estimările densității nucleului converg mai repede către densitatea reală subiacentă pentru variabile aleatoare continue [6] .

Selectarea lățimii de bandă

Lățimea de bandă a nucleului este un parametru liber care are o influență puternică asupra rezultatului estimării. Pentru a arăta acest efect, vom lua un eșantion pseudo-aleatoriu din distribuția normală obișnuită (prezentată ca bare albastre pe diagrama cu bandă pe axa orizontală). Curba gri reprezintă densitatea adevărată (densitatea normală cu media 0 și varianța 1). În comparație, curba roșie nu este suficient de netedă , deoarece conține prea multe vârfuri aleatorii care apar atunci când se utilizează o lățime de bandă h = 0,05, care este prea mică. Curba verde este supra-netezită deoarece lățimea de bandă h = 2 folosită ascunde structura semnificativ. Curba neagră cu o lățime de bandă de h = 0,337 este considerată a fi netezită optim, deoarece densitatea sa estimată este aproape de densitatea adevărată.

Cel mai frecvent utilizat criteriu de optimitate pentru alegerea acestui parametru este funcția de pierdere așteptată L 2 , numită și Eroare pătrată medie integrată [ ] : 

În ipoteze slabe despre funcțiile ƒ și K ( ƒ este în general o funcție de densitate reală necunoscută) [1] [2] , MISE ( h )=AMISE( h ) + o(1/(nh) + h 4 ) , unde o este „o” mic . AMISE înseamnă „Asymptotic MISE” (asymptotic MISE), care constă din doi membri fruntași.

unde pentru funcția g , , și ƒ'' este derivata a doua a lui ƒ . Pentru a găsi valoarea h AMISE , unde se atinge minimul AMISE, este necesar să diferențiem expresia anterioară pentru AMISE față de h și să obținem o soluție din următoarea ecuație algebrică [7] :

sau

Formulele pentru calcularea AMISE și h AMISE nu pot fi utilizate direct deoarece implică o funcție de densitate necunoscută ƒ sau derivata a doua a acesteia ƒ'' , astfel încât au fost dezvoltate un număr mare de metode automate bazate pe date pentru selectarea lățimii de bandă. Multe recenzii au comparat performanța acestor metode [8] [9] [10] [11] [12] [13] [14] cu consensul general că funcțiile de eșantionare conectabile [5] [15] și funcțiile de validare încrucișată [ 16] [ 17] [18] sunt cele mai utile pentru o gamă largă de seturi de date.

Înlocuirea oricărei lățimi de bandă h care are aceeași ordine asimptotică n −1/5 ca h AMISE în AMISE dă , unde O  — "O" este mare . Se poate demonstra că, în ipoteze slabe, nu poate exista un estimator neparametric care converge mai repede decât estimatorul nucleu [19] . Rețineți că rata n -4/5 este mai mică decât rata de convergență tipică a n - 1 metode parametrice.

Dacă lățimea de bandă nu este fixă ​​și se poate modifica în funcție de locația fie a mărimii estimării ( estimatorul cu balon ), fie a dimensiunii eșantionului (estimatorul punctual), se obține o metodă puternică, numită metoda de estimare a densității nucleului adaptiv .

Alegerea lățimii de bandă pentru o estimare a densității nucleului cu o „coadă” în scădere lent este o sarcină relativ dificilă [20] .

Regula generală pentru selectarea lățimii de bandă

Dacă funcțiile Gaussiene de bază sunt utilizate pentru a aproxima datele univariate și densitatea subiacentă estimată este Gaussiană, alegerea optimă pentru h (adică lățimea de bandă care minimizează eroarea pătrată medie acumulată ) este [21]

unde este abaterea standard a probei. Aproximația se numește aproximarea distribuției normale , distribuția Gaussiană sau regula de bază a lui Silverman (1986) . Deși această regulă generală este ușor de aplicat din punct de vedere computațional, trebuie utilizată cu prudență, deoarece oferă estimări foarte inexacte atunci când densitatea nu este aproape de normal. De exemplu, luați în considerare estimarea amestecului bimodal gaussian:

dintr-un eșantion cu 200 de puncte. Figura din dreapta jos arată densitatea reală și două estimări ale densității nucleului - una folosind o regulă generală pentru selecția benzii, iar cealaltă folosind selecția benzii bazată pe rezolvarea ecuației [5] [15] . Estimarea bazată pe regula generală este prea netezită. Scriptul Matlab folosește kde.m ca exemplu și este prezentat mai jos.

% Date randn ( sămânță” , 1 ) data =[ randn ( 100 , 1 ) - 10 ; randn ( 100 , 1 ) + 10 ]; % Amestec de două distribuții normale %Adevărat phi =@( x ) exp ( - .5 * x .^ 2 ) / sqrt ( 2 * pi ); % densitate normală tpdf =@( x ) phi ( x + 10 ) / 2 + phi ( x - 10 ) / 2 ; % Densitate adevărată % Kernel h = std ( data ) * ( 4 / 3 / numel ( data )) ^ ( 1 / 5 ); % lățime de bandă după regula lui Silverman kernel =@( x ) mean ( phi (( x - date ) / h ) / h ); % Densitatea nucleară kpdf =@( x ) arrayfun ( nucleu , x ); % aplicație element cu element %plot figura ( 2 ) , clf , stai x = linspace ( - 25 , + 25 , 1000 ); % Densitatea liniei plot ( x , tpdf ( x )) % Grafic de densitate adevărată grafic ( x , kpdf ( x )) % Diagrama densității nucleare cu regula generală kde ( data ) % Graficul densității kernelului cu soluția ecuației pentru calculul benzii

Relația cu funcția caracteristică a estimatorului de densitate

Având în vedere un eșantion , este firesc să se evalueze funcția caracteristică ca

Cunoscând funcția caracteristică, se poate găsi densitatea de probabilitate corespunzătoare prin formulele transformării Fourier . Există o dificultate în aplicarea acestei formule de inversare, și anume că duce la o integrală divergentă, deoarece estimarea este nesigură pentru t mare . Pentru a evita această problemă, estimatorul este înmulțit cu funcția de amortizare , care este 1 la origine, apoi scade la 0 la infinit. „Parametrul lățimii de bandă” h controlează cât de mult încercăm să limităm variația funcției . În special, când h este mic, acesta va fi aproximativ egal cu unu pentru t mare , ceea ce înseamnă că rămâne practic neschimbat în cea mai importantă regiune a lui t .

Cel mai obișnuit mod de a alege o funcție este fie o funcție omogenă , ceea ce înseamnă efectiv trunchierea intervalului de integrare în formula de inversare la [−1/ h , 1/ h ] , fie o funcție gaussiană . Când funcția este selectată, se poate aplica formula de inversare și este estimatorul de densitate

unde K este transformata Fourier a functiei de amortizare . Atunci estimatorul densității nucleului este același cu funcția caracteristică a estimatorului de densitate.

Implementări statistice

O listă incompletă de software care implementează estimatori de densitate a nucleului:

  • În versiunea 4.4 de Analytica , opțiunea Smoothing funcția de densitate de probabilitate este utilizată de KDE, iar pentru expresii opțiunea este disponibilă ca o Pdfcaracteristică încorporată.
  • În limbajele C / C++ , FIGTree este o bibliotecă care poate fi utilizată pentru a calcula o estimare a densității nucleului folosind nuclee normale. Interfață MATLAB disponibilă.
  • În C++ , libagf este o bibliotecă pentru estimarea adaptivă a densității nucleului .
  • În CrimeStat , estimarea densității nucleului este implementată cu cinci funcții diferite ale nucleului - normal, uniform, de ordinul al patrulea, exponențial negativ și triunghiular. Sunt disponibile proceduri de estimare a densității unic și dual. Estimarea densității kernelului este, de asemenea, utilizată în procedura de interpolare Head Bang, în estimarea funcției 2D de densitate a călătoriei către crimă și în estimarea estimatorului Bayesian 3D de călătorie către crimă.
  • În cadrul ELKI , funcțiile de densitate a nucleului pot fi găsite în pachetde.lmu.ifi.dbs.elki.math.statistics.kernelfunctions
  • În produsele ESRI , maparea densității nucleului se găsește în setul de instrumente Spatial Analyst și folosește un nucleu de ordinul 4 (neponderat).
  • Pentru programul Excel , Societatea Regală de Chimie a creat un add-on pentru efectuarea estimării densității nucleare pe baza Rezumatului Tehnic al Comitetului pentru Metode Analitice 4 .
  • În gnuplot , o estimare a densității nucleului este implementată cu opțiunea smooth kdensity, fișierul de date poate conține greutatea și lățimea de bandă pentru fiecare punct, sau lățimea de bandă poate fi setată automat [22] conform „regula de bază Silverman” (vezi mai sus).
  • În Haskell , densitatea nucleului este implementată în pachetul de statistici .
  • În IGOR Pro , estimarea densității nucleului este implementată ca o operație StatsKDE(adăugat în Igor Pro versiunea 7.00). Lățimea de bandă poate fi specificată sau estimată prin mediile Silverman, Scott sau Bowmann și Azzalini. Tipuri de nuclee: Epanechnikov, bi-ponderat, tri-ponderat, triunghiular, gaussian și dreptunghiular.
  • În limbajul Java , pachetul Weka oferă printre altele weka.estimators.KernelEstimator .
  • În JavaScript pachetul de vizualizare D3.js conține pachetul KDE din pachetul science.stats.
  • Pachetul JMP poate folosi „platforma de distribuție” pentru a genera o estimare a densității nucleului 1D, iar platforma „Fit Y by X” poate fi folosită pentru a genera o estimare a densității nucleului 2D.
  • În limbajul Julia , estimarea densității nucleului este implementată în pachetul KernelDensity.jl .
  • În MATLAB, estimarea densității nucleului este implementată printr-o funcție ksdensity(Statistics Toolbox). În lansarea MATLAB din 2018, pot fi specificate atât lățimea de bandă, cât și kernel smoother , inclusiv alte opțiuni, cum ar fi specificarea limitelor densității nucleului. Alternativ, un pachet gratuit pentru MATLAB care implementează selecția automată a lățimii de bandă [5] este disponibil din pagina „MATLAB Central File Exchange” pentru
  • În sistemul Mathematica , evaluarea numerică a distribuției nucleului este implementată ca funcție SmoothKernelDistribution aici , iar evaluarea simbolică este implementată folosind funcția KernelMixtureDistribution aici , iar ambele implementări selectează lățimea de bandă din datele prezentate.
  • Pentru pachetul Minitab , Societatea Regală de Chimie a creat o macro pentru estimarea densității nucleare pe baza Rezumatului tehnic 4 al Comitetului pentru Metode analitice .
  • În biblioteca NAG , estimarea densității nucleului este implementată printr-o procedură g10ba(disponibilă în Fortran [24] și C [25] ).
  • În biblioteca Nuklei , metodele de densitate a miezului în C++ se concentrează pe pepeni din grupul special euclidian .
  • În sistemul Octave , estimarea densității nucleului este implementată ca o caracteristică kernel_density(pachet de economie matematică).
  • În pachetul Origin 2D, un grafic al densității nucleului poate fi reprezentat folosind interfața de utilizator a pachetului, iar codurile pentru cele două funcții Ksdensity pentru 1D și Ks2density pentru 2D pot fi preluate în LabTalk , Python sau C.
  • În Perl , implementarea poate fi găsită în modulul Statistics-KernelEstimati
  • În PHP , implementarea poate fi găsită în biblioteca MathPHP
  • Există multe implementări în Python : Modulul pyqt_fit.kde în pachetul PyQt-Fit , SciPy ( scipy.stats.gaussian_kdeși scipy.signal.parzen), Statsmodels ( KDEUnivariateși KDEMultivariate) și Scikit-learn ( KernelDensity) (vezi comparația [26] ). KDEpy acceptă date ponderate, iar implementarea FFT este cu un ordin de mărime mai rapidă decât alte implementări.
  • În limbajul R, acest lucru este implementat prin distribuția densityde bază , prin biblioteca KernSmooth , bkdeprin biblioteca AdaptGauss (pentru estimarea densității distribuției Pareto), prin biblioteca ks , prin și în biblioteca evmix , în biblioteca np (date numerice și categoriale), în biblioteca sm . Pentru o implementare a caracteristicilor care nu necesită instalarea niciunui pachet sau bibliotecă, consultați kde.R . Biblioteca btb , concepută pentru analiza urbană, implementează o estimare a densității nucleului prin .ParetoDensityEstimationkdedkdendbckdennpudenssm.densitykde.Rkernel_smoothing
  • În sistemul (programul) SAS , poate fi utilizată o procedură proc kdede estimare a densităților nucleare unidimensionale și bidimensionale.
  • În pachetul Stata , acesta este implementat ca kdensity[27] , de exemplu histogram x, kdensity. Alternativ, modulul KDENS gratuit al Stata este disponibil aici , care vă permite să evaluați funcțiile de densitate 1D sau 2D.
  • În Apache Spark puteți folosi o clasă KernelDensity()(vezi documentația oficială )

Vezi și

  • De bază (statistici)
  • Nuclear Smoother
  • regresie nucleară
  • Estimarea densității (cu prezentarea altor exemple)
  • Procedura de schimb mediu
  • Estimarea multivariată a densității nucleului
  • Estimarea adaptivă a densității nucleului

Note

  1. 1 2 Rosenblatt, 1956 , p. 832.
  2. 1 2 Parzen, 1962 , p. 1065.
  3. Epanechnikov, 1969 , p. 153–158.
  4. Wand, Jones, 1995 .
  5. 1 2 3 4 Botev, Grotowski, Kroese, 2010 , p. 2916–2957.
  6. Scott, 1979 , p. 605–610.
  7. V. A. Epanechnikov, „Estimarea nonparametrică a densității probabilității multidimensionale”, Teor. Veroyatnost. și aplicarea acesteia, 14:1 (1969), 156–161; Teorie Probabil. Appl. 14:1 (1969), 153–158 . www.mathnet.ru _ Preluat: 31 ianuarie 2022.
  8. Park, Marron, 1990 , p. 66–72.
  9. Park, Turlach, 1992 , p. 251–270.
  10. Cao, Cuevas, Manteiga, 1994 , p. 153–176.
  11. Jones, Marron, Sheather, 1996 , p. 401–407.
  12. Sheather, 1992 , p. 225-250, 271-281.
  13. Agarwal, Aluru, 2010 , p. 575–597.
  14. Xu, Yan, Xu, 2015 , p. 28–37.
  15. 1 2 Sheather, Jones, 1991 , p. 683–690.
  16. Rudemo, 1982 , p. 65–78.
  17. Bowman 1984 , p. 353–360.
  18. Hall, Marron, Park, 1992 , p. 1–20.
  19. Wahba, 1975 , p. 15–29.
  20. Buch-Larsen, 2005 , p. 503–518.
  21. Silverman, 1986 , p. 48.
  22. Janert, 2009 , p. secțiunea 13.2.2.
  23. Horová, Koláček, Zelinka, 2012 .
  24. ↑ Documentul de rutină al bibliotecii NAG al grupului de algoritmi numerici: nagf_smooth_kerndens_gauss (g10baf) . Manual de bibliotecă NAG, Mark 23 . Preluat: 16 februarie 2012.
  25. ↑ Documentul de rutină al bibliotecii NAG al grupului de algoritmi numerici: nag_kernel_density_estim (g10bac) (downlink) . Manual de bibliotecă NAG, Mark 9 . Data accesului: 16 februarie 2012. Arhivat din original pe 24 noiembrie 2011. 
  26. Vanderplas, Jake Kernel Density Estimation in Python (1 decembrie 2013). Preluat: 12 martie 2014.
  27. https://www.stata.com/manuals13/rkdensity.pdf

Literatură

  • Rosenblatt M. Remarks on Some Neparametric Estimates of a Density Function // The Annals of Mathematical Statistics. - 1956. - T. 27 , nr. 3 . - doi : 10.1214/aoms/1177728190 .
  • Parzen E. On Estimation of a Probability Density Function and Mode // The Annals of Mathematical Statistics . - 1962. - T. 33 , nr. 3 . - doi : 10.1214/aoms/1177704472 . — .
  • Epanechnikov VA Estimarea neparametrică a unei densități de probabilitate multivariată // Teoria probabilității și aplicațiile sale. - 1969. - T. 14 . - doi : 10.1137/1114019 .
  • Wand MP, Jones MC Kernel Smoothing. — Londra: Chapman & Hall/CRC, 1995. — ISBN 0-412-55270-1 .
  • Botev ZI, Grotowski JF, Kroese DP Estimarea densității nucleului prin difuzie // Annals of Statistics . - 2010. - T. 38 , nr. 5 . - doi : 10.1214/10-AOS799 . - arXiv : 1011.2602 .
  • Scott D. Despre histograme optime și bazate pe date // Biometrika. - 1979. - T. 66 , nr. 3 . - doi : 10.1093/biomet/66.3.605 .
  • Park BU, Marron JS Comparația selectoarelor de lățime de bandă bazate pe date // Journal of the American Statistical Association . - 1990. - T. 85 , nr. 409 . - doi : 10.1080/01621459.1990.10475307 . — .
  • Park BU, Turlach BA Performanță practică a mai multor selectoare de lățime de bandă bazate pe date (cu discuție)  // Statistică computațională. - 1992. - T. 7 . — S. 251–270 .
  • Cao R., Cuevas A., Manteiga WG Un studiu comparativ al mai multor metode de netezire în estimarea densității // Computational Statistics and Data Analysis. - 1994. - T. 17 , nr. 2 . - doi : 10.1016/0167-9473(92)00066-Z .
  • Jones MC, Marron JS, Sheather SJ Un scurt studiu al selecției lățimii de bandă pentru estimarea densității // Jurnalul Asociației Americane de Statistică. - 1996. - T. 91 , nr. 433 . - doi : 10.2307/2291420 . — .
  • Sheather SJ Performanța a șase metode populare de selectare a lățimii de bandă pe unele seturi de date reale (cu discuție) // Statistici computaționale. - 1992. - T. 7 .
  • Agarwal N., Aluru NR O abordare de colocare stocastică bazată pe date pentru cuantificarea incertitudinii în MEMS  // International Journal for Numerical Methods in Engineering. - 2010. - T. 83 , nr. 5 .
  • Xu X., Yan Z., Xu S. Estimarea distribuției probabilității vitezei vântului prin metoda densității nucleului bazată pe difuzie  // Cercetarea sistemelor de energie electrică. - 2015. - T. 121 . — S. 28–37 .
  • Sheather SJ, Jones MC O metodă de selecție a lățimii de bandă bazată pe date de încredere pentru estimarea densității nucleului // Journal of the Royal Statistical Society, Series B. - 1991. - V. 53 , nr. 3 . — .
  • Rudemo M. Alegerea empirică a histogramelor și a estimatorilor de densitate a nucleului // Scandinavian Journal of Statistics. - 1982. - T. 9 , nr. 2 . — .
  • Bowman AW O metodă alternativă de validare încrucișată pentru netezirea estimărilor de densitate // Biometrika. - 1984. - T. 71 , nr. 2 . - doi : 10.1093/biomet/71.2.353 .
  • Hall P., Marron JS, Park BU Smoothed cross-validation  // Teoria probabilității și câmpurile înrudite. - 1992. - T. 92 . — S. 1–20 . - doi : 10.1007/BF01205233 .
  • Wahba G. Proprietăți de convergență optimă ale metodelor nodului variabil, nucleului și seriilor ortogonale pentru estimarea densității  // Annals of Statistics . - 1975. - T. 3 , nr. 1 . - doi : 10.1214/aos/1176342997 .
  • TINE Buch-Larsen. Estimarea densității nucleului pentru distribuțiile cu coadă grea folosind transformarea Champernowne // Statistici. - 2005. - T. 39 , nr. 6 . - doi : 10.1080/02331880500439782 .
  • Silverman BW Density Estimation for Statistics and Data Analysis. — Londra: Chapman & Hall/CRC, 1986. — ISBN 0-412-24620-1 .
  • Philip K Janet. secțiunea 13.2.2 Estimări ale densității nucleului // Gnuplot în acțiune: înțelegerea datelor cu grafice. - Connecticut, SUA: Manning Publications, 2009. - ISBN 978-1-933988-39-9 .
  • Horová I., Koláček J., Zelinka J. Kernel Smoothing în MATLAB: Teoria și practica kernelului Smoothing. - Singapore: World Scientific Publishing, 2012. - ISBN 978-981-4405-48-5 .

Link -uri