人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

円筒面上のN個の点に対して回帰直線(らせん)を計算する効率のよい方法はないでしょうか。

具体的には、単位円上のN個の点を円周上の角度θ_1, θ_2, ... , θ_N(0以上2π 未満)で表すとして、i=1, 2, …, Nについて
θ_i ≒ a i + b ( mod 2π )
となる係数a, bを求めたいのです。aは2πを超える可能性があります。

●質問者: LaLaLa
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:mod らせん 単位 回帰 計算
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ita
●10ポイント

通常の最小二乗法と同様の簡単な式で、というわけには

いかないでしょうね。残差を仮に

\Min_n (a i + b -\theta_i - 2n\pi)^2

と定義してaとbを変化させると、無数の極小値があります。

その中から最小値を探すので、どうしても全数検索のような

ことが必要になると思います。なので初めから割り切って、

bは0から2πまで、aは-10πから+10πまでくらいを

それぞれ1000づつくらいで区切ってスキャンして

残差の最小値を求めたほうがいいかもしれません。

◎質問者からの返答

この方法はできれば避けたいです.....


2 ● ita
●60ポイント ベストアンサー

あ、

θ_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を求めるという方針でやってみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