Ich frage mich, ob mir jemand einen Weg zeigen könnte, mehrere Gaußkurven an einen Datensatz mit 6 Peaks anzupassen (Daten stammen von einem Beugungsmuster eines Kupfergoldlegierungskristalls). Die Art und Weise, wie ich im Moment arbeite, beinhaltet die Verwendung von mehreren Gaußschen Gleichungen, die addiert werden, was bedeutet, dass ich bei der Kurvenanpassung mehrere Werteschätzungen geben muss.Kurvenanpassung einer Summe von Gauß'schen an 6 Peaks
0
A
Antwort
0
Ich habe erfolgreich einen genetischen Algorithmus verwendet, um Fehlerraum zu suchen und erste Parameterschätzer für scipy Levenberg-Marquardt nichtlinearen Löser zu finden. Die neuesten Versionen von scipy enthalten jetzt den genetischen Algorithmus Differential Evolution, den ich verwendet habe. Es wird ein wenig experimentieren mit einem zuvor angepassten Datensatz, um Dinge wie Populationsgröße oder genetische Crossover-Strategie zu optimieren, aber dann sollten Sie eine Möglichkeit für den Computer haben, auf diese Weise erste Parameterschätzer zu finden. Es dauert eine Weile zu laufen, also lassen Sie es über Nacht gehen, aber es kann automatisiert werden.
Verwandte Themen
- 1. Kurvenanpassung an eine Zeitreihe im Format 'datetime'?
- 2. Bildanalyse Kurvenanpassung
- 3. Einfache mehrdimensionale Kurvenanpassung
- 4. Verwenden von Peakutils - Detektieren von "dumpfen" Peaks
- 5. Code misst Peaks nicht korrekt
- 6. Peaks in Python analysieren
- 7. Kurvenanpassung 3D-Datensatz
- 8. Spotfire-Kurvenanpassung
- 9. Kurvenanpassung von Bild oder pdf
- 10. Markieren von Peaks in einem EKG-Signal
- 11. MATLAB Kurvenanpassung mit Pisten
- 12. Kurvenanpassung mit stückweiser Funktion?
- 13. Erkennen von Peaks in Python-Plots
- 14. Python Exponential/lineare Kurvenanpassung
- 15. Summe von einer Spalte von Kind Tabelle
- 16. eine Akima Spline Kurvenanpassung
- 17. Python (Scipy): Den Skalenparameter (Standardabweichung) einer Gaußschen Verteilung finden
- 18. Predictive Kurvenanpassung Matlab
- 19. Hill-Gleichung Kurvenanpassung NLS
- 20. Kurvenanpassung mit Python Fehler
- 21. exponentielle Kurvenanpassung mit Python
- 22. Java Kurvenanpassung Bibliothek
- 23. Matlab: Kurvenanpassung mit Startwert
- 24. Testen Sie, ob eine Datenverteilung einer Gaußschen Verteilung in MATLAB
- 25. gnuplot: fragmentierte Peaks in Grafik
- 26. Kurvenanpassung mit Matplotlib
- 27. Kurvenanpassung mit Parametergrenzen
- 28. Kurvenanpassung in R mit nls
- 29. Kurvenanpassung mit scipy CurveFit in Python
- 30. Kurvenanpassung und Parameterschätzung in Python
Versuchen Sie, google nach "nonlinear curve fitted python" zu suchen. – Craig
Sie können ein Gaussian Mixture Model (GMM) zu Ihren Daten hinzufügen, aber beachten Sie, dass es nicht unbedingt eine Anpassung findet, die Sie erwarten. Siehe sklearn.mixture.GaussianMixture –
Sie könnten lmfit nützlich finden. Siehe https://lmfit.github.io/lmfit-py/builtin_models.html#example-3-fitting-multiple-peaks-and-using-prefixes zum Beispiel, das 2 Gaussian und einen exponentiellen Zerfall anpasst. Es sollte einfach sein, auf mehr Gaussiane zu erweitern. –