🍇

分数・指数関数による非線形回帰分析の初期値の計算方法

2024/10/01に公開

はじめに

今回は1次の分数関数と指数関数 y=1/(ax+b)+c,y=ae^{bx}+c による回帰分析の手法について、初期値の計算方法について補足します。パラメータ(回帰係数)の計算は数値解析により求めますが、初期値の与え方によって結果が異なり、適切な初期値を与えないと、望ましい結果に収束しない場合があります。本記事で解説する初期値の計算手法は、yx についての直線となるように変形し、直線近似の最小二乗法により求めます。定数項にあたる c の初期値については、相関係数を c の関数として考え、相関係数が最も大きくなるような c の値をニュートン法により求めます。非線形回帰分析の詳細についてはこちらの記事をご覧ください。

前置き

n 個のデータ組 (x_{1},y_{1}) ,\ ...\ ,(x_{n},y_{n}) が観測されたとして、yx について、以下の2つの近似を考えます。a,b,c は最終的に求めるパラメータとします。分数関数の定義域においては、y が発散する範囲を含まないものとします。

\begin{aligned} y &=\dfrac{1}{ax+b} +c &\hspace{25pt} (1) \\ &=ae^{bx} +c &\hspace{25pt} (2) \end{aligned}

手順

初期値の計算手順は以下のようになります。

  1. x,y の符号の調整
    分数・指数関数の形状は"上に凸 / 下に凸"、"増加 / 減少"で 2 \times 2 = 4 通り存在 
    x,y の符号を調整し、同一形状にする
  2. x と直線の関係となるように yz に変換 
    ⇒ (1) z=\dfrac{1}{y-c} , (2) z=\ln (y-c)
  3. zx の相関係数を最大(極大)化する c の計算
    ⇒ ニュートン法による数値解析
  4. 最小二乗法による a,b の計算
    ⇒ 3 で計算した c の値を利用して zx の最小二乗法から a,b を求める

1. 符号の調整

分数関数、指数関数の形状はどちらも "上に凸 / 下に凸"、"増加 / 減少"で 2 \times 2 = 4 通り存在します。ゆえに増減の判定および凸の判定により符号を調整し、形状を統一する必要があります。手順は以下の通りです。

  1. 増減判定(1階微分)
    ⇒ 共分散の正負
  2. 凸の判定(2階微分)
    yx の2次多項式 \beta_{2}x^{2} +\beta_{1}x +\beta_{0} で近似したときの \beta_{2} の符号
  3. 符号の乗算
    ⇒ 1 と 2 の結果から x,y に乗算する符号を計算

1.1. 増減判定

関数が増加しているか減少しているかについては、共分散の符号を利用します。 x,y の共分散 Cov(x,y) は以下の式で表されます。

\begin{aligned} Cov(x,y) &=\dfrac{1}{n-1}\sum_{i=1}^{n}( x_{i} -\bar{x} ) ( y_{i} -\bar{y}) \\ \end{aligned}

実計算では符号のみが重要のため (n-1) で割らず、計算省略のために、以下の式を用います。

\begin{aligned} \sum_{i=1}^{n} (x_{i}-\bar{x})( y_{i} -\bar{y}) &=\sum_{i=1}^{n}( x_{i} -\bar{x} ) y_{i} \\ &=\sum_{i=1}^{n} x_{i} (y_{i}-\bar{y}) \\ \end{aligned}

上式は以下の式変形より成り立ちます。

\begin{aligned} \sum_{i=1}^{n} (x_{i}-\bar{x})( y_{i} -\bar{y}) &=\sum_{i=1}^{n}( x_{i} -\bar{x} ) y_{i} -\sum_{i=1}^{n}( x_{i} -\bar{x} )\bar{y} \\ &=\sum_{i=1}^{n}( x_{i} -\bar{x} ) y_{i} -\bar{y}\sum_{i=1}^{n}( x_{i} -\bar{x} ) \\ &=\sum_{i=1}^{n} (x_{i}-\bar{x}) y_{i} \\ \end{aligned}

1.2. 凸判定

上に凸か下に凸かについては、yx の二次式 \beta_{2} x^{2} +\beta_{1}x + \beta_{0} で近似したときの二次係数 \beta_{2} の符号で判定します。
二次係数 \beta_{2} については、最小二乗法における正規方程式より計算します。

