Nukleáris sűrűségbecslés

A Kernel Density Estimation ( KDE )  egy nem parametrikus módszer egy valószínűségi változó sűrűségének [ becslésére . A kernelsűrűség becslése egy adatsimítási probléma, ahol véges adatmintákból következtetnek egy populációra . Egyes területeken, mint például a jelfeldolgozás és a matematikai közgazdaságtan , a módszert Parzen-Rosenblatt ablakmódszernek is nevezik . Úgy gondolják, hogy Emmanuel Parzen és Murray Rosenblatt egymástól függetlenül alkották meg a módszert jelenlegi formájában. [1] [2] .

Definíció

Legyen független azonos eloszlású mennyiségek egydimenziós mintája , amelyet valamilyen ismeretlen ƒ sűrűségű eloszlásból vonunk ki . Feladatunk a ƒ függvény alakjának becslése . Kernelsűrűség - becslője az

ahol K a kernel , azaz egy nem negatív függvény, és h > 0 a sávszélességnek nevezett simítási paraméter . A h indexű kernelt súlyozott kernelnek nevezzük , és definíciója: . Intuitív módon megpróbálunk olyan kicsi h értéket választani , amennyire az adatok engedik, de mindig van választás a becslő torzítása és szórása között. A sávszélesség kiválasztását az alábbiakban részletesebben tárgyaljuk.

Számos leggyakrabban használt kernelfüggvény létezik: homogén, háromszög, kettős súlyozás, három súlyozás, Epanechnikov, normál és mások. Az Epanechnikov kernel az átlagos négyzetes hiba [3] értelmében optimális , bár az előtte felsorolt ​​kernelek hatékonyságvesztése kicsi [4] . A kényelmes matematikai tulajdonságok miatt gyakran olyan normál kernelt használnak, amelynek átlaga , ahol a standard normál sűrűségfüggvény.

A magsűrűség-becslés felépítése a sűrűségbecslésen kívüli területeken talál értelmezést [5] . Például a termodinamikában ez megegyezik azzal a hőmennyiséggel, amely akkor keletkezik, ha a hőkezelő magokat (a hőegyenlet alapvető megoldásait ) minden x i adatpontban elhelyezzük . Hasonló módszereket használnak diszkrét Laplace-operátorok felhőpontokon történő létrehozására sokrétű alapú tanuláshoz .

A kernelsűrűség becslései szorosan kapcsolódnak a hisztogramokhoz , de megfelelő kernel kiválasztásával olyan tulajdonságokkal ruházhatók fel, mint a simaság vagy a folytonosság. Ennek megtekintéséhez hasonlítsuk össze a hisztogram felépítését és a kernelsűrűség becslését ezen a 6 ponton:

egy 2 3 négy 5 6
-2.1 -1.3 -0.4 1.9 5.1 6.2

Hisztogram esetén a vízszintes tengely részintervallumokra van osztva, amelyek lefedik az adatterületet. Ebben az esetben 6 oszlopunk van, mindegyik 2 hosszúságú. Amikor az adatpont a sávon belülre esik, egy 1/12 magasságú téglalapot helyezünk el. Ha egynél több pont esik a szakaszba, akkor a téglalapokat egymásra helyezzük.

A kernelsűrűség becsléséhez minden x i adatponthoz egy normál kernelt helyezünk el 2,25 szórással (piros szaggatott vonallal) . A rendszermagokat összegezve kapjuk a kernelsűrűség becslését (folytonos kék görbe). A kernelsűrűség-becslés simasága nyilvánvaló a hisztogram diszkrétségéhez képest, mivel a kernelsűrűség-becslések gyorsabban konvergálnak a folytonos valószínűségi változók valódi mögöttes sűrűségéhez [6] .

Sávszélesség kiválasztása

A kernel sávszélessége egy szabad paraméter , amely erősen befolyásolja a becslés eredményét. Ennek a hatásnak a bemutatására álvéletlen mintát veszünk a szokásos normális eloszlásból (kék sávokként a szalagdiagramon a vízszintes tengelyen). A szürke görbe a valódi sűrűséget mutatja (normál sűrűség 0 átlaggal és 1 szórással). Ehhez képest a piros görbe nem elég sima , mert túl sok véletlenszerű tüskét tartalmaz, amelyek akkor lépnek fel, ha h = 0,05 sávszélességet használunk, ami túl kicsi. A zöld görbe túlsimított, mert a használt h = 2 sávszélesség jelentősen elrejti a szerkezetet. A h = 0,337 sávszélességű fekete görbe optimálisan simítottnak tekinthető, mivel a sűrűségbecslése közel áll a valódi sűrűséghez.

A paraméter kiválasztásának leggyakrabban használt optimalitási kritériuma az L 2 várható veszteségfüggvény , más néven Mean Integrated Squared Error [ ] : 

Az ƒ és K függvényekre vonatkozó gyenge feltevések mellett ( ƒ általában egy ismeretlen valós sűrűségű függvény) [1] [2] , MISE ( h )=AMISE( h ) + o(1/(nh) + h 4 ) , ahol o " o" kicsi . Az AMISE az "Asymptotic MISE" (asymptotikus MISE) rövidítése, amely két vezető tagból áll

ahol a g , , és ƒ'' függvényre az ƒ második deriváltja . Ahhoz, hogy megtaláljuk a h AMISE értéket , ahol elérjük a minimális AMISE értéket, meg kell különböztetni az AMISE előző kifejezését h -hoz képest, és a következő algebrai egyenletből kell megoldást kapni [7] :

vagy

Az AMISE és h AMISE kiszámítására szolgáló képletek közvetlenül nem használhatók, mert egy ismeretlen sűrűségfüggvényt ƒ vagy annak második deriváltját ƒ'' tartalmazzák, ezért a sávszélesség kiválasztására számos automatikus adatalapú módszert fejlesztettek ki. Számos áttekintés összehasonlította e módszerek teljesítményét [8] [9] [10] [11] [12] [13] [14] azzal az általános konszenzussal, hogy a csatlakoztatható mintavételi funkciók [5] [15] és a keresztellenőrzési funkciók [ 16] [17] [18] a leghasznosabbak az adatkészletek széles körében.

Bármely h sávszélességet , amelynek aszimptotikus sorrendje megegyezik a h AMISE - vel , behelyettesítjük AMISE - be , ahol O  — "O" nagy . Kimutatható, hogy gyenge feltevések mellett nem létezik olyan nem paraméteres becslő, amely gyorsabban konvergál, mint a kernelbecslő [19] . Megjegyezzük, hogy az n −4/5 arány kisebb, mint az n − 1 paraméteres módszerek tipikus konvergencia rátája.

Ha a sávszélesség nem rögzített, és akár a becslés méretétől ( ballon becslő), akár a minta méretétől (pontos becslés) függően változhat, akkor egy hatékony módszert kapunk, az adaptív kernelsűrűség-becslési módszert .

A lassan csökkenő "farokkal" rendelkező kernelsűrűség-becsléshez a sávszélesség kiválasztása viszonylag nehéz feladat [20] .

Alapszabály a sávszélesség kiválasztásához

Ha alapvető Gauss-függvényeket használunk az egyváltozós adatok közelítésére, és a becsült mögöttes sűrűség Gauss-féle, akkor az optimális választás h -hoz (azaz a sávszélesség, amely minimalizálja az átlagos kumulált négyzetes hibát ) a [21].

ahol a minta szórása . A közelítést normális eloszlási közelítésnek , Gauss-eloszlásnak vagy Silverman (1986) hüvelykujjszabályának nevezzük . Bár ez az ökölszabály számítási szempontból könnyen alkalmazható, óvatosan kell használni, mivel nagyon pontatlan becsléseket ad, ha a sűrűség nem közelíti meg a normált. Vegyük például a bimodális Gauss-keverék becslését:

200 pontos mintából. A jobb alsó ábra a valós sűrűséget és a két magsűrűség becslését mutatja – az egyik hüvelykujjszabályt használ a sávválasztáshoz, a másik pedig az [5] [15] egyenlet megoldásán alapuló sávkiválasztást . A hüvelykujjszabályon alapuló becslés túlságosan simított. A Matlab szkript a kde.m fájlt használja példaként, és az alábbiakban látható.

%Adat randn ( ' mag' , 1 ) adatok =[ randn ( 100 , 1 ) - 10 ; randn ( 100 , 1 ) + 10 ]; % Két normál eloszlás keveréke %Igaz phi =@( x ) exp ( - .5 * x .^ 2 ) / sqrt ( 2 * pi ); % normál sűrűség tpdf =@( x ) phi ( x + 10 ) / 2 + phi ( x - 10 ) / 2 ; % Valódi Sűrűség % Kernel h = std ( adat ) * ( 4/3 / szám ( adat ) ) ^ ( 1/5 ) ; _ _ % Sávszélesség Silverman hüvelykujjszabálya szerint kernel =@( x ) mean ( phi (( x - data ) / h ) / h ); % nukleáris sűrűség kpdf =@( x ) arrayfun ( kernel , x ); % elem elemenkénti alkalmazás %cselekmény ábra ( 2 ) , clf , kapaszkodj x = vonaltér ( -25 , + 25 , 1000 ) ; % Vonalsűrűség plot ( x , tpdf ( x )) % A valós sűrűség diagramja plot ( x , kpdf ( x )) % Nukleáris sűrűség diagram hüvelykujjszabállyal kde ( adatok ) % Kernel sűrűség diagramja a sávszámítás egyenletének megoldásával

Kapcsolat a sűrűségbecslő karakterisztikus függvényével

Adott minta esetén természetes, hogy a karakterisztikus függvényt a következőképpen értékeljük

A karakterisztikus függvény ismeretében a Fourier-transzformációs képleteken keresztül megtalálhatjuk a megfelelő valószínűségi sűrűséget . Ennek az inverziós képletnek egy nehézsége van, mégpedig az, hogy divergens integrálhoz vezet, mivel a becslés megbízhatatlan nagy t esetén . A probléma elkerülése érdekében a becslőt megszorozzuk a csillapítási függvénnyel , amely az origóban 1, majd a végtelenben 0-ra csökken. A h "sávszélesség paraméter" szabályozza, hogy mennyire próbáljuk korlátozni a függvény variációit . Különösen, ha h kicsi, akkor megközelítőleg egyenlő eggyel nagy t esetén, ami azt jelenti, hogy gyakorlatilag változatlan marad t legfontosabb tartományában .

A függvény kiválasztásának legáltalánosabb módja egy homogén függvény , ami gyakorlatilag azt jelenti, hogy az inverziós képletben az integrációs intervallumot [−1/ h , 1/ h ] -ra csonkoljuk , vagy egy Gauss-függvény . A függvény kiválasztásakor az inverziós képlet alkalmazható, a sűrűségbecslő pedig

ahol K a csillapítási függvény Fourier-transzformációja . Ekkor a magsűrűség-becslő megegyezik a sűrűségbecslő karakterisztikus függvényével.

Statisztikai megvalósítások

A kernelsűrűség-becslőket megvalósító szoftverek hiányos listája:

  • Az Analytica 4.4-es kiadásában a valószínűségi sűrűség függvény Smoothing opcióját KDE használja, a kifejezéseknél pedig beépített szolgáltatásként érhető el.Pdf
  • A C / C++ nyelvekben a FIGTree egy olyan könyvtár, amely normál kernelek használatával becsült kernelsűrűség kiszámítására használható. MATLAB interfész elérhető.
  • A C++ nyelvben a libagf egy könyvtár az adaptív kernelsűrűség-becsléshez .
  • A CrimeStat rendszerben a kernelsűrűség becslése öt különböző kernelfüggvénnyel van megvalósítva – normál, egységes, negyedrendű, negatív exponenciális és háromszög. Egy- és kétmagos sűrűségbecslési eljárások állnak rendelkezésre. A kernelsűrűség becslését a Head Bang interpolációs eljárásban is használják, a 2D Journey-to-crime sűrűség függvény becslésére, valamint a 3D Bayes-i utazás a bűnözésig becslésére.
  • Az ELKI keretrendszerben a csomagban találhatók a kernel sűrűség függvényeide.lmu.ifi.dbs.elki.math.statistics.kernelfunctions
  • Az ESRI termékekben a kernelsűrűség-leképezés a Spatial Analyst eszközkészletben található, és egy 4. rendű (súlyozatlan) kernelt használ.
  • Az Excel programhoz a Royal Society of Chemistry egy kiegészítőt hozott létre a nukleáris sűrűségbecslés elvégzésére az Analytical Methods Committee Technical Brief 4 alapján .
  • A gnuplotban a kernelsűrűség becslése az opcióval van megvalósítva , az adatfájl tartalmazhatja az egyes pontok súlyát és sávszélességét, vagy a sávszélesség automatikusan [22]smooth kdensity beállítható a "Silverman hüvelykujjszabály" szerint (lásd fent).
  • A Haskellben a kernelsűrűség a statisztikai csomagban van megvalósítva .
  • Az IGOR Pro programban a kernelsűrűség becslése műveletként valósul meg StatsKDE(az Igor Pro 7.00-as verziójához hozzáadva). A sávszélesség megadható vagy becsülhető Silverman, Scott vagy Bowmann és Azzalini átlagokkal. Kernel típusok: Epanechnikov, kettős súlyozás, három súlyozás, háromszög, Gauss és téglalap alakú.
  • A Java nyelvben a Weka csomag többek között a weka.estimators.KernelEstimatort tartalmazza .
  • A JavaScriptben D3.js vizualizációs csomag tartalmazza a KDE csomagot a science.stats csomagban.
  • A JMP csomag a "Distribution platform" segítségével 1D kernelsűrűség becslést generálhat, a "Fit Y by X platform" pedig 2D kernelsűrűség becslés generálására használható.
  • A Julia nyelvben a kernelsűrűség becslése a KernelDensity.jl csomagban van megvalósítva .
  • A MATLAB-ban a kernelsűrűség becslése egy függvényen ksdensity(Statistics Toolbox) keresztül valósul meg. A MATLAB 2018-as kiadásában mind a sávszélesség, mind a kernelsimító megadható , beleértve az egyéb lehetőségeket is, például a kernelsűrűség-korlátok megadását. Alternatív megoldásként egy ingyenes csomag a MATLAB számára, amely automatikus sávszélesség-választást valósít meg [5] , elérhető a "MATLAB Central File Exchange" oldalán
  • A Mathematica rendszerben a kerneleloszlás numerikus kiértékelése SmoothKernelDistribution itt , a szimbolikus kiértékelés pedig az KernelMixtureDistribution itt található függvény segítségével valósul meg , és mindkét implementáció a bemutatott adatokból választja ki a sávszélességet.
  • A Minitab csomaghoz a Royal Society of Chemistry létrehozott egy makrót a magsűrűség becsléséhez az Analytical Methods Committee Technical Brief 4 alapján .
  • A NAG könyvtárban a kernelsűrűség becslés egy eljárással valósul meg g10ba(elérhető a Fortran [24] és C [25] nyelven ).
  • A Nuklei -könyvtárban a magsűrűség módszerei a C++ nyelvben a speciális euklideszi csoportba tartozó dinnyékre összpontosítanak .
  • Az Octave rendszerben a kernelsűrűség becslés szolgáltatásként valósul meg kernel_density(matematikai közgazdasági csomag).
  • Az Origin 2D csomagban a magsűrűség diagram ábrázolható a csomag felhasználói felületén, és a két függvény, a Ksdensity for 1D és a Ks2density for 2D függvény kódja LabTalk , Python vagy C programban vehető fel.
  • Perlben az implementáció a Statistics-KernelEstimati modulban található
  • PHP - ben a megvalósítás a MathPHP könyvtárban található
  • A Pythonban számos megvalósítás létezik: pyqt_fit.kde Module a PyQt-Fit csomagban , SciPy ( scipy.stats.gaussian_kdeés scipy.signal.parzen), Statsmodels ( KDEUnivariateés KDEMultivariate) és Scikit-learn ( KernelDensity) (lásd az összehasonlítást [26] ). A KDEpy támogatja a súlyozott adatokat, és az FFT megvalósítás egy nagyságrenddel gyorsabb, mint a többi megvalósítás.
  • Az R nyelvben ez densityaz alap disztribúción keresztül, a KernSmooth könyvtáron keresztül , bkdeaz AdaptGauss könyvtáron keresztül (a Pareto eloszlás sűrűségének becsléséhez), keresztül a ks könyvtárban , keresztül és az evmix könyvtárban valósul meg , az np könyvtár (numerikus és kategorikus adatok), a könyvtárban sm . Egy olyan szolgáltatásmegvalósításhoz , amelyhez nincs szükség semmilyen csomag vagy könyvtár telepítésére, lásd a kde.R oldalt . A városi elemzéshez tervezett btb könyvtár a kernelsűrűség becslését valósítja meg a következőn keresztül .ParetoDensityEstimationkdedkdendbckdennpudenssm.densitykde.Rkernel_smoothing
  • A SAS rendszerben (program) proc kde , egy- és kétdimenziós magsűrűségek becslésére szolgáló eljárás alkalmazható.
  • A Stata csomagban ez például [ kdensity27]histogram x, kdensity -ként van megvalósítva . Alternatív megoldásként itt érhető el a Stata ingyenes KDENS modulja , amely lehetővé teszi az 1D vagy 2D sűrűségfüggvények kiértékelését.
  • Az Apache Sparkban használhat osztályt KernelDensity()(lásd a hivatalos dokumentációt )

Lásd még

  • Alap (statisztika)
  • Nukleáris simító
  • nukleáris regresszió
  • Sűrűségbecslés (más példák bemutatásával)
  • Átlagos műszak eljárás
  • Többváltozós kernelsűrűség becslés
  • Adaptív kernelsűrűség becslés

Jegyzetek

  1. 1 2 Rosenblatt, 1956 , p. 832.
  2. 1 2 Parzen, 1962 , p. 1065.
  3. Epanechnikov, 1969 , p. 153–158.
  4. Pálca, Jones, 1995 .
  5. 1 2 3 4 Botev, Grotowski, Kroese, 2010 , p. 2916–2957.
  6. Scott, 1979 , p. 605–610.
  7. V. A. Epanechnikov, „A többdimenziós valószínűségi sűrűség nem paraméteres becslése”, Teor. Veroyatnost. és alkalmazása, 14:1 (1969), 156–161; Theory Probab. Appl. 14:1 (1969), 153–158 . www.mathnet.ru _ Letöltve: 2022. január 31.
  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. szakasz 13.2.2.
  23. Horová, Koláček, Zelinka, 2012 .
  24. A Numerical Algorithms Group NAG Library rutindokumentuma: nagf_smooth_kerndens_gauss (g10baf) . NAG Library Manual, Mark 23 . Letöltve: 2012. február 16.
  25. A Numerical Algorithms Group NAG Library rutindokumentuma: nag_kernel_density_estim (g10bac) (downlink) . NAG Library Manual, Mark 9 . Hozzáférés dátuma: 2012. február 16. Az eredetiből archiválva : 2011. november 24. 
  26. Vanderplas, Jake Kernel sűrűségbecslése Pythonban (2013. december 1.). Letöltve: 2014. március 12.
  27. https://www.stata.com/manuals13/rkdensity.pdf

Irodalom

Linkek