N次多項式・指数・対数でグラフを曲線近似する方法

2026-06-29

直線で近似できないデータに直面したら

多くの実験では測定データが比例関係(直線)になるよう条件を調整しますが、常に直線になるとは限りません。例えば次のようなケースです。

  • ダイオードの電流・電圧特性(指数関数的に増加)
  • RC回路のコンデンサの充電・放電(指数関数的に減衰)
  • センサーの補正カーブ(2次や3次などの多項式)

このようなデータに無理やり直線近似を適用すると、数式がデータと合わないだけでなく、間違った物理量を読み取ってしまいます

まず「物理的な根拠」からモデルを決める

曲線近似で最も大切なのは、いくつも試して R2R^2 が一番高いものを選ぶことではありません。その現象がどんな数式に従うはずかを先に考えることです。

現象モデル直線化の方法
RC回路の放電、放射性崩壊y=Aex/τy = A e^{-x/\tau}片対数(lny\ln yxx
等加速度運動y=12at2+v0t+x0y = \tfrac{1}{2}at^2 + v_0 t + x_02次多項式
振り子の周期と長さ、べき乗則y=Axny = A x^{n}両対数(lny\ln ylnx\ln x
熱伝導、拡散の緩和y=A(1ex/τ)y = A(1 - e^{-x/\tau})
センサー校正曲線多項式

モデルに理論的な裏付けがあると、係数そのものが物理量になります。 指数近似の τ\tau は時定数、両対数の傾き nn はべき指数です。単に「よく合う曲線」を引くのとは、レポートでの価値がまったく違います。

線形化して当たりをつける

どのモデルが合いそうか、プロットの仕方を変えるだけで判断できます。

プロット直線になるなら傾きの意味
普通の軸y=ax+by = ax + b比例係数
片対数(yy 軸のみ対数)y=Aekxy = A e^{kx}kk
両対数(両軸とも対数)y=Axny = A x^{n}べき指数 nn

**「片対数で直線に乗ったので指数関数に従う」「両対数で傾き 22 の直線になったので yx2y \propto x^2 である」**という考察は、この性質に基づいています。曲線をいきなり当てはめる前に、まず対数プロットを試してみてください。

計算例:RC回路の放電から時定数を求める

コンデンサの放電電圧を測定したデータで実際にやってみます。理論式は V=V0et/τV = V_0 e^{-t/\tau} です。

tt [s]01234
VV [V]5.003.031.841.120.68

両辺の自然対数を取ると、

lnV=1τt+lnV0\ln V = -\frac{1}{\tau} t + \ln V_0

となり、lnV\ln Vtt に対してプロットすれば直線になります。lnV\ln V を計算すると 1.609, 1.109, 0.610, 0.113, 0.3861.609,\ 1.109,\ 0.610,\ 0.113,\ -0.386 です。

これを最小二乗法で当てはめると傾き 0.4986-0.4986、切片 1.6081.608 が得られます。したがって、

τ=10.4986=2.01 s,V0=e1.608=4.99 V\tau = -\frac{1}{-0.4986} = 2.01\ \mathrm{s}, \qquad V_0 = e^{1.608} = 4.99\ \mathrm{V}

時定数 τ=2.01 s\tau = 2.01\ \mathrm{s}、初期電圧 V0=4.99 VV_0 = 4.99\ \mathrm{V} と求まりました。RR の値が分かっていれば τ=RC\tau = RC から静電容量 CC も出せます。

対数変換には注意点がある

この方法は簡単ですが、落とし穴があります。対数を取ると、値の小さい領域の誤差が相対的に大きく拡大されます

上の例では V=0.68 VV = 0.68\ \mathrm{V} の点の測定誤差が、V=5.00 VV = 5.00\ \mathrm{V} の点よりも ln\ln 上では強く効きます。厳密には重み付き最小二乗法か、変換せずに直接 y=Aex/τy = Ae^{-x/\tau} を当てはめる非線形最小二乗法が適切です。

学生実験では対数変換で十分なことがほとんどですが、「対数変換により小さい値の重みが相対的に大きくなっている」と一言添えられると、理解の深さが伝わります。当サイトの曲線近似ツールでは変換せずに指数モデルを直接当てはめられるので、両方の結果を比べてみるのも面白いと思います。

曲線近似の種類

曲線近似ツールでは、次の近似にドロップダウンの切り替えだけで対応できます。

1. 多項式近似(N次式)

y=aNxN+aN1xN1++a1x+a0y = a_N x^N + a_{N-1} x^{N-1} + \dots + a_1 x + a_0

2次曲線(放物線)や3次曲線など、複雑なカーブをなめらかに繋ぎたい場合に使います。「次数(N)」を変えるだけで即座に再計算されます。

2. 指数近似

y=aebxy = a e^{bx}

ある量が元の量に比例して変化する場合(放射性崩壊、バクテリアの増殖、電子回路の過渡現象など)に現れます。

3. 対数近似

y=aln(x)+by = a \ln(x) + b

xx が大きくなるにつれて yy の増加が緩やかになるデータに適しています。

決定係数 R2R^2 とその限界

「どの近似が一番よく合っているか」を数値で判断する指標が**決定係数 R2R^2**です。

R2=1(yiy^i)2(yiyˉ)2R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}

R2R^2 は 0〜1 の値をとり、1 に近いほどモデルがデータをよく説明できています。分子は「モデルで説明できなかったばらつき」、分母は「データ全体のばらつき」です。

ただし R2R^2 には決定的な弱点があります。パラメータを増やせば必ず上がるという性質です。次数を上げれば R2R^2 は単調に増えるため、これを基準にモデルを選ぶと必ず一番複雑なモデルが選ばれてしまいます。

パラメータ数の異なるモデルを比べるときは、自由度調整済み決定係数を使います。

Radj2=1(1R2)n1np1R^2_{\text{adj}} = 1 - (1 - R^2)\frac{n-1}{n-p-1}

nn はデータ点数、pp はパラメータの数です。パラメータを増やしたのに説明力がほとんど上がらなければ、Radj2R^2_{\text{adj}} はむしろ下がります。

残差プロットを必ず見る

R2R^2 の数値より雄弁なのが、残差 yiy^iy_i - \hat{y}_ixx に対してプロットしたものです。読み方は次のとおりです。

残差の見え方意味
上下にランダムに散らばるモデルは妥当
U字・逆U字に並ぶモデルの形が違う(次数不足など)
xx が大きいほど幅が広がる誤差が値に比例している。重み付けか対数変換を検討
端の点だけ大きく外れる測定範囲外の効果、または外れ値

R2=0.999R^2 = 0.999 でも残差がきれいなU字を描いていれば、そのモデルは間違っています。R2R^2 が高いから正しい」は成り立ちません。

過学習(オーバーフィッティング)に注意

多項式の次数を上げれば R2R^2 はいくらでも 1 に近づけられます。データ点の数と同じだけ係数を用意すれば、すべての点を通る曲線が引けてしまうためです。

しかしそれは「たまたま測定できた点の誤差まで再現しているだけ」で、点と点の間では大きく暴れます。これを過学習と呼びます。高次多項式が端で激しく振動する現象はルンゲ現象として知られており、通常は2〜4次程度が実用的です。

過学習を避けるコツは次のとおりです。

  • 物理的な根拠のある次数を優先する(等加速度運動なら2次、など)
  • 根拠がなければ、残差が偏りなくランダムにばらつく最小の次数を選ぶ
  • R2R^2 のわずかな向上のために次数を上げない。0.9990.9990.99990.9999 になっても実用上の意味はほとんどない
  • 使うなら Radj2R^2_{\text{adj}} で比べる

外挿は避ける

近似式は測定した範囲でのみ信頼できます。範囲外に延長して値を読む(外挿する)のは危険で、特に高次多項式では急激に発散します。

どうしても外挿が必要なら、多項式ではなく物理的根拠のあるモデル(指数など)を使い、外挿であることをレポートに明記してください。

よくある間違い

  • R2R^2 だけでモデルを選ぶ — 残差の並びを必ず見る
  • 理論的根拠なく高次多項式を使う — 見た目は合うが物理的な意味がない
  • 対数変換の重みの歪みを無視する — 小さい値の点が過大評価される
  • 測定範囲外へ外挿する — 特に多項式では急速に破綻する
  • 係数の桁を盛る — 元データが3桁なら係数も相応に丸める(有効数字の扱い方

まとめ

  • 曲線近似は「よく合う式を探す」のではなく、まず物理的根拠からモデルを決める
  • 片対数・両対数プロットで当たりをつけると、指数則・べき乗則が見分けられる
  • 対数変換は簡単だが、小さい値の重みが相対的に大きくなる
  • R2R^2 はパラメータを増やせば必ず上がる。比較には Radj2R^2_{\text{adj}} を使う
  • 残差プロットが最も雄弁。U字型ならモデルが間違っている
  • 外挿はしない。するなら明記する

複数のモデルを切り替えて残差を見比べるには曲線近似ツールが便利です。直線で足りる場合は最小二乗法ツール、求めた係数の不確かさを別の量に伝えたい場合は誤差伝播ツールをご利用ください。