Uppskattning av kärntäthet
Kernel Density Estimation ( KDE ) är en icke - parametrisk metod för att uppskatta [ densiteten för en slumpvariabel . Uppskattning av kärndensitet är ett datautjämningsproblem där en population härleds från ändliga dataprover . Inom vissa områden, såsom signalbehandling och matematisk ekonomi , kallas metoden även för Parzen-Rosenblatt-fönstermetoden . Man tror att Emmanuel Parzen och Murray Rosenblatt oberoende skapade metoden i dess nuvarande form [1] [2] .
Definition
Låta vara ett endimensionellt urval av oberoende identiskt fördelade kvantiteter extraherade från någon fördelning med en okänd densitet ƒ . Vår uppgift är att uppskatta formen på funktionen ƒ . Dess kärndensitetsuppskattare är
där K är kärnan , dvs en icke-negativ funktion, och h > 0 är en utjämningsparameter som kallas bandbredden . Kärnan med index h kallas den viktade kärnan och definieras som . Intuitivt försöker man välja h så litet som data tillåter, men det finns alltid ett val mellan skattarens bias och dess varians. Val av bandbredd diskuteras mer i detalj nedan.
Det finns ett antal av de mest använda kärnfunktionerna : homogen, triangulär, bi-viktad, treviktad, Epanechnikov, normal och andra. Epanechnikov-kärnan är optimal i betydelsen av medelkvadratfelet [3] , även om effektivitetsförlusten för kärnorna som anges innan den är liten [4] . På grund av bekväma matematiska egenskaper används ofta en normal kärna vars medelvärde är , där är standardfunktionen för normal densitet.
Konstruktionen av en kärndensitetsuppskattning finner en tolkning i områden utanför densitetsuppskattningen [5] . Till exempel, inom termodynamik är detta ekvivalent med mängden värme som produceras när värmeoperatörens kärnor (de grundläggande lösningarna av värmeekvationen ) placeras vid varje datapunkt x i . Liknande metoder används för att konstruera diskreta Laplace-operatörer vid molnpunkter för mångfaldsbaserad inlärning .
Uppskattningar av kärndensitet är nära relaterade till histogram , men kan förses med egenskaper som jämnhet eller kontinuitet genom att välja en lämplig kärna. För att se detta, låt oss jämföra konstruktionen av histogrammet och kärndensitetsuppskattningen på dessa 6 punkter:
ett
|
2
|
3
|
fyra
|
5
|
6
|
-2.1
|
-1.3
|
-0,4
|
1.9
|
5.1
|
6.2
|
För ett histogram är den horisontella axeln uppdelad i delintervall som täcker dataområdet. I det här fallet har vi 6 staplar, var och en med längd 2. När datapunkten faller inuti stapeln, placerar vi en 1/12 höjd rektangel. Om mer än en punkt faller in i segmentet placerar vi rektanglarna ovanpå varandra.
För kärndensitetsuppskattningen placerar vi en normal kärna med en varians på 2,25 (visas med röda prickade linjer) för varje x i -datapunkt . Kärnorna summeras för att ge en uppskattning av kärndensitet (heldragen blå kurva). Jämnheten hos kärndensitetsuppskattningen är uppenbar jämfört med diskretiteten i histogrammet, eftersom kärndensitetsuppskattningarna konvergerar snabbare till den verkliga underliggande tätheten för kontinuerliga slumpvariabler [6] .
Val av bandbredd
Kärnans bandbredd är en fri parameter som har ett starkt inflytande på uppskattningsresultatet. För att visa denna effekt kommer vi att ta ett pseudo-slumpmässigt urval från den vanliga normalfördelningen (visas som blå staplar på remsdiagrammet på den horisontella axeln). Den grå kurvan representerar den sanna densiteten (normal densitet med medelvärde 0 och varians 1). Som jämförelse är den röda kurvan inte tillräckligt jämn eftersom den innehåller för många slumpmässiga toppar som uppstår när man använder en bandbredd h = 0,05, vilket är för litet. Den gröna kurvan är överutjämnad eftersom bandbredden h = 2 som används döljer strukturen avsevärt. Den svarta kurvan med en bandbredd på h = 0,337 anses vara optimalt utjämnad, eftersom dess densitetsuppskattning är nära den sanna densiteten.
Det mest använda optimalitetskriteriet för att välja denna parameter är den förväntade förlustfunktionen L 2 , även kallad Mean Integrated Squared Error [ ]
:
Under svaga antaganden om funktionerna ƒ och K ( ƒ är i allmänhet en okänd reell densitetsfunktion) [1] [2] , MISE ( h )=AMISE( h ) + o(1/(nh) + h 4 ) , där o är "o" liten . AMISE står för "Asymptotisk MISE" (asymptotisk MISE), som består av två ledande medlemmar
där för funktionen g , , och ƒ'' är andraderivatan av ƒ . För att hitta värdet h AMISE , där minimum AMISE nås, är det nödvändigt att differentiera det tidigare uttrycket för AMISE med avseende på h och få en lösning från följande algebraiska ekvation [7] :
eller
Formlerna för att beräkna AMISE och h AMISE kan inte användas direkt eftersom de involverar en okänd densitetsfunktion ƒ eller dess andraderivata ƒ'' , så ett stort antal automatiska databaserade metoder har utvecklats för bandbreddsval. Många recensioner har jämfört prestandan för dessa metoder [8] [9] [10] [11] [12] [13] [14] med allmän konsensus att pluggbara samplingsfunktioner [5] [15] och korsvalideringsfunktioner [ 16] [ 17] [18] är mest användbara över ett brett spektrum av datamängder.
Att ersätta valfri bandbredd h som har samma asymptotiska ordning n −1/5 som h AMISE med AMISE ger , där O — "O" är stor . Det kan visas att det under svaga antaganden inte kan finnas en icke-parametrisk estimator som konvergerar snabbare än kärnestimatorn [19] . Observera att hastigheten n −4/5 är mindre än den typiska konvergenshastigheten för n − 1 parametriska metoder.
Om bandbredden inte är fixerad och kan ändras beroende på placeringen av antingen storleken på uppskattningen ( ballongskalkylator ) eller storleken på provet (punktvis skattare), erhålls en kraftfull metod, kallad den adaptiva kärndensitetsuppskattningsmetoden .
Valet av bandbredd för en kärndensitetsuppskattning med en långsamt minskande "svans" är en relativt svår uppgift [20] .
Tumregel för val av bandbredd
Om grundläggande Gauss-funktioner används för att approximera univariat data och den uppskattade underliggande densiteten är Gaussisk, är det optimala valet för h (dvs. bandbredden som minimerar det genomsnittliga ackumulerade kvadratiska felet ) [21]
var är standardavvikelsen för provet. Approximationen kallas normalfördelningsapproximationen , Gaussfördelning, eller Silvermans (1986) tumregel . Även om denna tumregel är beräkningsmässigt lätt att tillämpa, bör den användas med försiktighet eftersom den ger mycket felaktiga uppskattningar när densiteten inte är nära normal. Tänk till exempel på den bimodala gaussiska blandningsuppskattningen:
från ett urval med 200 poäng. Figuren längst ner till höger visar den sanna densiteten och två kärndensitetsuppskattningar - en använder en tumregel för bandval, och den andra använder bandval baserat på att lösa ekvation [5] [15] . Uppskattning baserad på tumregeln är alltför utjämnad. Matlab-skriptet använder
kde.m som exempel och ges nedan.
%Data
randn ( ' frö' , 1 )
data =[ randn ( 100 , 1 ) - 10 ; randn ( 100 , 1 ) + 10 ]; % Blandning av två normalfördelningar
%Sann
phi =@( x ) exp ( - .5 * x .^ 2 ) / sqrt ( 2 * pi ); % normal densitet
tpdf =@( x ) phi ( x + 10 ) / 2 + phi ( x - 10 ) / 2 ; % sann densitet
% kärna
h = std ( data ) * ( 4 / 3 / numel ( data ) ) ^
( 1/5 ) ; % bandbredd enligt Silvermans tumregel
kärna =@( x ) medelvärde ( phi (( x - data ) / h ) / h ); % Kärndensitet
kpdf =@( x ) arrayfun ( kärna , x ); % element för element applikation
%komplott
figur ( 2 ), clf , håll fast
x = linspace ( -25 , + 25 , 1000 ) ; % linjedensitet
plot ( x , tpdf ( x )) % Plot av sann densitet
plot ( x , kpdf ( x )) % Kärndensitetsplot med tumregel
kde ( data ) % Kärndensitetsdiagram med lösning till ekvationen för bandberäkning
Förhållande med den karakteristiska funktionen hos densitetsuppskattaren
Givet ett urval är det naturligt att utvärdera den karakteristiska funktionen som
Genom att känna till den karakteristiska funktionen kan man hitta motsvarande sannolikhetstäthet genom Fouriertransformformlerna . Det finns en svårighet att tillämpa denna inversionsformel, vilket är att den leder till en divergerande integral, eftersom uppskattningen är opålitlig för stora t . För att undvika detta problem multipliceras estimatorn med dämpningsfunktionen , som är 1 vid origo, och sjunker sedan till 0 i oändligheten. "Bandbreddsparametern" h styr hur mycket vi försöker begränsa variationen av funktionen . I synnerhet när h är litet kommer det att vara ungefär lika med ett för stort t , vilket betyder att det förblir praktiskt taget oförändrat i den viktigaste regionen av t .
Det vanligaste sättet att välja en funktion är antingen en homogen funktion , vilket i praktiken innebär att man trunkerar integrationsintervallet i inversionsformeln till [−1/ h , 1/ h ] , eller en Gaussisk funktion . När funktionen är vald kan inversionsformeln tillämpas och densitetsuppskattaren är det
där K är Fouriertransformen av dämpningsfunktionen . Då är kärndensitetsuppskattaren samma som den karakteristiska funktionen för densitetsuppskattaren.
Statistiska implementeringar
En ofullständig lista över programvara som implementerar kärndensitetsuppskattare:
- I Analytica version 4.4 används alternativet Smoothing funktionen sannolikhetstäthet av KDE, och för uttryck är alternativet tillgängligt som en inbyggd Pdffunktion.
- I C / C++-språk är FIGTree ett bibliotek som kan användas för att beräkna en uppskattning av kärndensitet med normala kärnor. MATLAB-gränssnitt tillgängligt.
- I C++ är libagf ett bibliotek för adaptiv kärndensitetsuppskattning .
- I CrimeStat implementeras kärndensitetsuppskattning med fem olika kärnfunktioner - normal, enhetlig, fjärde ordningens, negativ exponentiell och triangulär. Procedurer för densitetsuppskattning av enkel och dubbel kärna är tillgängliga. Uppskattning av kärndensitet används också i Head Bang-interpolationsproceduren, vid uppskattning av 2D Journey-to-crime-densitetsfunktionen och för att uppskatta 3D Bayesian Journey-to-crime-estimatorn.
- I ELKI- ramverket , kan kärndensitetsfunktioner hittas i paketetde.lmu.ifi.dbs.elki.math.statistics.kernelfunctions
- I ESRI -produkter finns kartläggning av kärndensitet i Spatial Analyst-verktygslådan och använder en fjärde ordningens (oviktad) kärna.
- För Excel -programmet har Royal Society of Chemistry skapat ett tillägg för att utföra kärndensitetsuppskattning baserat på Analytical Methods Committee Technical Brief 4 .
- I gnuplot implementeras en kärndensitetsuppskattning med alternativet smooth kdensity, datafilen kan innehålla vikten och bandbredden för varje punkt, eller så kan bandbredden ställas in automatiskt [22] enligt "Silvermans tumregel" (se ovan).
- I Haskell är kärndensitet implementerad i statistikpaketet .
- I IGOR Pro implementeras kärndensitetsuppskattning som en operation StatsKDE(läggs till i Igor Pro version 7.00). Bandbredden kan specificeras eller uppskattas av medelvärden för Silverman, Scott eller Bowmann och Azzalini. Kärntyper: Epanechnikov, bi-viktad, tri-viktad, triangulär, gaussisk och rektangulär.
- I Java-språket tillhandahåller Weka -paketet bland annat weka.estimators.KernelEstimator .
- I JavaScript visualiseringspaketet D3.js KDE -paketet i paketet science.stats.
- JMP -paketet kan använda "Distributionsplattformen" för att generera en 1D-kärndensitetsuppskattning, och "Fit Y by X-plattformen" kan användas för att generera en 2D-kärndensitetsuppskattning.
- I Julia -språket implementeras kärndensitetsuppskattning i KernelDensity.jl-paketet .
- I MATLAB implementeras kärndensitetsuppskattning genom en funktion ksdensity(Statistics Toolbox). I 2018 års version av MATLAB kan både bandbredden och kärnans utjämnare specificeras , inklusive andra alternativ som att ange kärndensitetsgränser. Alternativt finns ett gratispaket för MATLAB som implementerar automatiskt val av bandbredd [5] tillgängligt från sidan "MATLAB Central File Exchange" för
- I Mathematica -systemet implementeras den numeriska utvärderingen av kärndistributionen som funktionen SmoothKernelDistribution här , och den symboliska utvärderingen implementeras med funktionen KernelMixtureDistribution här , och båda implementeringarna väljer bandbredden från den presenterade datan.
- För Minitab - paketet skapade Royal Society of Chemistry ett makro för att göra uppskattning av kärntäthet baserat på deras tekniska kort 4 för Analytical Methods Committee .
- I NAG -biblioteket implementeras kärndensitetsuppskattning genom en procedur g10ba(tillgänglig i Fortran [24] och C [25] ).
- I Nuklei- biblioteket fokuserar kärndensitetsmetoder i C++ på meloner från den speciella euklidiska gruppen .
- I Octave -systemet är kärndensitetsuppskattning implementerad som en funktion kernel_density(matematisk ekonomipaket).
- I Origin 2D-paketet kan en kärndensitetsplot ritas med hjälp av paketets användargränssnitt, och koderna för de två funktionerna Ksdensity för 1D och Ks2density för 2D kan tas i LabTalk , Python eller C.
- I Perl finns implementeringen i modulen Statistics-KernelEstimati
- I PHP finns implementeringen i MathPHP-biblioteket
- Det finns många implementeringar i Python : pyqt_fit.kde Module i PyQt-Fit-paketet , SciPy ( scipy.stats.gaussian_kdeoch scipy.signal.parzen), Statsmodels ( KDEUnivariateoch KDEMultivariate), och Scikit-learn ( KernelDensity) (se jämförelse [26] ). KDEpy stöder viktad data, och FFT-implementeringen är en storleksordning snabbare än andra implementeringar.
- I R-språket implementeras detta genom densityi basdistributionen, genom i KernSmooth-biblioteket , genom bkdei AdaptGauss-biblioteket (för att uppskatta tätheten av Pareto-distributionen), genom i ks-biblioteket , genom och i evmix-biblioteket , i np-biblioteket (numeriska och kategoriska data), i biblioteket sm . För en funktionsimplementering som inte kräver att något paket eller bibliotek installeras, se kde.R . btb-biblioteket , designat för stadsanalys, implementerar en uppskattning av kärndensitet via .ParetoDensityEstimationkdedkdendbckdennpudenssm.densitykde.Rkernel_smoothing
- I SAS-systemet (program) , kan en procedur proc kdeför att uppskatta endimensionella och tvådimensionella kärntätheter användas.
- I paketet Stata implementeras detta som till exempel kdensity[27]histogram x, kdensity . Alternativt finns Statas kostnadsfria KDENS-modul tillgänglig här , som låter dig utvärdera 1D- eller 2D-densitetsfunktioner.
- I Apache Spark kan du använda en klass KernelDensity()(se den officiella dokumentationen )
Se även
- Kärna (statistik)
- Nuclear Smoother
- kärnkraftsregression
- Densitetsuppskattning (med presentation av andra exempel)
- Genomsnittlig skiftprocedur
- Multivariat kärndensitetsuppskattning
- Adaptiv kärndensitetsuppskattning
Anteckningar
- ↑ 1 2 Rosenblatt, 1956 , sid. 832.
- ↑ 1 2 Parzen, 1962 , sid. 1065.
- ↑ Epanechnikov, 1969 , sid. 153–158.
- ↑ Wand, Jones, 1995 .
- ↑ 1 2 3 4 Botev, Grotowski, Kroese, 2010 , sid. 2916–2957.
- ↑ Scott, 1979 , sid. 605–610.
- ↑ V. A. Epanechnikov, "Ickeparametrisk uppskattning av flerdimensionell sannolikhetstäthet", Teor. Veroyatnost. och dess tillämpning, 14:1 (1969), 156–161; Teori Probab. Appl. 14:1 (1969), 153–158 . www.mathnet.ru _ Hämtad: 31 januari 2022. (obestämd)
- ↑ Park, Marron, 1990 , sid. 66–72.
- ↑ Park, Turlach, 1992 , sid. 251–270.
- ↑ Cao, Cuevas, Manteiga, 1994 , sid. 153–176.
- ↑ Jones, Marron, Sheather, 1996 , sid. 401–407.
- ↑ Sheather, 1992 , sid. 225-250, 271-281.
- ↑ Agarwal, Aluru, 2010 , sid. 575–597.
- ↑ Xu, Yan, Xu, 2015 , sid. 28–37.
- ↑ 1 2 Sheather, Jones, 1991 , sid. 683–690.
- ↑ Rudemo, 1982 , sid. 65–78.
- ↑ Bowman 1984 , sid. 353–360.
- ↑ Hall, Marron, Park, 1992 , sid. 1–20.
- ↑ Wahba, 1975 , sid. 15–29.
- ↑ Buch-Larsen, 2005 , sid. 503–518.
- ↑ Silverman, 1986 , sid. 48.
- ↑ Janert, 2009 , sid. avsnitt 13.2.2.
- ↑ Horová, Koláček, Zelinka, 2012 .
- ↑ Rutindokument för NAG-biblioteket för numeriska algoritmer: nagf_smooth_kerndens_gauss (g10baf) . NAG Library Manual, Mark 23 . Hämtad: 16 februari 2012. (obestämd)
- ↑ Rutindokumentet för NAG-biblioteket för numeriska algoritmer: nag_kernel_density_estim (g10bac) (nedlänk) . NAG Library Manual, Mark 9 . Datum för åtkomst: 16 februari 2012. Arkiverad från originalet den 24 november 2011. (obestämd)
- ↑ Vanderplas, Jake Kärndensitetsuppskattning i Python (1 december 2013). Hämtad: 12 mars 2014. (obestämd)
- ↑ https://www.stata.com/manuals13/rkdensity.pdf
Litteratur
- Rosenblatt M. Remarks on Some Nonparametric Estimates of a Density Function // The Annals of Mathematical Statistics. - 1956. - T. 27 , nr. 3 . - doi : 10.1214/aoms/1177728190 .
- Parzen E. Om uppskattning av en sannolikhetstäthetsfunktion och läge // The Annals of Mathematical Statistics . - 1962. - T. 33 , nr. 3 . - doi : 10.1214/aoms/1177704472 . — .
- Epanechnikov VA Icke-parametrisk uppskattning av en multivariat sannolikhetstäthet // Sannolikhetsteori och dess tillämpningar. - 1969. - T. 14 . - doi : 10.1137/1114019 .
- Wand MP, Jones MC Kernel Smoothing. — London: Chapman & Hall/CRC, 1995. — ISBN 0-412-55270-1 .
- Botev ZI, Grotowski JF, Kroese DP Uppskattning av kärndensitet via diffusion // Annals of Statistics . - 2010. - T. 38 , nr. 5 . - doi : 10.1214/10-AOS799 . - arXiv : 1011.2602 .
- Scott D. Om optimala och databaserade histogram // Biometrika. - 1979. - T. 66 , nr. 3 . - doi : 10.1093/biomet/66.3.605 .
- Park BU, Marron JS Jämförelse av datadrivna bandbreddsväljare // Journal of the American Statistical Association . - 1990. - T. 85 , nr. 409 . - doi : 10.1080/01621459.1990.10475307 . — .
- Park BU, Turlach BA Praktisk prestanda för flera datadrivna bandbreddsväljare (med diskussion) // Computational Statistics. - 1992. - T. 7 . — S. 251–270 .
- Cao R., Cuevas A., Manteiga WG En jämförande studie av flera utjämningsmetoder vid densitetsuppskattning // Computational Statistics and Data Analysis. - 1994. - T. 17 , nr. 2 . - doi : 10.1016/0167-9473(92)00066-Z .
- Jones MC, Marron JS, Sheather SJ En kort undersökning av bandbreddsval för densitetsuppskattning // Journal of the American Statistical Association. - 1996. - T. 91 , nr. 433 . - doi : 10.2307/2291420 . — .
- Sheather SJ Prestanda för sex populära metoder för bandbreddsval på några riktiga datamängder (med diskussion) // Computational Statistics. - 1992. - T. 7 .
- Agarwal N., Aluru NR En datadriven stokastisk samlokaliseringsmetod för kvantifiering av osäkerhet i MEMS // International Journal for Numerical Methods in Engineering. - 2010. - T. 83 , nr. 5 .
- Xu X., Yan Z., Xu S. Uppskattning av sannolikhetsfördelning för vindhastighet genom diffusionsbaserad kärndensitetsmetod // Electric Power Systems Research. - 2015. - T. 121 . — S. 28–37 .
- Sheather SJ, Jones MC En tillförlitlig databaserad bandbreddsvalmetod för uppskattning av kärndensitet // Journal of the Royal Statistical Society, Series B. - 1991. - V. 53 , nr. 3 . — .
- Rudemo M. Empiriskt val av histogram och kärndensitetsuppskattare // Scandinavian Journal of Statistics. - 1982. - T. 9 , nr. 2 . — .
- Bowman AW En alternativ metod för korsvalidering för utjämning av densitetsuppskattningar // Biometrika. - 1984. - T. 71 , nr. 2 . - doi : 10.1093/biomet/71.2.353 .
- Hall P., Marron JS, Park BU Jämnad korsvalidering // Sannolikhetsteori och relaterade fält. - 1992. - T. 92 . — S. 1–20 . - doi : 10.1007/BF01205233 .
- Wahba G. Optimala konvergensegenskaper för metoder med variabel knut, kärna och ortogonala serier för densitetsuppskattning // Annals of Statistics . - 1975. - T. 3 , nr. 1 . - doi : 10.1214/aos/1176342997 .
- TINE Buch-Larsen. Uppskattning av kärntäthet för tungsvansfördelningar med Champernowne-transformationen // Statistik. - 2005. - T. 39 , nr. 6 . - doi : 10.1080/02331880500439782 .
- Silverman BW densitetsuppskattning för statistik och dataanalys. — London: Chapman & Hall/CRC, 1986. — ISBN 0-412-24620-1 .
- Philip K Janet. avsnitt 13.2.2 Uppskattningar av kärndensitet // Gnuplot i aktion : förstå data med grafer. - Connecticut, USA: Manning Publications, 2009. - ISBN 978-1-933988-39-9 .
- Horová I., Koláček J., Zelinka J. Kernel Smoothing i MATLAB: Theory and Practice of Kernel Smoothing. - Singapore: World Scientific Publishing, 2012. - ISBN 978-981-4405-48-5 .
Länkar