• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:任意の形の波形を関数でフィッティングするためにはどうしたら良いですか?)

任意の形の波形を関数でフィッティングする方法は?

このQ&Aのポイント
  • 任意の形の波形を関数でフィッティングするためには、波形の特性に合った適切な数学的モデルを選ぶ必要があります。
  • フィッティングパラメータの数が増えると、解が複数存在する可能性があります。その場合は、適切な制約条件を設定して解を絞り込む必要があります。
  • 波形のフィッティングに関する情報は、数学や信号処理に関する参考書や論文、または関連するオンラインリソースで見つけることができます。

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

  • ベストアンサー
回答No.3

実用的には,先の二人の回答者が考えてみえるパラメトリック回帰ではなく,ノンパラメトリック回帰になるんでしょうね. 例えば,RBFとかKrigingとか. 設計最適化における応答曲面近似においては,一般的に利用されています. 一方,化学の世界の機器分析では,ニューラル・ネットワークのような学習的手法が利用されます. イオンクロマト分析のスペクトル解析などに使われています.これは,ピークの出る位置が先験的に分かっていて,繰り返し出てくる場合などに応用できます. その先には,EMアルゴリズムとかベイジアン・ネットワークとかがあるようですが, 私は詳しくないので,他の方に説明はお任せします. 参考書:洋書ですが,David Ruppert,M.P.Wand,R.J.Carroll(2003):Semiparametric Regression,Cambridge University Press (ペーパーバックで8000円くらい)

dasugedegg
質問者

お礼

回答ありがとうございます。 線形最小二乗法のことはもちろん知っているのですが、 一から自分でプログラムのではなく、Excelのソルバー機能を使えば良いと考えております。 問題は解が一つではない場合どのようにして解を選定すれば良いのか、ということなのですが・・・ 一次式であれば、解は一つしかないでしょうが、 次数が上がるに従って、解の数が異様に多くなってしまうと思うのですが・・・

その他の回答 (2)

回答No.2

この形ならデータが11組以上あれば一意的に決まります。 測定値が(xi,yi) (i=1~N)として、一行が 1 xi xi^2 ・・・・xi^10 であるN行11列の行列をX、11個のパラメータA~Kを並べた列ベクトルをa、yiをN並べた列ベクトルをy、Xの転置行列をXtとして Xt・X・a=Xt・y (正規方程式) という方程式を、Xt・Xの逆行列を求めてときます。 a = (Xt・X)^(-1)・Xt・y 実際に計算する祭には、両辺のXtを除いた Xa=y をQR分解などを利用してaを決めるほうが、逆行列を求めるより有利だといわれています。 なぜこうなるのかは、線形最小二乗法で検索してください。1次式まではたくさんありますが、2次以上まで書いてあるところはだいぶ少ないようですが、いくつかはあります。

  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.1

最小二乗法を用います。詳しくは本やネットで調べてください。 基本的な考え方は曲線とデータとの距離が最小になるように係数を決めるというものです。

関連するQ&A

専門家に質問してみよう