Comment trouver le coefficient de la courbe approximative passant par les sommets en Python

Aperçu

$ M $ courbe en degrés $ y = a_mx ^ m + a_ {m-1} x ^ {en passant $ n $ points $ (x_1, y_1), \ cdots, (x_n, y_n) $ sur le plan bidimensionnel Je veux trouver le coefficient $ a_0, \ dots, a_m $ de m-1} + \ cdots + a_1x + a_0 $. Si $ n \ le m + 1 $ et les valeurs de $ x_1, \ cdots, x_n $ sont toutes différentes, il y a une courbe qui passe par tous les points, sinon il y a un coefficient qui minimise l'erreur entre les points et la courbe. Besoin de prendre. A ce moment, il semble que la méthode fmin de scipy puisse être utilisée. Cependant, notez que la fonction fmin peut ne pas être la solution optimale car elle trouve la solution optimale locale de la fonction objectif.

Exemple de programme de courbe cubique

import numpy as np
from scipy.optimize import fmin

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

def obj_func(a,x,y):
    #La fonction objectif est la somme des erreurs quadratiques du sommet et de la courbe.
    return sum((f(a,x) - y)**2)

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

#Valeur initiale du coefficient
a= np.array([ 0., 0., 0., 0.])

#Trouvez le coefficient optimal
opt = fmin(obj_func, a, args=(x,y))

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

figout.png

Recommended Posts

Comment trouver le coefficient de la courbe approximative passant par les sommets en Python
Comment obtenir le nombre de chiffres en Python
Comment trouver le nombre optimal de clusters pour les k-moyennes
Comment trouver le premier élément qui correspond aux critères de la liste Python
Comment déterminer l'existence d'un élément sélénium en Python
Comment connaître la structure interne d'un objet en Python
Comment vérifier la taille de la mémoire d'une variable en Python
Comment déterminer qu'une clé croisée a été entrée dans Python3
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Comment utiliser la bibliothèque C en Python
Comment trouver la zone du diagramme de Boronoi
Résumé de la façon d'importer des fichiers dans Python 3
Résumé de l'utilisation de MNIST avec Python
Découvrez la fraction de la valeur saisie en python
Comment obtenir les fichiers dans le dossier [Python]
Trouvez la solution de l'équation d'ordre n avec python
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Comment savoir quel type de fichier est stocké dans S3 en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment récupérer la nième plus grande valeur en Python
Comment obtenir le nom de la variable lui-même en python
Comment connaître le répertoire actuel en Python dans Blender
Trouvez la partie 575 de Wikipedia en Python
[Python] Résumé de la façon de spécifier la couleur de la figure
Comment utiliser le modèle appris dans Lobe en Python
Modules pouvant passer par le shell en Python
[Python] Comment afficher les valeurs de liste dans l'ordre
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Trouver des erreurs en Python
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
[Django] Essayons de clarifier la partie de Django qui était en quelque sorte à travers le test
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
Comment développer en Python
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
J'ai essayé de trouver l'entropie de l'image avec python
[python] Comment vérifier si la clé existe dans le dictionnaire
Découvrez la largeur apparente d'une chaîne en python
Comment déboguer une bibliothèque Python standard dans Visual Studio
traitement python3 qui semble utilisable dans paiza
Python --Trouvez le nombre de groupes dans l'expression regex
Prise en compte des décorateurs Python du type qui passe des variables
Comment développer dans un environnement virtuel Python [Memo]
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Comment trouver le coefficient de mise à l'échelle d'une ondelette bipolaire
Trouver les valeurs propres d'une vraie matrice symétrique en Python
[Super facile! ] Comment afficher le contenu des dictionnaires et des listes incluant le japonais en Python
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Comment vérifier si le contenu du dictionnaire est le même en Python par valeur de hachage
Comment trouver la somme / somme cumulée pour chaque groupe à l'aide de DataFrame dans Spark [version Python]
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Comment calculer le coefficient d'autocorrélation
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Dans la commande python, python pointe vers python3.8