具体的には、単位円上のN個の点を円周上の角度θ_1, θ_2, ... , θ_N(0以上2π 未満)で表すとして、i=1, 2, …, Nについて
θ_i ≒ a i + b ( mod 2π )
となる係数a, bを求めたいのです。aは2πを超える可能性があります。
あ、
θ_i ≒ a i + b ( mod 2π )
この式からすると、データは高さ方向に等間隔で並んでいるんですね。
θ_i ≒ a Hi + b ( mod 2π )
というように高さHiがバラバラという訳ではないんですね。
等間隔の場合は aに2πを足しても残差は変化しません。iが整数なら(a+2πn)i = ai ( mod 2π )なので。
それならθ_(i+1) - θ_i を i=1..n-1について平均すればa が出て、
θ_i - a i ( mod 2π ) を平均すれば b が出そうです。
通常の最小二乗法と同様の簡単な式で、というわけには
いかないでしょうね。残差を仮に
と定義してaとbを変化させると、無数の極小値があります。
その中から最小値を探すので、どうしても全数検索のような
ことが必要になると思います。なので初めから割り切って、
bは0から2πまで、aは-10πから+10πまでくらいを
それぞれ1000づつくらいで区切ってスキャンして
残差の最小値を求めたほうがいいかもしれません。
この方法はできれば避けたいです.....
あ、
θ_i ≒ a i + b ( mod 2π )
この式からすると、データは高さ方向に等間隔で並んでいるんですね。
θ_i ≒ a Hi + b ( mod 2π )
というように高さHiがバラバラという訳ではないんですね。
等間隔の場合は aに2πを足しても残差は変化しません。iが整数なら(a+2πn)i = ai ( mod 2π )なので。
それならθ_(i+1) - θ_i を i=1..n-1について平均すればa が出て、
θ_i - a i ( mod 2π ) を平均すれば b が出そうです。
ありがとうございます。
aはmod 2πで考えてよいのですね。
階差の平均からまずaを求めるという方針でやってみます。
ありがとうございます。
aはmod 2πで考えてよいのですね。
階差の平均からまずaを求めるという方針でやってみます。