アプリ版:「スタンプのみでお礼する」機能のリリースについて

仕事で急に必要になりました。
直線近似法と対数近似法について
教えていただきたく投稿いたしました。

Webで調べたのですが

(x_1,y_1),(x_2,y_2),...,(x_n,y_n)     (x_1<x_2<...<x_n)
とn個の点から
直線近似法はY=aX+bという式で近似し、
近似の仕方には最小二乗法というのがあるようです。最小二乗法以外の方法があれば教えてください。

また、対数近似法については上記n点を
(x_1,log(y_1)),(x_2,log(y_2)),...,(x_n,log(y_n))     (x_1<x_2<...<x_n)
とした上で直線近似法を用いて得られた直線Y=aX+b
を用いて10^(aX+b)で求める方法でよろしいのでしょうか?

以上宜しくお願いいたします。

A 回答 (2件)

>最小二乗法以外の方法があれば教えてください


あります。ないです。
どちらも答えです。
仮に「ある」と言うとすれば、例えば、最小1乗絶対値近似などが考えられます。
(グラフの直線から、各点の距離を測って、それの距離の合計が最小になるようにする方法)
しかしながら、なぜ、そういう手法が用いられないかと言うと、世の中の物のばらつきが正規分布(ガウス分布)に近いばらつき方をすることが知られているからです。

しかも、計算・統計のしやすさからしても、最小二乗法のほうが、結局のところ簡単なのです。

ご質問のような二次元データが一次関数的な傾向を示しているとすれば、最小二乗法で求めた直線の周りには、各データの点が、ちゃんと正規分布的にばらついて、取り巻きます。

なお、ご質問文の最後のほうの、対数近似の考え方は、それで正しいです。


というわけで、前置きが長くなりましたが、
まずは最小二乗法を使ってください。
それで、グラフが見た感じダメでしたら、同じく最小二乗法的な二次関数近似、三次関数近似・・・や、指数・対数近似をやってください。

やり方は本に書いてありますが、お仕事で使われるのであれば、エクセル等の表計算ソフトを使えばいいです。その機能がない表計算ソフトはありません。
例えば、エクセルであれば、2つの列にそれぞれx、yデータをざーっと書き込みます。そして、挿入→グラフという操作でグラフの作成を開始し、グラフの種類で「散布図」を選んでグラフを作った後、グラフの上で右クリックして「近似曲線の追加」(だったかな?)をやれば、たちどころに近似直線あるいは曲線が完成します。
さらには、その近似曲線に右クリックして「式の追加」(だったかな?)をやれば、その近似曲線が、どういう式の曲線かが表示されます。


というわけで、話が長くなりましたが、まずは、騙されたと思って、エクセル等の表計算を使ってください。
    • good
    • 0
この回答へのお礼

本当に助かります。ありがとうございました。
Excelで可能なのですね。先ほど試してみました。

本当にありがとうございました。

お礼日時:2004/06/28 14:11

目的から外れてしまうかもしれませんが、Hough 変換という方法があります。


Hough 変換を調べて頂ければわかると思いますが、「Y=aX+b」では表せない直線が有ります。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2004/06/28 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!