• ベストアンサー

凸凹曲線グラフをスムージングしてデータに落とす方法

こんにちは。 曲線グラフをスムージングしてデータに落とす方法を模索しています。 実験データのグラフが凸凹で見づらく、それをスムージングして綺麗にしたいです。 視覚化だけならExcelでできそうなのですが、もう一歩踏み込んでスムージング後のグラフをデータ化したいのです。なぜなら解析を行いたいからです。 一々、スムージングしたグラフを見ながら、データを打ち込むのはやってられません。 C言語やC++でプログラムを組んでできるものなのでしょうか。参考urlなどありますか。他にいい方法がありましたらどうぞご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

スムージングはどのような関数でやられていますか? 多項式の最小二乗法ではなく、スプラインでエイヤッと合わせる程度であればRが便利です。 # テストデータの作成 x=seq(0,10,0.1) y=(x-3)*(x-8)*(x+1)+runif(101)*40 # グラフ化 plot(x,y, pch=20) # スプライン補間 sp=smooth.spline(x,y) predict_sp=predict(sp, x) # 補間データを重ね書き lines(predict_sp) predict_spにはxの点の値が入っています。xを任意の点(ベクトル)とすることで欲しい点の値が得られます。 他にも多項式での最小二乗法などもできます。 参考 http://d.hatena.ne.jp/hoxo_m/20110408/p1 http://logics-of-blue.com/平滑化スプラインと加法モデル/

ryoryoryory
質問者

お礼

御回答ありがとうございます!!!! めちゃめちゃ有益な情報です!!! Rというソフトは知りませんでしたので、とても参考になりました。 Ki073のような方がいらっしゃって、助かります。質問してよかったです。 ファン登録させていただきました。 学生なのでこういう手法の練習をしています。 Urlの情報もとても興味深いです。統計についても勉強となります。 もし、またわからないことがあれば、どうぞ宜しくお願いいたします。

関連するQ&A

専門家に質問してみよう