So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft

Überblick

$ M $ Gradkurve $ y = a_mx ^ m + a_ {m-1} x ^ {Übergeben von $ n $ Punkten $ (x_1, y_1), \ cdots, (x_n, y_n) $ auf der zweidimensionalen Ebene Ich möchte den Koeffizienten $ a_0, \ dots, a_m $ von m-1} + \ cdots + a_1x + a_0 $ finden. Wenn $ n \ le m + 1 $ und die Werte von $ x_1, \ cdots, x_n $ unterschiedlich sind, gibt es eine Kurve, die durch alle Punkte verläuft, andernfalls gibt es einen Koeffizienten, der den Fehler zwischen den Punkten und der Kurve minimiert. Muss nehmen. Zu diesem Zeitpunkt scheint es, dass die fmin-Methode von scipy verwendet werden kann. Beachten Sie jedoch, dass die fmin-Funktion möglicherweise nicht die optimale Lösung ist, da sie die lokale optimale Lösung der Zielfunktion findet.

Programmbeispiel einer kubischen Kurve

import numpy as np
from scipy.optimize import fmin

def f(a, x):
    #Kubische Kurve
    return a[0] + a[1]*x + a[2]*x**2 + a[3]*x**3

def obj_func(a,x,y):
    #Die Zielfunktion ist die Summe der quadratischen Fehler des Scheitelpunkts und der Kurve.
    return sum((f(a,x) - y)**2)

#Gib 5 Punkte
x = np.array([ -8.,  -3.,  2.,   6.,   9.])
y = np.array([ 30., -22., 15., -17., -25.])

#Anfangswert des Koeffizienten
a= np.array([ 0., 0., 0., 0.])

#Finden Sie den optimalen Koeffizienten
opt = fmin(obj_func, a, args=(x,y))

print(opt)
# [-8.20775435  3.2028276   0.2150416  -0.09395258]

figout.png

Recommended Posts

So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft
So ermitteln Sie die Anzahl der Stellen in Python
So finden Sie die optimale Anzahl von Clustern für k-means
So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht
So bestimmen Sie die Existenz eines Selenelements in Python
Wie Sie die interne Struktur eines Objekts in Python kennen
So überprüfen Sie die Speichergröße einer Variablen in Python
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Verwendung der C-Bibliothek in Python
So finden Sie den Bereich des Boronoi-Diagramms
Zusammenfassung zum Importieren von Dateien in Python 3
Zusammenfassung der Verwendung von MNIST mit Python
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
So erhalten Sie die Dateien im Ordner [Python]
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
So finden Sie heraus, welche Art von Datei in S3 in Python gespeichert ist
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
So rufen Sie den n-ten größten Wert in Python ab
So erhalten Sie den Variablennamen selbst in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Suchen Sie den Teil 575 aus Wikipedia in Python
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Verwendung des in Lobe in Python erlernten Modells
Module, die die Shell in Python durchlaufen können
[Python] So geben Sie Listenwerte der Reihe nach aus
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Finde Fehler in Python
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
[Django] Lassen Sie uns versuchen, den Teil von Django zu klären, der im Test irgendwie durch war
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Ich habe Python verwendet, um mich über die Rollenauswahl der 51 "Yachten" in der Welt zu informieren.
Wie man in Python entwickelt
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
Python3-Verarbeitung, die in Paiza verwendbar zu sein scheint
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
Berücksichtigung von Python-Dekoratoren des Typs, der Variablen übergibt
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
So ermitteln Sie den Skalierungskoeffizienten eines bipolaren Wavelets
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
[Super einfach! ] So zeigen Sie den Inhalt von Wörterbüchern und Listen einschließlich Japanisch in Python an
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
So überprüfen Sie anhand des Hashwerts, ob der Inhalt des Wörterbuchs in Python identisch ist
So ermitteln Sie die kumulative Summe für jede Gruppe mithilfe von DataFrame in Spark [Python-Version]
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Wie berechnet man den Autokorrelationskoeffizienten?
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Im Python-Befehl zeigt Python auf Python3.8