正則化またはペナルティ化によるARIMAXモデルの適合(たとえば、なげなわ、エラスティックネット、またはリッジ回帰)


29

予測パッケージのauto.arima()関数を使用して、ARMAXモデルをさまざまな共変量に適合させます。ただし、選択する変数は多数あることが多く、通常はそれらのサブセットで機能する最終モデルになります。私は人間であり、バイアスの影響を受けるため、変数選択のアドホックな手法は好きではありませんが、時系列の相互検証は難しいので、利用可能な変数のさまざまなサブセットを自動的に試す良い方法が見つかりませんでした。自分の最高の判断力を使ってモデルを調整するのにこだわっています。

glmモデルを適合させると、glmnetパッケージを介して、正則化と変数選択にエラスティックネットまたは投げ縄を使用できます。ARMAXモデルでエラスティックネットを使用するための既存のツールキットがRにありますか、それとも自分でロールバックする必要がありますか?これは良いアイデアですか?

編集:ARとMAの項(例えばAR5とMA5まで)を手動で計算し、glmnetを使用してモデルに適合させるのは理にかなっていますか?

編集2:FitARパッケージは、そのすべてではなく一部を私に与えているようです。


2
あなたがこの問題について何かをすることができたかどうか知りたいです。更新用にマークされていたので、ここでベースに触れます。
ヴィシャルベルサーレ

これを解決するために管理されることはありません。私は自分の実装を書くことを考えましたが、それを回避できませんでした。たぶん、ARとMAの項を手動で計算してから、そのデータにglmnetを適用できますか?
ザック

1
こんにちはザック、これをさらに進めているのか、それともまだ駐車中なのか疑問に思った。多数のシリーズを予測するために、このようなアルゴリズムが必要です。
マットウェラー14年

3
@MattWeller forecastR の優れたパッケージの作者であるRob Hyndmanと少し話をしました。彼は完全なARIMAでは難しいと言いました。1つの部分的な解決策はglmnet、ラグ付き変数を使用してARモデルを近似することです。私の知る限り、完全なARIMAモデルでこれを行った人はまだいません。
ザック14年

回答:


7

これは解決策ではありませんが、私が知っている可能性と困難に関するいくつかの考察です。

のように時系列モデルを指定することが可能であるときはいつでも と共変量と時間遅れ観測から計算Rのglmnetを使用して最小二乗弾性ネットペナルティ付き推定量を計算することもできます。glmnetで指定されるモデル行列を形成するには、を計算するコードを記述する必要があります。これはARモデルでは機能しますが、ARMAモデルでは直接機能しません。さらに、glmnetの相互検証手順は、それ自体が時系列データに対して賢明ではありません。X T β X T

Yt+1=xtβ+ϵt+1
xtβxt

より一般的なモデル の非線形最小二乗弾性ネットペナルティ付き推定量を計算するためのアルゴリズムの実装が必要です。私の知る限り、Rにはそのような実装はありません。現在、の場合を解決する実装を書いています。 なげなわペナルティがではなくにあることがモデル選択にとって最重要であるという点です。私が正しくARIMA-パラメータ化をリコールした場合、それはまた、この形式をとりますしかし、私は現時点ではすべてのコードを提供することはできません。それは(になります)に基づいています β Y T + 1 = X T G β + ε T + 1 β G β -

Yt+1=f(xt,β)+ϵt+1
β
Yt+1=xtg(β)+ϵt+1
βg(β)非平滑分離可能最小化のための座標勾配降下法

もう1つの問題は、ペナルティの量(チューニングパラメーター)の選択です。一般に、時系列に対しては相互検証の形式が必要になりますが、特定のモデルに対して、計算量の少ないメソッドを実行できるようになりたいと考えています。


Rのキャレットパッケージには、glmnetのパラメーターの選択に使用できる時系列相互検証の適切な実装があります。答えてくれてありがとう。
ザック

2

この問題を自動的に、つまりターンキー方式で解決するようにクライアントから挑戦されました。介入検出を組み込んでいる間、各ペア(つまりyと候補x)、prewhiten、事前にホワイト化されたシリーズの相互相関を計算し、PDL(または任意のDEAD TIMEを含むADL AUTOREGRESSIVE DISTRIBUTED LAG MODEL)を識別するアプローチを実装しました堅牢な推定値を生成し、この構造の「尺度」を作成します。すべての候補リグレッサに対してこれを実行した後、「メジャー」でランク付けし、「メジャー」に基づいて上位Kのリグレッサを選択します。これは、線形フィルタリングと呼ばれることもあります。このヒューリスティックを、市販の時系列パッケージにうまく組み込むことができました。「自分を転がす」ことができるはずです


特に投げ縄またはエラスティックネットをARIMAモデルに組み込みたいと思います。
ザック

3
私は実際には線形フィルターを探していません(これは便利ですが)。特に、投げ縄、リッジ回帰、またはエラスティックネットをARIMAXモデルに組み込む方法が必要です。
ザック

2
現時点では、レベルシフト、現地時間の傾向、係数シフト、または一定でないエラー分散には興味がありません。なげなわ、リッジ、またはエラスティックネット正則化をARIMAXモデルに適用することに特に興味があります。
ザック

2
上記の方法論になげなわ、リッジ、またはエラスティックネットの正則化を組み込み、オープンソースプログラミング言語でいくつかのサンプルコードを投稿できる場合は、喜んで賞金を授与いたします。
ザック

1
@frankは推定(ステップダウン)で識別を行おうとしていますが、パルス、レベルシフト、季節的パルス、時間傾向の組み合わせが多すぎるため、うまくいきません。これらの構造が必要であるが無視される場合、パラメーター推定は偏りがあり、重要なパラメトリックテストは実行されません。
IrishStat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.