Es ist derzeit nicht möglich, scipy.stats.gaussian_kde
zu verwenden, um die Dichte einer Zufallsvariablen basierend auf weighted samples zu schätzen. Welche Methoden sind verfügbar, um die Dichte kontinuierlicher Zufallsvariablen basierend auf gewichteten Stichproben zu schätzen?Gewichtete Gaußsche Kerndichte-Schätzung in `python`
Antwort
Weder sklearn.neighbors.KernelDensity
noch statsmodels.nonparametric
scheinen gewichtete Stichproben zu unterstützen. Ich modifizierte scipy.stats.gaussian_kde
, um heterogene Stichprobengewichte zu ermöglichen, und dachte, dass die Ergebnisse für andere nützlich sein könnten. Ein Beispiel ist unten gezeigt. http://nbviewer.ipython.org/gist/tillahoffmann/f844bce2ec264c1c8cb5 Details
Implementierung
Der gewichtete arithmetische Mittel ist
Die unbiased data covariance matrix ist dann gegeben durch:
Ein ipython
Notebook finden Sie hier
kann die Bandbreite wie in scipy
von scott
oder silverman
Regeln gewählt werden. Die Anzahl der zur Berechnung der Bandbreite verwendeten Samples ist jedoch Kish's approximation for the effective sample size.
Schauen Sie sich die Pakete PyQT-Fit und Statistiken für Python. Sie scheinen eine Kerndichte-Schätzung mit gewichteten Beobachtungen zu haben.
Beachten Sie, dass PyQT-Fit ab Version 1.3.4 nur die 1D-Kernel-Dichte-Schätzung unterstützt. – lapis
- 1. Gewichtete gleitenden Durchschnitt in Python
- 2. Python: gewichtete Violinplots
- 3. Gaußsche Eliminierung in C
- 4. Gaußsche Unschärfe in Android
- 5. Gaußsche Rauschen in SystemVerilog
- 6. Zeichne Gaußsche Kurve in Java
- 7. Gewichtete Durchschnittsberechnung in MySQL?
- 8. Gewichtete Zufallszahlengenerierung in R
- 9. Gewichtete Standardabweichung in NumPy?
- 10. Gewichtete Summe in VBA
- 11. Gewichtete Trendlinie
- 12. Gaußsche Unschärfe im Vollbildmodus
- 13. Gewichtete Damerau-Levenshtein in VBA
- 14. Gaußsche Eliminierung mit benutzerdefinierten Operatoren
- 15. OpenCV Gaußsche Unschärfe bricht Tesseract?
- 16. Referenzalgorithmus für gewichtete Voronoi-Diagramme?
- 17. Gewichtete Hash-Kombination
- 18. Sklearn - SVM gewichtete Funktionen
- 19. Einfache gewichtete Link-Rotation?
- 20. Gewichtete kleinste Quadrate - R
- 21. Gewichtete Prozentzahl zwischen zwei Links?
- 22. Zufalls gewichtete Auswahl eines Ereignisses
- 23. Erstellen Sie angepasste gewichtete Variable in R
- 24. Zufällige gewichtete Auswahl in T-SQL
- 25. Gewichtete Verteilung von untergeordneten Elementen in ItemsControl
- 26. Fehler gewichtete fit Unsicherheiten in LMFIT
- 27. Gewichtete gleitenden Durchschnitt in Amazon Redshift
- 28. Aggregierte und gewichtete Mittelwerte in R
- 29. Import gewichtete Kantenliste mit Hilfe von igrap
- 30. Adjazenzmatrix vs Adjazenzliste für gerichtete gewichtete Grafik
Haben Sie darüber nachgedacht, die 'scipy' Entwickler zu bitten, Ihren Code in' scipy' oder 'statsmodels' zu integrieren? – cel
Ja, aber ich bin noch nicht dazu gekommen, Resampling und Integration zu implementieren. Sobald das erledigt ist, werde ich eine Pull-Anfrage machen. –
Ich habe an einem ähnlichen Problem gearbeitet, aber mit meinem eigenen Framework, anstatt scipy zu modifizieren. Ich hatte nicht gedacht, Kishs Annäherung zu benutzen. Glaubst du, es ist der beste Bandbreitenschätzer? Es stellt jeden Punkt im Datensatz mit der gleichen effektiven Stichprobengröße neu ein. Ich frage mich, ob eine variable Bandbreite sinnvoller wäre. – Gabriel