拡大する時間枠における時変平均は、レコードの開始から現在の日付までのすべての値の平均を暗示するように、別の言い方をすることができます。あなたは時間変数を与えていないので、データが整っていると仮定して時間変数を提供します。
コミュニティ提供のコマンド(rangestat
を使用して SSC からインストールするssc install rangestat
) は、次の方法で現在までのすべての値の平均を与えることができます。
clear
input X
50.735469
48.278413
42.807671
49.247854
52.20223
49.726689
50.823169
49.099351
48.949562
47.410434
end
gen t = _n
rangestat (count) X (mean) X, int(t . 0)
list
+-------------------------------------+
| X t X_count X_mean |
|-------------------------------------|
1. | 50.73547 1 1 50.73547 |
2. | 48.27841 2 2 49.506941 |
3. | 42.80767 3 3 47.273851 |
4. | 49.24785 4 4 47.767351 |
5. | 52.20223 5 5 48.654327 |
|-------------------------------------|
6. | 49.72669 6 6 48.833054 |
7. | 50.82317 7 7 49.117356 |
8. | 49.09935 8 8 49.115105 |
9. | 48.94956 9 9 49.096711 |
10. | 47.41043 10 10 48.928084 |
+-------------------------------------+
明らかに、必要に応じて小さなカウントの結果を無視できます。
help
構文はforで自然に説明されますrangestat
: ここで、オプションの構文、つまり interval(t . 0)
-- は 3 重であると言うだけで十分です。
- 時間変数
t
および 2 つのオフセット
可能な限り後方:.
ここで欠落しているシステムは、任意に大きいことを意味します
転送のみ 0
数学的に言えば、平均は、時間から無限大を引いた時間、または可能な限り時間 0 (現在) までです。
count
結果は、ウィンドウ内の非欠損値を持つ観測値の数ですX
。ここでは、時間変数が 1 つ上なので、カウントは時間変数と自明に同じですが、実際の問題では、時間変数は何らかの日付である可能性がはるかに高くなります。他の一部のコマンドとは異なりrangestat
、ウィンドウ内の非欠損値を持つポイントの最小数を主張するオプションはありませんが、存在するポイントの数を数えて、データが少なすぎることに基づいてそれらを無視することを決定できます。それはここでユーザーに任されています。
ちなみに、累積和を計算し、それまでの値の数で割ることによって、この種の問題をうまく開始することができます。これには、(たとえば) データのギャップ、不規則な間隔のデータ、または欠損値に注意する必要がありrangestat
、そのようなすべての問題が考慮されるという利点があります。