y に関する n 次元ベクトル \boldsymbol{y}、パラメータに関する3次元ベクトル \boldsymbol{\beta}x に関する n \times 3 行列 X を以下のように定義します。(縦のベクトルのため転置表記しています。)

\begin{aligned} \boldsymbol{y}=(y_{1},\ ...\ ,y_{n})^{T} \ ,\ \boldsymbol{\beta}=(\beta_{0}, \beta_{1}, \beta_{2})^{T},\ X=\begin{pmatrix} 1 & x_{1} & x_{1}^{2} \\ \vdots & \vdots & \vdots \\ 1 & x_{n} & x_{n}^{2} \\ \end{pmatrix}\\ \end{aligned}

最小二乗法は残差平方和を最小にすることから、残差平方和 S({\boldsymbol{\beta}}) を以下のように表すことができます。

\begin{aligned} S({\boldsymbol{\beta}}) &=||\boldsymbol{y} -X\boldsymbol{\beta} ||^{2} \\ &=(\boldsymbol{y}-X\boldsymbol{\beta})^{T}(\boldsymbol{y}-X\boldsymbol{\beta})\\ &=\boldsymbol{y}^{T}\boldsymbol{y}-2\boldsymbol{\beta}^{T}X^{T}\boldsymbol{y} +\boldsymbol{\beta}^{T}X^{T}X\boldsymbol{\beta} \end{aligned}

S({\boldsymbol{\beta}}) を最小とする \boldsymbol{\beta} については、\nabla S(\boldsymbol{\beta}) = \boldsymbol{0} を満たします。よって、以下の式が成立します。

\begin{aligned} \nabla S({\boldsymbol{\beta}}) &= \dfrac{\partial S({\boldsymbol{\beta}})}{\partial \boldsymbol{\beta}} \\ &=-2X^{T}\boldsymbol{y} +2X^{T}X\boldsymbol{\beta} = \boldsymbol{0} \\ \end{aligned}

以上より、以下の正規方程式が導かれます。

\begin{aligned} X^{T}X\boldsymbol{\beta} =X^{T}\boldsymbol{y} \end{aligned}

上式の連立方程式を解くことで、二次係数 \beta_{2} を計算します。

1.3. 符号の乗算

(1) \dfrac{1}{ax+b}+c の場合

観測されたデータ x,y について、減少 / 下に凸 となる(y=1/x の第1象限の形状)ように符号をかけます。
共分散 Cov (1階微分) 、\beta_{2} (2階微分) と x,y にかける符号の関係は以下の表のようになります。

Cov \beta_{2} x y
+ + - +
+ - + -
- + + +
- - - -

上記の表より、 x,y にかける符号 x_{SGN},y_{SGN} については符号関数を用いて、

x_{SGN} = -\mathrm{sgn}(Cov(x,y))\cdot \mathrm{sgn}(\beta_{2})
y_{SGN} = \mathrm{sgn}(\beta_{2})

a についての符号関数 \mathrm{sgn}(a) は以下のような式になります。

