指数回帰計算機
データに y = ab^x の指数モデルを当てはめ、将来値を予測します。
(x, y) のペアデータを入力して、指数回帰式、R²、予測値を計算します。
指数回帰計算機
データに y = ab^x の指数モデルを当てはめ、将来値を予測します。
各行に 1 組ずつ、空白またはカンマで区切って入力してください。例: 1 2.5
指数回帰計算機について
指数回帰は、与えられたデータ点に最もよく合う指数関数 y = ab^x を求める曲線当てはめの手法です。データが指数的な増加または減少を示す場合に使われます。グラフ上では、点が J 字型の曲線(増加)または右下がりの凹型曲線(減少)に沿って並びます。指数モデルは対数を取ると線形になります。両辺の自然対数を取ると ln(y) = ln(a) + x·ln(b) となり、ln(y) と x に関する一次方程式になります。
当てはめには、線形化した方程式に最小二乗法を適用します。具体的には、ln(y) 空間で残差平方和を最小化します。これにより、ln(b) = [n·Σ(x·ln y) − Σx·Σ(ln y)] / [n·Σx² − (Σx)²]、ln(a) = [Σ(ln y) − ln(b)·Σx] / n が得られ、そこから a = e^(ln a)、b = e^(ln b) を求めます。
モデル y = ab^x は次のように解釈できます。係数 a は y 切片で、x = 0 のときの y の値を表します。底 b は変化率を決め、b > 1 なら成長、つまり x が 1 増えるごとに b 倍の変化を示します(たとえば b = 1.05 なら x が 1 増えるごとに 5% 成長します)。0 < b < 1 なら減衰です。成長率の百分率は (b − 1) × 100% です。
決定係数 R² は、モデルがデータにどれだけよく適合しているかを 0 から 1 の尺度で示します。R² が 0.95 なら、元の y 値の分散の 95% が指数モデルで説明されることを意味します。科学データでは、R² が 0.90 を超えると概ね良好な当てはまりとみなされます。相関係数 R = √R² × sign(ln b) は、指数関係の方向と強さを示します。
重要な制約: 対数は 0 と負の値では定義されないため、指数回帰ではすべての y 値が正である必要があります。データに 0 以下の y 値が含まれる場合は、データを平行移動する、あるいは多項式回帰など別のモデルを検討する必要があります。
例
これらの例は、生物・金融・物理データに対する指数回帰を示しています。
| データ点 | 式 | シナリオ |
|---|---|---|
| (1,2), (2,4.1), (3,7.9), (4,16.2), (5,33.0) | y ≈ 0.98 × 2.01^x, R² ≈ 0.999 | 細菌コロニーが約 1 時間ごとに倍増 |
| (0,1000), (1,1050), (2,1102.5), (3,1157.6), (4,1215.5) | y = 1000 × 1.05^x, R² = 1.000 | 完全な 5% 複利成長;R² = 1 |
| (0,100), (10,82), (20,67), (30,55), (40,45) | y ≈ 100 × 0.981^x, R² ≈ 0.999 | 放射性崩壊;b < 1 は指数減衰を示す |
| (1971,2300), (1982,134000), (1993,3.1M), (2000,42M), (2011,2.6B) | y は指数関係に適合、R² ≈ 0.97 | ムーアの法則: トランジスタ数が約 2 年ごとに倍増 |
使い方
- テキストエリアにデータ点を入力します。1 行に 1 組、x と y を空白またはカンマで区切ってください(例: '1 2.5' または '1,2.5')。少なくとも 3 点必要です。
- すべての y 値が 0 より大きいことを確認してください。指数回帰アルゴリズムでは y の対数を取ります。
- 必要に応じて「Y を予測」欄に x 値を入力すると、当てはめたモデルから予測を取得できます。
- [計算]をクリックすると、回帰式 y = ab^x、係数 a と b、R²、相関係数 R、必要な予測値が表示されます。
- クイック読み込みボタンで用意済みの例を読み込み、回帰式の導出を確認できます。
よくある質問
指数回帰とは何ですか?
指数回帰は、y = ab^x の形の曲線をデータ点集合に当てはめる手法で、a は初期値、b は x 1 単位あたりの増減係数です。データが現在値に比例する速度で増加または減少するときに使います。対数でモデルを線形化し、変換後のデータに通常の最小二乗法を適用して当てはめます。
係数 a と b は何を意味しますか?
係数 a は y 切片で、x = 0 のときの予測 y 値です。底 b は x が 1 増えるごとの y の乗法的変化を決めます。b = 1.1 なら x が 1 増えるたびに y は 10% 増加します。b = 0.9 なら 1 単位ごとに 10% 減少します。成長率の百分率は (b − 1) × 100% です。
R² は何を測りますか? どの値が良いですか?
R²(決定係数)は、元の y 値の分散のうち、当てはめた指数モデルで説明できる割合を示します。値は 0 から 1 で、1 は完全一致を意味します。科学データでは、R² > 0.95 は非常に良好、0.80–0.95 は良好、0.80 未満では指数モデルが適切でない可能性があり、別のモデルを試すべきです。
なぜ y 値は正でなければならないのですか?
指数回帰アルゴリズムは ln(y) を取ってモデルを線形化します。自然対数は厳密に正の数にしか定義されません。ln(0) は負の無限大で、負の数の対数は実数では定義されません。y が 0 以下のデータでは、データを平行移動する、別のモデル(多項式やべき乗則)を使う、あるいはそもそも指数増加かどうかを見直す必要があります。
線形回帰と何が違いますか?
線形回帰は、一定の変化率を仮定して直線 y = mx + b を当てはめます。指数回帰は、一定の比例変化率を仮定して y = ab^x を当てはめます。選択の目安として、通常スケールで点が直線的なら線形、半対数スケールで直線的なら指数です。R² を比較することもできますが、指数回帰は対数空間で残差を最小化するため、2 つのモデルの R² は直接比較できません。
この計算機は指数減衰にも使えますか?
はい。指数減衰は 0 < b < 1 の特別なケースです。b = 0.95 なら、量は x 1 単位ごとに 5% 減少します。計算機は成長と減衰の両方を自動で扱うため、設定変更は不要です。データ点を入力するだけで、アルゴリズムが正しい b 値を求めます。放射性減衰、血中の薬物濃度、物体の冷却温度などがこのパターンに従います。