Python での指数回帰 (ステップバイステップ)
指数回帰は、次の状況をモデル化するために使用できる回帰の一種です。
1. 指数関数的成長:成長はゆっくりと始まり、その後急速に無制限に加速します。
2. 指数関数的減衰:減衰は急速に始まり、徐々にゼロに近づいて減速します。
指数回帰モデルの方程式は次の形式になります。
y = 絶対x
金:
- y:応答変数
- x:予測変数
- a、b: xとyの関係を説明する回帰係数
次のステップバイステップの例は、Python で指数回帰を実行する方法を示しています。
ステップ 1: データを作成する
まず、2 つの変数xとyの偽のデータを作成しましょう。
import numpy as np x = np. arange (1, 21, 1) y = np. array ([1, 3, 5, 7, 9, 12, 15, 19, 23, 28, 33, 38, 44, 50, 56, 64, 73, 84, 97, 113])
ステップ 2: データを視覚化する
次に、簡単な散布図を作成して、 xとyの関係を視覚化しましょう。
import matplotlib. pyplot as plt plt. scatter (x,y) plt. show ()
グラフから、2 つの変数間に明確な指数関数的な増加パターンがあることがわかります。
したがって、変数間の関係を説明するには、線形回帰モデルではなく、指数回帰方程式を当てはめることが賢明であると思われます。
ステップ 3: 指数回帰モデルを当てはめる
次に、 polyfit()関数を使用して、 yの自然対数を応答変数として、 x を予測変数として使用して、指数回帰モデルを近似します。
#fit the model fit = np. polyfit (x, np. log (y), 1) #view the output of the model print(fit) [0.2041002 0.98165772]
結果に基づいて、近似された指数回帰式は次のように記述できます。
ln(y) = 0.9817 + 0.2041(x)
eを両辺に適用すると、方程式を次のように書き換えることができます。
y = 2.6689 * 1.2264x
この方程式を使用して、予測子変数xの値に基づいて応答変数yを予測できます。たとえば、 x = 12 の場合、 y は30.897になると予測します。
y = 2.6689 * 1.2264 12 = 30.897
ボーナス:このオンライン指数回帰計算ツールを自由に使用して、指定された予測変数と応答変数の指数回帰式を自動的に計算できます。
追加リソース
Python で単純な線形回帰を実行する方法
Python で多項式回帰を実行する方法
Python で分位点回帰を実行する方法