\begin{aligned} \mathrm{sgn}(a)=\left\{ \begin{matrix} 1 &:a \gt 0 \\ 0 &:a = 0 \\ -1 &:a \lt 0 \\ \end{matrix} \right. \end{aligned}

(2) ae^{bx}+c の場合

観測されたデータ x,y について、増加 / 下に凸 となるように符号をかけます。
共分散 Cov (1階微分) 、\beta_{2} (2階微分) と x,y にかける符号の関係は以下の表のようになります。

Cov \beta_{2} x y
+ + + +
+ - - -
- + - +
- - + -

上記の表より、 x,y にかける符号 x_{SGN},y_{SGN} については符号関数を用いて、

x_{SGN} = \mathrm{sgn}(Cov(x,y)) \cdot \mathrm{sgn}(\beta_{2})
y_{SGN} = \mathrm{sgn}(\beta_{2})

2. y の変換

(1) y=\dfrac{1}{ax+b}+c の場合

\dfrac{1}{y-c}=ax+b となることから、 z=\dfrac{1}{y-c} とすると、z,x は直線の関係になります。

(2) y=ae^{bx}+c の場合

\ln (y-c)=bx+\ln a となることから、 z=\ln (y-c) とすると、z,x は直線の関係になります。

3. z と x の相関係数の最大化

x,z の相関係数 \rho_{xz}1 に近づくにつれて、x,z の関係は直線に近づきます。そこで、相関係数 \rho_{xz}c に関する関数として考えて、\rho_{xz}(c) を最大化する c を求めます。解析的には求めることができないため、ニュートン法により極大値を求めます。相関係数 \rho_{xz} を以下に示します。

\begin{aligned} \rho_{xz}(c) &=\dfrac{\sum_{i=1}^{n}( x_{i} -\bar{x} ) ( z_{i} -\bar{z} )} {\sqrt{\sum_{i=1}^{n}( x_{i} -\bar{x} )^2 \sum_{i=1}^{n}( z_{i} -\bar{z} )^2}} \\ &=\dfrac{\sum_{i=1}^{n}( x_{i} -\bar{x} ) z_{i} } {\sqrt{\sum_{i=1}^{n}( x_{i} -\bar{x} )^2 \sum_{i=1}^{n}( z_{i} -\bar{z} )^2}} \\ \end{aligned}

x を定数と考えると \dfrac{\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i}} {\sqrt{ \sum_{i=1}^{n}( z_{i} -\bar{z} )^2}} =g_{1}(c) を最大化すれば良いことになります。ゆえに、g_{1}(c) の微分 g'_{1}(c)=0 を満たす c を求めます。 g'_{1}(c)を計算すると、

\begin{aligned} g_{1}'(c) &=\dfrac{\sum_{i=1}^{n} (x_{i} -\bar{x}) \dfrac{dz_{i}}{dc} \sqrt{ \sum_{i=1}^{n}( z_{i} -\bar{z} )^2} -\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \cdot \dfrac{1}{2\sqrt{ \sum_{i=1}^{n}( z_{i} -\bar{z} )^2}} \dfrac{d}{dc}\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 } { \sum_{i=1}^{n}( z_{i} -\bar{z} )^2} \\ &=\dfrac{\sum_{i=1}^{n} (x_{i} -\bar{x}) \dfrac{dz_{i}}{dc} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 -\dfrac{1}{2}\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \cdot \dfrac{d}{dc}\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 } { \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \sqrt{ \sum_{i=1}^{n}( z_{i} -\bar{z} )^2}} \\ \end{aligned}

となります。ここで、\dfrac{d}{dc}\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 について計算すると、以下のようになります。

\begin{aligned} \dfrac{d}{dc}\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 &=\sum_{i=1}^{n} \dfrac{d}{dc}( z_{i} -\bar{z} )^2 \\ &=\sum_{i=1}^{n} 2( z_{i} -\bar{z} ) \left( \dfrac{dz_{i}}{dc}-\dfrac{d\bar{z}}{dc} \right)\\ &=2\left( \sum_{i=1}^{n} ( z_{i} -\bar{z} ) \dfrac{dz_{i}}{dc} -\sum_{i=1}^{n} ( z_{i} -\bar{z} )\dfrac{d\bar{z}}{dc} \right) \\ &=2\left( \sum_{i=1}^{n} ( z_{i} -\bar{z} ) \dfrac{dz_{i}}{dc} -\dfrac{d\bar{z}}{dc} \sum_{i=1}^{n} ( z_{i} -\bar{z} ) \right) \\ &=2\sum_{i=1}^{n} ( z_{i} -\bar{z} )\dfrac{dz_{i}}{dc} \end{aligned}

よって、g_{1}'(c)

\begin{aligned} g'(c) &=\dfrac{\sum_{i=1}^{n} (x_{i} -\bar{x}) \dfrac{dz_{i}}{dc} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 -\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \cdot \sum_{i=1}^{n} ( z_{i} -\bar{z} )\dfrac{dz_{i}}{dc} } { \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \sqrt{ \sum_{i=1}^{n}( z_{i} -\bar{z} )^2} } \\ \end{aligned}

となります。分母は正であることから、分子を g_{2}(c) として g_{2}(c)=0 となる点をニュートン法により探します。
ニュートン法の漸化式は以下のようになります。

