与えられたライン関数y = a*x + b
(a
とb
は既知の定数である)が与えられていると、それらの間の平方和の距離ラインサンプル(1, Y1), (2, Y2), ..., (n, Yn)
の窓(Y1
が最も古いサンプルとYn
が最新である場合):与えられたライン関数からローリングウインドウの二乗和の距離を計算するアルゴリズム
sum((Yx - (a*x + b))^2 for x in 1,...,n)
Iは、(長さn
の)ローリング・ウィンドウのために、この値を計算するための高速アルゴリズムを必要とする - 私はできません新しいサンプルが到着するたびにウィンドウ内のすべてのサンプルを再スキャンします。
明らかに、ウィンドウに入る新しいサンプルごとにいくつかの状態を保存して更新し、すべての古いサンプルがウィンドウを離れるようにする必要があります。
サンプルがウィンドウを離れると、残りのサンプルのindeciesも同様に変化し、すべてのYxはY(x-1)になります。したがって、サンプルがウィンドウを離れるとき、ウィンドウ内の他のすべてのサンプルは、(Yx - (a*x + b))^2
の代わりに(Yx - (a*(x-1) + b))^2
の新しい合計に異なる値を提供します。
これを計算するアルゴリズムはありますか?そうでなければ、あなたは1つ考えることができますか? (一次線形近似のためにいくつかの間違いがあることは大丈夫です)。
アップデートの間に回線パラメータが変更されますか?私。 'a'定数ですか? –
'a'と' b'は既知の定数です。 – Oren