0

重複の可能性:
変数のベクトルを lm() 式に渡す

私は明らかにRに慣れていないので、事前に申し訳ありません;)

インタラクティブな QLR 型テストを実装しようとしていますが、私のコードは紙のものの一部になるため、関数として別のファイルに入れたいと思っています。

目標は、構造破壊のすべての観測値にわたってモデルを繰り返し F テストし、(たとえば) 5 つほどの構造破壊が検出され、バイナリ ダミー変数としてモデルに実装されるまでです。インタラクションはテストされ、手動で追加されます。

関数をまだ実際に書いていないので、コードがまだないのは残念です。しかし、これが私がそれがどのように機能すると想像するかです:

  1. モデルと変数を引数として受け取るラッパー関数があります (私が推測するグローバル オブジェクトにアクセスすることもできますか?)。

  2. 次に、QLR 関数を呼び出します。これは、F 値が最も高いインデックスと、QLR 有意な最初のインデックスの後の日付のインデックスも返します。)

    その理由は、以前に見つかったダミーが既に 1 である区間で 1 になるダミ​​ー変数をテストすると、F 検定で多重共線性エラーが発生するためです。したがって、最初のダミー変数が非常に低いインデックスにある場合、その後、休憩は見つかりません。それが 500 で、それ以降のすべての日付で 1 に設定した場合、次の反復では 500 未満のインデックスの有意な F 値のみを見つけることができます。

  3. 次に、ラッパーはダミーの時系列を作成する関数を呼び出します。ダミーの時系列は、最初のインデックスまでは 0 で、次に 1 になり、2 番目のインデックスに達すると再び 0 になります。

    最も重要な F 値がインデックス 500 にあり、別の重要な値が 1000、1500、2000 などにあるとします。ダミー関数は、ダミーを 500 ~ 999 の間隔で 1 に設定します。

  4. ダミー変数 D1 を持つ新しいモデルが QLR 関数に返され、新しい変数 D2 に対してプロセスが繰り返されます。

これは少し複雑で、効果の影響ではなく、ある時点でのモデルへの全体的な影響を与えるオン/オフ型のダミーが得られることに気付きました。しかし、それはコンテキストでは問題ありません。LHT 関数の多重共線性の問題を回避する方法がよくわかりません。

とにかく、これを実装する必要があるのは、モデルを生成して QLR 関数に動的に渡し、新しいダミー変数をモデルに動的に追加する機能です。

QLR を有意にテストできる数が事前にわからないため、特定の数のダミーに制限されないようにしたいと考えています。このため、動的な名前で変数を追加する機能も必要になります。私はこれをベクトルとして行うことができると思いますが、行追加関数が必要ですよね?

モデル+変数を関数に動的に渡すにはどうすればよいですか?

4

0 に答える 0