- ベストアンサー
線形補間について教えてください。
今手元にx、y、zの座標が140個分あるのですが、それをエクセルの散布図を使いグラフにしました。しかし、明らかにおかしな場所に座標がプロットされていたりするため、スプライン補間などを使いきれいにしたいと考えています。 インターネットなどで、線形補間について調べたのですが、表現が難しくなかなか理解できませんでした。 スプライン補間やラグランジェ補間、ニュートン補間など色々あるようですが、これらの違いは何なのでしょうか。どなたか簡単に教えてください。お願い致します。 また、エクセルを使ったスプライン補間のやり方も教えてくだされば幸いです。 よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
用語についての補足です。 補間は、全てのデータ点を通るあてはめを指します。最小2乗法などによる必ずしもデータ点を通らないあてはめは、普通は補間とは言いません。 http://ja.wikipedia.org/wiki/%E5%86%85%E6%8C%BF 質問が「補間」になっているので、#6 では敢て慣習には合わない言葉の使い方をしたのだと思います。 歴史的に言うと補間は、数表で表した関数から値を読み取るのに使いました。たとえば f(x) の数表で x が 0.1 刻みのなのに、f(0.13) の値が欲しいようなときです。f(0.1) や f(0.2) はじゅうぶんな精度でわかっているけれど、刻みが粗すぎて途中の f(0.13) が直接は読み取れません。つまり f(0.1) や f(0.2) の値には誤差が含まれないという点が重要です。 更に質問の表題の「線形補間」というと、f(0.1) と f(0.2) を直線で結んで途中の f(0.13) を読み取ります。つまり折れ線グラフによる近似です。もっと凝った補間では f(0.13) を読み取るのに、f(0.1) と f(0.2) の値だけでなく、f(0.0) とか f(0.3) とかの値も援用します。
その他の回答 (6)
- info22
- ベストアンサー率55% (2225/4034)
#3です。 補足すると スプライン補間してできる曲線は全ての点の座標を通るような曲線で補間しますので、データのばらつきが多いと全体として滑らかな曲線になりません。 一方、最小2乗法による関数フィティングでは、データのばらつき(誤差)が含まれていても全体として平均的な滑らかな曲線となってデータのバラツキや誤差を排除でき、かつデータを補間できることんいなります。
- ur2c
- ベストアンサー率63% (264/416)
#4 の補足です。 異常値が何か外的な基準、たとえばデータ取得の状況から判断できて、データから統計的に判断する必要はないのでしょうか? もしもそうなら、単にその基準に従って異常値を除去してからスプライン関数をあてはめれば、滑らかなグラフが描けます。 spline は gnuplot にも R にもあります。
- ur2c
- ベストアンサー率63% (264/416)
補足で意味がわかりました。#1, #3 の回答で適切と思います。 ソフトは gnuplot 以外にもいろいろあります。私なら R http://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E を使います。その方が試行錯誤が楽なことが多いので。グラフは gnuplot の方が細かい調整が効き、意図のとおりに描きやすいです。 異常値を捨てる話 http://okwave.jp/qa5355198.html も参考になるかもしれません。
- info22
- ベストアンサー率55% (2225/4034)
質問者さんの意図する課題を解決するには スプライン補間は不適です。 するなら、最小2乗法による関数フィッティングが適当でしょう。 最小2乗法の関数フィッティングはエクセルでも出来るようです。 他に関数フィッティングの得意なフリーソフトに「gnuplot」 http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/index-gnuplot.html があります。Windows版をDownloadしてインストールして使って見て下さい。 フィッティング http://windom.phys.hirosaki-u.ac.jp/member/kasai/gnuplotdefit.html
お礼
ご丁寧に、リンク先まで載せてくださりありがとうございます。 フルーソフトをダウンロードして、使ってみようと思います!
- ur2c
- ベストアンサー率63% (264/416)
ごめんなさい、「明らかにおかしな場所に座標がプロットされていたりする」の意味を誤解したかもしれません。要するに、問題がわかりません。
補足
回答くださりありがとうございます。 質問文が言葉足らずで申し訳ありません。 A(x1,y1,z1) B(x'1,y'1,z'1)が140個分あります。 エクセルで散布図を作ると、何点かが他とはかなりかけ離れた場所にプロットされます。元のデータがそうなのですが、その間を補間してなめらかな曲線にしたいと考えています。 よろしくお願いします。
- ur2c
- ベストアンサー率63% (264/416)
> 明らかにおかしな場所に座標がプロットされていたりするため、スプライン補間などを使いきれいにしたい 補間は与えられた点を全て通るので、おかしな点は補正されず、きれいにはなりません。きれいにしたいなら、こういう形の関数になるはず、という情報が必要です。たとえば「多項式になるはず」とか。
お礼
ご丁寧にありがとうございます。 とても助かりました。 こちらも参考にさせていただきます!