質問:
指数関数的に重み付けされた移動線形回帰
brandon
2011-04-24 23:56:27 UTC
view on stackexchange narkive permalink

サンプルが入ってくるときに線形回帰を計算する必要があるという問題があります。指数関数的に重み付けされた移動線形回帰を取得するために使用できる式はありますか?それがあなたがそれを呼ぶものであるかどうかはわかりません。

加重移動平均を使用するのと同じように古いサンプルの重みを制御したいので、指数関数的に言います。しかし、新しいサンプルよりも古いサンプルの重みを指数関数的に小さくしたい
6 答え:
Dirk Eddelbuettel
2011-04-25 02:27:09 UTC
view on stackexchange narkive permalink

もちろん、 weights = 引数を lm()に追加するだけです( Rの場合):

  R> x <- 1:10 ##これの平均は5.5R>lm(x〜1)##定数計算の回帰meanCall:lm(formula = x〜1)係数:(切片)5.5 R> lm(x 〜1、weights = 0.9 ^(seq(10,1、by = -1)))Call:lm(formula = x〜1、weights = 0.9 ^(seq(10、1、by = -1)))係数:(インターセプト)6.35 R>  

ここでは、「より最近の」(すなわち、より高い)値の重みが大きくなり、平均が5.5から6.35にシフトします。重要なのは、もしあれば、私がその場で計算する$ \ lambda ^ \ tau $指数重みです。重み係数を任意の値に変更できます。データの順序に応じて、指数を逆に実行することもできます。

使用している回帰モデルを使用して、同じことを行うことができます。 。

Rのことは聞いたことがありません。私が望むもののようですが、構文のすべてを理解しているわけではありません。それがこの線形回帰式でどのように機能するかを説明できますか? (NΣXY-(ΣX)(ΣY))/(NΣX^ 2-(ΣX)^ 2)。公式は私の問題に対して完全に機能しますが、私は研究論文を書いているので、サンプルが入ってくるときに機能するために、これのより受け入れられる指数移動形式が必要です。
その構文のseqコマンドは、最後の10個のサンプルを追跡することを意味しているようです。指数加重移動平均のようなものが必要です。これにより、過去のすべての加重が減少しますが、0には到達しません。
例では10を使用しました。 Nをデータセットの長さとして決定するNに置き換えます。また、これは単に**加重最小二乗法**のアプリケーションであり、適切な回帰の教科書でさらに詳しく説明されています。
Ralph Winters
2011-04-25 20:18:03 UTC
view on stackexchange narkive permalink

やりたいことのように聞こえるのは2段階モデル​​です。最初に、指定された平滑化係数を使用してデータを指数平滑化された形式に変換し、次に変換されたデータを線形回帰式に入力します。

http://www.jstor.org/pss/2627674

http://en.wikipedia.org/wiki/Exponential_smoothing