\begin{aligned} c^{(k+1)}= c^{(k)} + \dfrac{g_{2}(c)}{|g_2'(c)|} \end{aligned}

g_{2}(c) が許容値以下になるまで上記の漸化式を反復計算します。極大値を求めるので、g_{2}(c) が正(負)のとき、c が増加(減少)するように g'_{2}(c) に絶対値をとります。g_2(c),g'_{2}(c) は以下の通りです。

\begin{aligned} g_{2}(c)=\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 -\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\}=0 \end{aligned}

g_{2}'(c) を求めると、

\begin{aligned} g_{2}'(c) &=\dfrac{d}{dc}\left[\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \right]\\ &=\left\{ \sum_{i=1}^{n} \dfrac{d^{2}z_{i}}{dc^{2}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +2\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} - \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ \dfrac{d^{2}z_{i}}{dc^{2}} ( z_{i} -\bar{z} ) +\dfrac{dz_{i}}{dc} \left( \dfrac{dz_{i}}{dc} -\dfrac{d\bar{z}}{dc} \right) \right\} \\ &=\left\{ \sum_{i=1}^{n} \dfrac{d^{2}z_{i}}{dc^{2}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ \dfrac{d^{2}z_{i}}{dc^{2}} ( z_{i} -\bar{z} ) +\dfrac{dz_{i}}{dc} \left( \dfrac{dz_{i}}{dc} -\dfrac{d\bar{z}}{dc} \right) \right\} \\ \end{aligned}

となります。

(1) y = 1/(ax+b)+c の場合

\dfrac{1}{y-c}=ax+b となることから、z=\dfrac{1}{y-c} とします。

\begin{aligned} \dfrac{dz_{i}}{dc} &=\dfrac{d}{dc}\dfrac{1}{y_{i}-c}=\dfrac{1}{(y_{i}-c)^2} \\ &=z_{i}^2 \\ \dfrac{d^{2}z_{i}}{dc^{2}} &=\dfrac{d}{dc}\dfrac{1}{(y_{i}-c)^{2}}=\dfrac{2}{(y_{i}-c)^3} \\ &=2z_{i}^{3} \\ \dfrac{d\bar{z}}{dc} &=\dfrac{1}{n}\dfrac{d}{dc}\sum_{i=1}^{n}\dfrac{1}{y_{i}-c} \\ &=\dfrac{1}{n}\sum_{i=1}^{n} \dfrac{1}{(y_{i}-c)^2} \\ &= \overline{z^{2}} \end{aligned}

となることから、g_{2}(c) については、

\begin{aligned} g_{2}(c) &=\left\{ \sum_{i=1}^{n} z_{i}^{2} (x_{i} -\bar{x}) \right\} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 -\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \left\{ \sum_{i=1}^{n} z_{i}^{2} ( z_{i} -\bar{z} ) \right\} \end{aligned}

g_{2}'(c) については、

\begin{aligned} g_{2}'(c) &=\left\{ \sum_{i=1}^{n} \dfrac{d^{2}z_{i}}{dc^{2}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ \dfrac{d^{2}z_{i}}{dc^{2}} ( z_{i} -\bar{z} ) +\dfrac{dz_{i}}{dc} \left( \dfrac{dz_{i}}{dc} -\dfrac{d\bar{z}}{dc} \right) \right\} \\ &=\left\{ 2\sum_{i=1}^{n} z_{i}^3 (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} z_{i}^{2} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} z_{i}^{2} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ 2z_{i}^{3} ( z_{i} -\bar{z} ) +z_{i}^{2} \left( z_{i}^{2} -\overline{z^{2}} \right) \right\} \\ &=\left\{ 2\sum_{i=1}^{n} z_{i}^3 (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} z_{i}^{2} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} z_{i}^{2} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} z_{i}^{2} \left\{ 2z_{i}( z_{i} -\bar{z} ) +z_{i}^{2} -\overline{z^{2}} \right\} \\ \end{aligned}

となります。

(2) y = ae^{bx}+c の場合

a が正となるように符号を調整したため、z=\ln(y-c)(=bx + \ln a) が直線になります。
この場合、 y=e^{z}+c となることから、

\begin{aligned} \dfrac{dz_{i}}{dc} &=\dfrac{d}{dc}\ln(y_{i}-c) \\ &= -\dfrac{1}{y_{i}-c} \\ &=-e^{-z_{i}} \\ \dfrac{d^{2}z_{i}}{dc^{2}} &=-\dfrac{d}{dc}\dfrac{1}{(y_{i}-c)}=-\dfrac{1}{(y_{i}-c)^{2}} \\ &=-e^{-2z_{i}} \\ \dfrac{d\bar{z}}{dc} &=\dfrac{1}{n}\dfrac{d}{dc}\ln(y_{i}-c) \\ &=\dfrac{1}{n}\sum_{i=1}^{n} -\dfrac{1}{y_{i}-c} \\ &= -\overline{e^{-z}} \end{aligned}

となることから、g_{2}(c) については、

\begin{aligned} g_{2}(c) &=\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 -\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \\ &=-\left\{ \sum_{i=1}^{n} e^{-z_{i}} (x_{i} -\bar{x}) \right\} \sum_{i=1}^{n}( z_{i} -\bar{z} )^2 +\sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \left\{ \sum_{i=1}^{n} e^{-z_{i}} ( z_{i} -\bar{z} ) \right\} \\ \end{aligned}

g_{2}'(c) については、

\begin{aligned} g_{2}'(c) &=\left\{ \sum_{i=1}^{n} \dfrac{d^{2}z_{i}}{dc^{2}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} \dfrac{dz_{i}}{dc} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ \dfrac{d^{2}z_{i}}{dc^{2}} ( z_{i} -\bar{z} ) +\dfrac{dz_{i}}{dc} \left( \dfrac{dz_{i}}{dc} -\dfrac{d\bar{z}}{dc} \right) \right\} \\ &=\left\{ \sum_{i=1}^{n} -e^{-2z_{i}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} e^{-z_{i}} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} e^{-z_{i}} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} -\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ -e^{-2z_{i}} ( z_{i} -\bar{z} ) -e^{-z_{i}} \left( -e^{-z_{i}}+ \overline{e^{-z}} \right) \right\} \\ &=-\left\{ \sum_{i=1}^{n} e^{-2z_{i}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} e^{-z_{i}} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} e^{-z_{i}} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} +\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} \left\{ e^{-2z_{i}} ( z_{i} -\bar{z} ) -e^{-z_{i}} \left( e^{-z_{i}} - \overline{e^{-z}} \right) \right\} \\ &=-\left\{ \sum_{i=1}^{n} e^{-2z_{i}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} e^{-z_{i}} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} e^{-z_{i}} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} +\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} e^{-2z_{i}} \left\{ z_{i} -\bar{z} -e^{z_{i}} \left( e^{-z_{i}} - \overline{e^{-z}} \right) \right\} \\ &=-\left\{ \sum_{i=1}^{n} e^{-2z_{i}} (x_{i} -\bar{x}) \right\} \left\{\sum_{i=1}^{n}( z_{i} -\bar{z} )^2 \right\} +\left\{ \sum_{i=1}^{n} e^{-z_{i}} (x_{i} -\bar{x}) \right\} \left\{ \sum_{i=1}^{n} e^{-z_{i}} ( z_{i} -\bar{z} ) \right\} \\ &\hspace{15pt} +\left\{ \sum_{i=1}^{n} (x_{i} -\bar{x})z_{i} \right\} \sum_{i=1}^{n} e^{-2z_{i}} \left\{ z_{i} -\bar{z} -1 + e^{z_{i}} \overline{e^{-z}} \right\} \\ \end{aligned}

となります。

4. 最小二乗法による a,b の計算

各場合において、z,x の最小二乗法により a,b を求めます。
z=\alpha x + \beta の近似を考えると、残差平方和は以下のように表されます。

\begin{aligned} S({\alpha,\beta})=\sum_{i=1}^{n} (z_{i}-\alpha x_{i} - \beta)^{2} \end{aligned}

S(\alpha,\beta) が最小化されるとき、以下の式が成り立ちます。

\left\{\begin{aligned} \dfrac{\partial } {\partial \alpha }S(\alpha,\beta)&=2\sum_{i=1}^{n} x_{i}(\alpha x_{i} + \beta -z_{i})=0 \\ \dfrac{\partial } {\partial \beta }S(\alpha,\beta)&=2\sum_{i=1}^{n} (\alpha x_{i} + \beta -z_{i}) =0\\ \end{aligned}\right.

まず、下段の式に着目すると、

\begin{aligned} \dfrac{\partial } {\partial \beta }S(\alpha,\beta)&=2\sum_{i=1}^{n} (\alpha x_{i} + \beta -z_{i}) = 0\\ n\beta &= \sum_{i=1}^{n}z_{i} - \alpha \sum_{i=1}^{n} x_{i} \\ \beta& = \bar{z} -\alpha \bar{x} \end{aligned}

が成立します。この式を上段の式に代入して \alpha について解くと、

\begin{aligned} \dfrac{\partial } {\partial \alpha }S_{\alpha,\beta} &=2\sum_{i=1}^{n} x_{i}(\alpha x_{i} + \beta -z_{i}) \\ &=2\sum_{i=1}^{n} x_{i}(\alpha x_{i} + \bar{z} -\alpha \bar{x} -z_{i}) \\ &=\sum_{i=1}^{n} (x_{i}-\bar{x}+\bar{x}) (\alpha (x_{i} - \bar{x}) -(z_{i}-\bar{z}) ) \\ &=\alpha \sum_{i=1}^{n} (x_{i}-\bar{x})^{2} -\sum_{i=1}^{n} (x_{i} - \bar{x}) (z_{i}-\bar{z}) +\bar{x}\left\{ \alpha\sum_{i=1}^{n}(x_{i} - \bar{x}) -\sum_{i=1}^{n}(z_{i}-\bar{z}) \right\}\\ &=\alpha \sum_{i=1}^{n} (x_{i}-\bar{x})^{2} -\sum_{i=1}^{n} (x_{i} - \bar{x}) (z_{i}-\bar{z}) =0\\ \end{aligned}

以上より、以下の式が導出されます。

\left\{\begin{aligned} \alpha &=\dfrac{\sum_{i=1}^{n} (x_{i} - \bar{x}) (z_{i}-\bar{z})}{\sum_{i=1}^{n} (x_{i}-\bar{x})^{2}} \\ \beta &= \bar{z} -\alpha \bar{x} \end{aligned}\right.

(1) y = 1/(ax+b)+c の場合

z=\dfrac{1}{y-c} として、x,z の最小二乗法により a,b を計算します。

\begin{aligned} a &= \dfrac{\sum_{i=1}^{n} (x_{i}-\bar{x})z_{i}}{\sum_{i=1}^{n} (x_{i}-\bar{x})^{2}} &\hspace{25pt} \\ b &=\bar{z} -a \bar{x} &\hspace{25pt} \\ \end{aligned}

最後に、1 で形状統一のため x,y の符号を調整したため、a,b,c の符号も修正します。以下の符号を a,b,c をかけ合わせます。

\begin{aligned} a &\to x_{SGN}\cdot y_{SGN} (=-\mathrm{sgn}(Cov(x,y))) \\ b &\to y_{SGN} (=\mathrm{sgn}(\beta_{2})) \\ c &\to y_{SGN} \\ \end{aligned}

(2) y = ae^{bx}+c の場合

z=\ln (y-c) として、x,z の最小二乗法により a,b を計算します。
z=\ln (y-c),x の最小二乗法より求めます。

\begin{aligned} b &= \dfrac{\sum_{i=1}^{n} (x_{i}-\bar{x})z_{i}}{\sum_{i=1}^{n} (x_{i}-\bar{x})^{2}} \\ a &=\exp(\bar{z} -b_{0}\bar{x} ) \\ \end{aligned}

最後に、1 で形状統一のため x,y の符号を調整したため、a,b,c の符号も修正します。以下の符号を a,b,c をかけ合わせます。

\begin{aligned} a &\to y_{SGN} (=\mathrm{sgn}(\beta_{2})) \\ b &\to x_{SGN} (=\mathrm{sgn}(Cov(x,y)) \cdot \mathrm{sgn}(\beta_{2})) \\ c &\to y_{SGN} \\ \end{aligned}

Discussion