• ベストアンサー

最小二乗法?

stomachmanの回答

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

あやや。stomachman読み違えたんですね。 y[i] = A (sin(x[i] - C))^2 + B+ε[i] から、 |C| < 1°を求める。なお、|x[i]|<15° こういう問題でしたか。 非線形最小二乗法でCを追いつめていくのは勿論、真っ当な方法です。つまり、Cをちょっと変えては線形最小二乗法でA,Bを決め、残差二乗和S(C)=Σ(ε[i] ^2)が小さくなるようにCを修正していく。 でも、それじゃ回答として詰まらないので、まっとうでないやり方を考えましょう。 |C| が小さいのが特徴ですね。だから sin(x[i] - C)= sin(x[i]) cosC - cos(x[i]) sinC cosC=1-(C^2)/2+(C^4)/4! -… sinC = C-(C^3)/3! + (C^5)/5! -… を利用する手はどうでしょう。 sin(x[i] - C)≒sin(x[i]) - Ccos(x[i]) としてしまうんです。すると、 y[i] ≒ A (sin(x[i]) - Ccos(x[i]))^2 + B+ε[i] = A ((sin(x[i]))^2 + A(C^2)(cos(x[i]))^2 -2ACsin(x[i])Ccos(x[i])+ B+ε[i] ですから、 a=A, b=A(C^2), c=-2AC, d=B とおけば、線形最小二乗法の問題に帰着します。 a,b,cからAとCを決める訳で、得られるパラメータの個数が1個余計ですけど、そこは適当にごまかすことにしましょう。  もちろん、こうやって求めたCを利用して、さらに非線形最小二乗法で追いつめていくというのもアリです。 > 測定を数回繰り返して C の平均値と信頼限界を求めよう 同じ対象を何度も測定する、という意味でしょうか。だったら測定値を全部ぶち込んで一度に解いた方が良いですよ。ベクトルx[i]の異なる成分に同じ値が何度も現れたって一向に構いません。測定毎にノイズ(yの測定誤差)の標準偏差が異なるのであれば、その逆数を重みにした重み付き最小二乗法を行うのが適切かと思います。 > フィッティングにおける相関係数は,どのようにして求めればよいのでしょうか。 んーと。Cの誤差を評価するのが目的なら、Cを微小に動かした時に残差二乗和がどう変化するか、つまり∂S/∂C を求めて、残差二乗和の極小値から、(たとえばε[i] が正規分布だと仮定した場合の)信頼性限界にぶつかるにはCがどれだけ動けるかを調べればよいのです。  相関係数というのは、この場合モデルA (sin(x[i] - C))^2 + Bとy[i]との相関ですね。普通に考えれば良いと思いますよ。

38endoh
質問者

補足

ご回答ありがとうございます。最小二乗法については y = ax + b の a と b を求める以外には用いたことがなく,線形/非線形と接頭語のつく最小二乗法には全く馴染みがありません。stomachman さんのご回答の文面から判断すると, 線形最小二乗法 → 解析的に解が求まる方法 非線形最小二乗法 → 値を変えながら繰り返し計算する方法 という漠然とした認識をもったのですが,正しいでしょうか? > 何度も測定する、…中略…だったら測定値を全部ぶち込んで一度に解いた方が良いですよ。 この件についてですが,実は y = A (sin(x - C))^2 + B 式における A の値に問題がありまして,測定系上の都合により,長時間測定中していると A の値はゆっくりと約±20%くらいの変動を持つのです。この A の変動による影響を最小限に抑えるため,x の測定順序を 0, 0.2, -0.2, 0.4, -0.4, … という具合に,ほぼ左右対称になるように測定したりしています。この様な状況下でも,全部の測定結果を同時に解析した方が良いのでしょうか? 正直言いまして,私は数学的な処理について全く自信がありません。 > 残差二乗和の極小値から、信頼性限界にぶつかるにはCがどれだけ動けるかを調べればよい 感覚的には雰囲気が分かりますが,具体的にどういった計算をすればいいのか見えてきません。例えば No 2 での補足で,私は数回の測定から信頼限界を求めたと書きましたが,この時は数回測定した結果から標準偏差,平均誤差をもとめて,Student の t 分布を用いて,○○%信頼限界といった値を計算しました。stomachman さんのおっしゃる方法が具体的にはどういう方法なのか,よく分かりません。 どちらにせよ,私はもう少し勉強しないといけないことがよく分かりましたので,少々勉強をして出直してきます。この度は,ご丁寧にありがとうございました。

関連するQ&A

  • 最小二乗法の推定値の誤差

    変数xを変化させたときの測定値yを最小二乗法で二次式y=a*x^2 + b*x +c にフィッティングさせ推定値a, b, cを求めるとき、 測定値yの誤差がδyであるときの推定値a, b, cの誤差を求めたいのです。 具体的には、(x,y)=(-1,2), (0,0), (1,1.5), (2,5) の4つのデータを 二次式にフィッティングさせたときのa,b,cはa=1.375, b=-0.325, c=0.225ですが、 測定値yの測定誤差が0.1のときのa,b,cの誤差を求めたいのです。 よろしくお願いします。

  • 重みつき最小二乗法の誤差

    まず、条件を書かせていただきます。 ln(DZ)=ax+B a=-1/T x:条件(x=1、x=5) Z:xを決めると決まる値。(例:x=1ならZ=20、x=5ならZ=68) B:定数 D:条件xの時に行なった測定の測定値 (x=1のときに行なった測定値をD1、x=5のときに行なった測定値をD5) ln(DZ)=yとすれば、y=ax+Bとなります。 一回の測定すると、x=1とx=5に対するD1とD5を測定できます。 一回の測定操作をηとします。 上記の条件で、下記に示す2種類の方法でTの平均値とTの誤差を求めます。 (1) ηを行なうことにより、aとTを求めることができます。 ηを10回行なうことにより、10個のTを求めるます。 10個のTからTの平均値とTの誤差を求めます。 (2) ηを10回行なうことにより、10個のD1と10個のD5を求めるます。 10個のD1と10個のD5を使い、重みつき最小二乗法によって Tの平均値とTの誤差を求めます。 どちらの方法でも平均値と誤差は出ますが、 どちらの方がより正確にTの平均値と誤差を求めることができるのでしょうか。 根拠を示した上で教えてください。 じっくり考えてみましたが、よくわかりません。 文章がおかしいために 、たぶん質問の内容自体が理解できない可能性が高いので分からないことがあれば教えてください。 もし、参考になるホームページや本などがあればご紹介ください。 よろしくお願いいたします。

  • 最小二乗法

    n組のデータ (xi, yi) を,特定点(X0, Y0) を通る直線 y = ax+b でフィッティングしたい。最小二乗法で係数a,bを求めるため の式を導きなさい。 という問題で 各データの残差を二乗した和が最小になるときのa,bを求めるのですが 特定点(X0,Y0)を通るにはどうすればよいでしょうか? ただ単に、特定点を通らずフィッティングするやりかたはわかるのですが・・・。 よろしくお願いします。

  • 最小二乗法の重みづけについて教えてください。

    簡単のため、説明変数tと、目的変数xが、共に実数(スカラー)とします。 また、フィッティング関数 F=F(t,a,b,c) も、簡単のため3変数または4変数のスカラー値関数とし、フィッティングパラメータa,b,cも実数(スカラー)とします。また、Fがフィッティングパラメータを2つしか持たない場合(Fが3変数の場合)には、 F(t,a,b)と読み替えて考えることにします。 また、データ、即ち説明変数と目的変数の実測値の組 (t_{i},y_{i})がn個あるとする。 また、以下の4種類の評価関数を考えます。 A:所謂2ノルム A(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)|^2 B:n個の正数w_{i}を用いて、重みづけ B(a,b,c)=Σ(w_{i}|{y}_{i}-F({t}_{i},a,b,c)|^2) C:単調(非退化、つまり任意の点で微分がバニッシュしない)な関数φを用いて変換 C(a,b,c)=Σ|φ({y}_{i})-φ(F({t}_{i},a,b,c))|^2 D:所謂1ノルム D(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)| (Q1)このとき、以下の命題のうち、同値な命題はどれとどれですか? P「(a,b,c)がAの極値点である」 Q「(a,b,c)がBの極値点ある」 R「(a,b,c)がCの極値点ある」 S「(a,b,c)がDの極値点である」 (Q2)重みづけの意味について: *実際、最急降下法のプログラムを作ってみると、 Dの場合で、直線に近い形状になるように変換した場合(たとえばシクモイドの場合logをφに取る)。 Cの場合で、変化が緩慢なiに重みをつけた場合。 Aの場合。 の順に速度が速く、いずれの場合もだいたいの場合には、まあまあ(10000回ぐらい再起計算すれば) まあ、見た目に近いグラフが出てきます。 だとしたとき、wやφというのは、何を意味しているのでしょうか? ここで、最急降下法は、以下の意味で考えている 最急降下法の初期パラメータを(a_0,b_0,c_0)とし、 k回目の計算値を({a}_{k},{b}_{k},c_{k})と記載する。 このとき、({a}_{k},{b}_{k},c_{k})は、以下の漸化式を再帰的に数値計算することで求める。 (a_{k+1},b_{k+1},{c}_{k+1})=(a_{k},b_{k},{c}_{k})-ε*grad(J(a,b,c)) 但し。Jは、A,B,Cいずれかの評価関数で、εは充分小さい正定数 (Q4)εのテンソル化: というほど大げさなものではありませんが、εを正値の対角行列にした場合 収束が早いことがあります。この場合εの異方性がフィッティングパラメータの収束性 どのように作用しているのでしょうか?また、こんなことをしてもいいのでしょうか?

  • 最小二乗法について

    xは操作条件で、yは実験結果のプロットに対して、 最小二乗法でy=ax+bという回帰直線を引きました。 すると、aとbでは、aのほうが信頼性があるというのですが、 これはどういうことなのでしょうか?

  • 最小自乗法で求められた傾きの誤差

    データ列(x,y)がn個あって、それを最小自乗法でフィッティングして y=ax+bにおける傾きaが得られました。 そこで、yの測定誤差が例えば±10%あったとき、 傾きaの誤差δaはどのように求められるのでしょうか? データ数nが多いほどδaは小さくなるとは思いますが・・・。 よろしくお願いいたしますm(_ _)m

  • 最小二乗法の応用について

    実験により、xに対するyの値をxの値をかえながら、N回測定した。測定したxに対するyの関係をグラフに描くと、次の二次関数で表現するのが適当であることがわかった。 y=ax*x+bx+c この時、最小二乗法によりパラメータa、b、cの値を求める式を導出せよ。という問題なのですが、どのようにしたら最小二乗法で求めることができるのですか? どうか教えてください

  • 次数が未知の最小二乗法について

    最小二乗法により実験データを解析したいと考えています。 n回の測定でyとxを求め、 y=ax^2+bx+c という二次関数でフィッティングする場合、未知パラメータabcを擬似逆行列で求めるというところまでは分かったのですが、 y=ax^d+bx+c というように、未知パラメータがabcに加えて、次数のdも未知の場合にはどのように解いたら良いのでしょうか。 どなたか分かる方、教えてください。

  • 近似曲線の設定方法

    Sma4 for Windows で、あるデーターのプロットを取りました。 このプロットに対して、近似(フィッティング)曲線をつくるため x,yの関数としてy=1-(b/1+(c/x))を入れたいのですが、うまくいきません。 bとcはxの変化によって変化する定数の事です。  Sma4起動中の、どこに式を入れればいいのか教えて下さい。  つまり、プロットに対して近似曲線を作るための式の設定方法を教えて下さい。

  • 東工大 物理問題 教えて 最小二乗法

    y=ax xを変えながら測定を行い、N組の測定値xi,yiを得た 最小二乗法を用いてaの最確値を表す式を求めよ x、yの各測定における測定誤差は等しいとする