ホームページ > バックエンド開発 > Python チュートリアル > Python で指数曲線と対数曲線をデータに適合させるにはどうすればよいですか?

Python で指数曲線と対数曲線をデータに適合させるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-27 09:50:30
オリジナル
932 人が閲覧しました

How Can You Fit Exponential and Logarithmic Curves to Data in Python?

Python での指数関数および対数曲線近似の探索

曲線近似は、データ分析の基本的な手法であり、データを最もよく表す関数を見つけることが含まれます。データポイントのセット。多くの場合、指数関数または対数関数は、特徴的なパターンを示すデータの正確なモデルを提供します。

多項式曲線近似の取得

Python には、多項式曲線を近似するための Polyfit() 関数が用意されています。 。この関数は、さまざまな次数の多項式に多用途性を提供しますが、指数関数および対数近似に対応する関数がありません。

指数関数および対数関数の解法

指数曲線近似(y = AeBx):

  • 両辺の対数をとります: log y = log A Bx
  • これを一次方程式として扱います: log y = c dx、c = log A および d = B
  • polyfit() を使用して log y を x に対して近似します
  • y = c*edxを計算します

対数曲線近似 (y = A B log x):

  • polyfit() を使用して y を log x に対して直接近似します
  • 指数関数を適用して y を解きます: y = A B log x

scipy.optimize.curve_fit を使用する

より高度なカーブ フィッティングについては、scipy を使用します。 optimize.curve_fit は堅牢なソリューションを提供します。これにより、変換を行わずに任意の関数をデータに当てはめることができます。

例: y = AeBx

import scipy.optimize as opt
import numpy as np

x = np.array([10, 19, 30, 35, 51])
y = np.array([1, 7, 20, 50, 79])

# Provide an initial guess for better fit
def func(x, a, b): return a * np.exp(b * x)
popt, pcov = opt.curve_fit(func, x, y, p0=(4, 0.1))
print("y = {} * exp({} * x)".format(*popt))
ログイン後にコピー

このアプローチでは、さらに多くのことが可能になります。指数関数を直接計算するため、正確な結果が得られます。

これらの手法を利用すると、Python で指数曲線と対数曲線を効果的に探索し、データに適合させることができます。

以上がPython で指数曲線と対数曲線をデータに適合させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート