ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

Excelグラフ累乗,指数,多項式近似の論文記載の注意

ライターさん(最終更新日時:2016/9/10)投稿日:

  • ナイス!:

    2

  • 閲覧数:18135

印刷用のページを表示する


excel-regression.gif
執筆責任:井口豊(長野県岡谷市 生物科学研究所

非線形回帰による“べき乗近似”か,対数変換した直線回帰か,という問題に関連して,地震規模と断層サイズの関係式を考えてみるのも興味深い。私の研究室の以下の解説を参照。


Excelのグラフや関数を用いて,累乗近似指数近似を行なう場合,後述するように,それは,データを対数変換した上で,直線回帰として最小二乗法を適用している。

したがって,その結果を論文やレポートに記す場合は,「データを対数変換して直線近似した」と書かないと正しいとは言えない。

ネット上の計算でも,それを十分に解説していない例が多いので注意が必要である。

例えば,累乗近似の例として,以下の Q & A サイト

Excelを使った場合に,グラフの近似結果と,データを対数変換して直線をフィットさせた結果が同じになることを示している点では,そのサイトの解説は妥当である。しかし,それを「累乗近似式と」呼ぶのは,正しくない。

そのサイトに示されたデータを用いて,統計解析ソフト R による,データの対数変換・線形回帰による結果と,非線形回帰による結果を比較してみる。

求めるのは,次の式の母数(パラメータ) a, b である。 
 power.gif
なお,母数の意味を正しく理解していない人が,知恵袋の回答者にもかなり多い。母数の意味に関しては,以下の知恵袋参照。

話を戻して,以下が,前述のサイトデータに対する R による計算スクリプトである。 R を使えない人は, Rweb にコピペして, submit ボタンを押して計算して確認して欲しい。なお, R が使えなくても全然構わない。

x<- c(1: 10)
y<- c(6, 12, 27, 50, 75, 108, 149, 198, 249, 303)

# データを対数変換した後,線形回帰
# 対数変換
ln.x<- log(x)
ln.y<- log(y)

# 線形回帰
line<- lm(ln.y~ln.x)

# パラメータ a
(as<- exp(line$coef[1]))

# パラメータ b
(bs<- line$coef[2])

# 残差平方和
sum((y-as*x^bs)^2)

# 散布図と Excel 累乗近似(Rで描画した場合)
plot(x, y, xlim=c(0, 11), main="対数変換・線形回帰の累乗近似")
curve(as*x^bs, add=T, col="red")

対数変換・線形回帰の結果
a: 4.45247
b: 1.792387
残差平方和: 1401.634

当然だが,データ元累乗回帰グラフと同じであることが分かる。
 log-linear.gif
これをよく見て欲しいのだが,右端に近づくと,データと近似曲線のズレが大きくなるのが分かる。対数変換すると,大きな値のズレを過小評価してしまうために,このようなことが起きる。

次に,元のデータを非線形回帰で,累乗近似してみる。

# 非線形回帰
nonline<- nls(y~at*x^bt, start=c(at=1, bt=1))

# パラメータ a
(at<- coef(nonline)[1])

# パラメータ b
(bt<- coef(nonline)[2])

# 残差平方和
sum((y-at*x^bt)^2)

# 散布図と Excel 累乗近似(Rで描画した場合)
plot(x, y, xlim=c(0, 11), main="非線形回帰の累乗近似")
curve(at*x^bt, add=T, col="red")

非線形回帰の結果
a: 3.065695
b: 1.997829
残差平方和: 30.93659
 non-linear.gif
前述の対数変換・線形回帰の結果と比べると,パラメータがかなり異なることが分かる。また,非線形回帰のグラフのほうが,ほぼピタリとデータと累乗曲線が一致することが分かる。当然ながら,非線形回帰のほうが残差平方和も小さい

つまり,単純に,データ点に近い曲線を求めたいならば,非線形回帰を行なう必要があるのだ。指数曲線近似の場合も同様であり,以下のサイトの例は,非線形問題であることは全く考慮されていない。

さらに,このサイトでは,使ってはいけない決定係数を用いて指数曲線の適合度を評価している。この点は,私の知恵ノート参照。

この点, R では線形回帰と非線形回帰で表示法を区別している

# 線形回帰の詳細
summary(line)

結果
Multiple R-squared: 0.9867
決定係数が計算される

# 非線形回帰の詳細
summary(nonline)

このときは決定係数は計算されない。

なお注意したいのは,対数変換・線形回帰と非線形回帰のどちらが絶対正しいかという問題ではない,という点である。例えば,対数変換したほうが残差が正規分布に近づくのであれば,対数変換・線形回帰のほうが理論的には妥当かもしれない。

いずれにしろ,自分のやっている近似あるいは回帰が,どのような理論的計算に基づいているのか,それに注意すべきであり,それを論文やレポートに記すべきなのである。

回帰式による直線や曲線からのデータのバラツキの指標としては,残差分散(residual variance)がある。時として誤解されがちだが,決定係数 R2 は,そういう意味の指標ではない。それに関しては,私の知恵ノート参照。
この残差分散は,回帰係数の検定にも使われる。それに関しては,私の研究室の統計学ウェブ解説参照。
回帰係数の検定に関しては,そのウェブページの,特に,6. 回帰の検定に書かれている。

統計解析ソフト R で, nls 関数を使うと非線形回帰(non-linear regression)が分析できる。しかし,しばしば誤解されるが,この nls 関数は非線形回帰専用の関数というわけではない。 nls は線形または非線形の回帰分析の関数である。それに関しては,私の研究室のブログ参照。

もう一度,Excelグラフで近似曲線を求める方法の注意点を理論的にまとめてみる。

最初に述べたように,線形問題として解くか,非線形問題として解くか,それが理解できていない例が,知恵袋でもしばしば見られる。

例えば,以下の質問。

Excelグラフで求められる累乗近似式 
power.jpg
や指数近似式
exponential.jpg
これらは非線形回帰分析によって求められたものではない。

例えば,累乗近似式は両対数グラフで線形となるように変数変換している。
 log-power.jpg
対数部分を以下のように置換してみると良く分かると思う。

log-power-linear.jpg
その変換された変数に対して最小二乗法を適用しているので,当然,元のデータに対する回帰式とは異なる。

同様に,指数近似も片対数変換して線形となるように,変数変換した上で,最小二乗法を適用している。 
log-exponential.jpg
これらは,文字通り近似的にしか求められず,非線形回帰とはならないので注意が必要である。データに適合する関数を求める時,昔,パソコンで非線形回帰が容易には計算できなかった時代の名残とも言える便宜的方法である。このExcelグラフで近似曲線を求める方法で,指数回帰式や累乗回帰式を求めた,などと単純に学術論文に記すことは,今となっては,無知であること,恥ずかしいことなので気をつけよう。

ただし,Excelもバージョンによっては,計算法が異なる可能性があるので,その点も注意が必要である。

知恵袋を見ていたら,指数関数近似式を対数変換で求めろ,と教授に言われたという質問があって驚いた。しかも,横軸をlogスケールにして,と言われたそうである。

前述の通り,指数近似式の線形化は,y軸を対数座標として直線近似するのである。その点は,この教授の勘違いかもしれないが,非線形回帰を教えないという発想(知識?)の貧弱さには呆れてしまった。

ただし,個人的に私の研究室に相談を受けた例でも,データ処理や統計学的分析は指導教員も良く分からない,という例がしばしばある。そのこと自体は仕方ないとしても,それなら,この人に聞け,というような助言を学生・院生に与えてほしいものだ。あるいは,学生自身が積極的に,データ処理に詳しい人を探し出して尋ねる努力をしてほしい。

私自身が,福井大学大学院工学研究科の水上聡子氏の博士論文
に関わった経験からも,そう言える。せっかくインターネット活用時代なのだから,データを添付して,それぞれの専門家に送ってみれば,時間が許す限り,丁寧に解法を教えてくれるはずである。

実は,統計学上の検定を行うときに,Excelでさえ使いこなせていない人が結構いるのである。それに関しては,次の知恵ノートも参照。

データ処理や統計学的な検定自体は,研究において,本質的に重要なことではなく,副次的問題である場合も多い。そんなことで悩んだり,誤解したりする暇があったら,本質的な部分,研究上の新発見に力を注いでほしいと思う。

話は戻るが,Excelで非線形回帰を行うとしたら,ソルバーを使って,反復計算(iteration)で回帰式を求める。例えば,以下のサイト参照

一方で,多項式回帰は線形回帰の問題であるのに,非線形回帰だと誤解している人もいるようだ。

例えば,次の放物線(二次曲線)モデル
 polynomial.jpg
回帰式を求めるために,例えば,データ点(2, 3)を与えると,
 lpolynomial-linear.jpg
このように,パラメータの線形結合として表される式だと分かる。つまり,線形回帰か非線形回帰かは,関数が直線か曲線かの問題ではないのである。注意して欲しい。

多項式回帰が線形回帰であるということに関連して,二次多項式をExcelグラフで求めた時に,そこに示される決定係数R2の算出理論について,別の知恵ノートで扱ったので参考にして欲しい。

このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

この知恵ノートのライター

グレード

グレード知恵ノートのグレード:2-3

iguchi_yuさん男性

ピックアップ

【iPhone】修理交換の申込方法...
 ※追記※2015/1/30現在iPhone6及び6+が発売されたのを受け、情...
耳鼻科の先生に聞いた、しゃっ...
  皆さん、しゃっくりってわずらわしいですよね  ある時急に...
厄年について——意外と知られて...
厄年とは何か厄年とは文字どおり災厄に遭いやすいといわれる...
本文はここまでです このページの先頭へ