どうやらこのサイトは私が新しすぎるので上矢印を押すことを許可しませんが、間違いなく私が必要としたもの
@brandonこれで、次のことができます(15人の担当者が必要です)。
参考までに、Crane and Crottyリファレンス(http://www.jstor.org/pss/2627674)は有効なURLですが、PDFを取得しようとすると、「ファイルが破損していて修復できませんでした」というメッセージが表示されます。 。
Henry
2011-04-25 21:20:16 UTC
view on stackexchange narkive permalink

$$ y = \ alpha_n + \ beta_n x $$

$ n $のデータが入った後、次の形式の方程式を探している場合は、指数係数$ k \ ge 1 $を使用している場合は、

$$ \ beta_n = \ frac {\ left(\ sum_ {i = 1} ^ nk ^ i \ right)\を使用できます。 left(\ sum_ {i = 1} ^ nk ^ i X_i Y_i \ right)-\ left(\ sum_ {i = 1} ^ nk ^ i X_i \ right)\ left(\ sum_ {i = 1} ^ nk ^ i Y_i \ right)} {\ left(\ sum_ {i = 1} ^ nk ^ i \ right)\ left(\ sum_ {i = 1} ^ nk ^ i X_i ^ 2 \ right)-\ left(\ sum_ {i = 1} ^ nk ^ i X_i \ right)^ 2} $$

および

$$ \ alpha_n = \ frac {\ left(\ sum_ {i = 1 } ^ nk ^ i Y_i \ right)-\ beta_n \ left(\ sum_ {i = 1} ^ nk ^ i X_i \ right)} {\ sum_ {i = 1} ^ nk ^ i}。$$

丸めや速度が問題になる場合は、他の形式で再キャストできます。 $ k>1 $の場合、$ \ sum_ {i = 1} ^ n k ^ i = \ frac {k(k ^ n-1)} {k-1} $があることも知っておく価値があります。

これは素晴らしいことですが、オンラインの再帰的な定式化はありますか?つまり、$ a_ {n-1}、b_ {n-1}、x_n、y_n、k $の観点から$ a_n、b_n $を書くことができますか?
@Peter:はおそらく簡単ではありませんが、さまざまな$ X_i $と$ Y_i $をすべて保持する代わりに、4つまたは5つの実行合計を格納できます。
MohSahx
2014-01-04 03:41:08 UTC
view on stackexchange narkive permalink

はい、できます。あなたが探している方法は、指数加重最小二乗法と呼ばれています。これは、再帰的最小二乗法のバリエーションです。\ begin {align} Θ̂(k + 1)& = Θ̂(k)+ K [z(k + 1)-x ^ T(k + 1)Θ̂ (k)] \\ K(k + 1)& = D(k)x(k + 1)[λ+ x ^ T(k + 1)D(k)x(k + 1)] ^(-1 )\\ D(k + 1)& = \frac1λ\ bigg(D(k)-D(k)x(k + 1)\ bigg [λ+ x ^ T(k + 1)D(k) x(k + 1)\ bigg] ^ {-1} x ^ T(k + 1)D(k)\ bigg)\ end {align} $0.9<λ<1$通常。

これは開発された方法です。時間とともに変化するパラメータを考慮しますが、それでも線形形式です。これはコスト関数から得られます:$$ J(Θ)= 1 / 2∑_(i = km)^k▒〖λ^(ki)[z(i)-x ^ T(i)Θ]〗^ 2 $$

通常の最小二乗法は、比較のために以下から計算されます。

コスト関数は次のとおりです。$$ J(Θ)= 1/2 ∑_(i = i)^ k▒[z(i)-x ^ T(i)Θ] ^ 2 $$ with \ begin {align}Θ(k)& = D(k)X_k ^ T Z_k \\ Cov [Θ̂(k)] & =σ^ 2D(k)\\ D(k)& = [X_k ^ T X_k] ^ {-1} \ end {align}

サイト@MohSahxへようこそ!特に▒のような記号を修正するために、 `latex`で数式を編集できるとより明確になります。
IrishStat
2011-04-25 15:49:36 UTC
view on stackexchange narkive permalink

伝達関数モデルy(t)= W(B)* X(t)+ [THETA(B)/ PHI(B)] * a(t)を作成する場合、演算子[THETA(B)/ PHI (B)]は「スムージングコンポーネント」です。たとえば、PHI(B)= 1.0およびTHETA(B)= 1-.5Bの場合、これは.5、.25、.125、...の重みのセットを意味します。このようにして、「加重移動線形回帰」の形式を想定するのではなく、最適化するための答えを提供できます。

Peter
2018-05-10 14:12:33 UTC
view on stackexchange narkive permalink

これと指数加重移動線形回帰との実際の関係はわかりませんが、指数加重勾配とオフセットを推定するための単純なオンライン式は、 Holt-Winters二重指数平滑化と呼ばれます。。ウィキペディアのページから:

時系列$ x_0 ... x_t $が与えられ、平滑化パラメーター$ \ alpha \ in(0,1]、\ beta \ in(0、1] $、初期化:

\ begin {align} s_1 & = x_1 \\ b_1 & = x_1-x_0 \ end {align}

そして$ t>1 $の場合: \ begin {align} s_t & =(1- \ alpha)(s_ {t-1} + b_ {t-1})+ \ alpha x_t \\ b_t & =(1- \ beta)b_ {t-1} + \ beta(s_t-s_ {t-1}) \ end {align}

ここで、$ b_t $は推定勾配であり、$ s_t $は時間tでの推定y切片です。

統計的に傾いている人は、これが指数関数的に重み付けされた移動線形回帰の解にどれだけ近いかについてコメントできるかもしれません。



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...