日次データの季節調整と祝祭日の関数

EViews13では、Ollech (2021)による季節調整アルゴリズムを利用し、日次データの季節調整が可能になりました。また、新たに追加された@holiday, @holidayset関数は世界中の祝祭日に対して異なる機能を提供します。この関数を使えば、観測値に含まれる祝日のダミー系列を作成したり、標本全体に対する比率を確認したりできます。ここでは、これら2つの機能について解説します。


日時データの季節調整

  • Ollech (2021)による季節調整アルゴリズムを利用し、日次データの季節調整
  • 日次季節調整(DSA)は、Day-of-Week効果、Day-of-Month効果、およびDay-fo-Year効果という3つの異なる季節性を含む日次時系列データをモデル化

  1. EViewsのDSAは週7日間(D7)と週5日間(D5)形式の両方に対応しています。7日間データの場合は、次のようなステップで調整が行われます。詳細はユーザーズガイドIのChapter 11. Series内のDaily Seasonal Adjustmentをご覧ください。
    1. STL分解を使用した曜日効果の調整
    2. ARIMAモデリングを使用して、休日とカレンダーの影響を除去
    3. STL分解を使用して月の日の影響を調整
    4. STL分解を使用して曜日効果の調整
    5. 調整を組み合わせて、サンプル外の予測を実行

    多くの経済データはD5のみ報告され、週末にはデータが入手できません。EViewsでのDSAの実装では、D5データを処理するための3つの代替手段が提供されます。
    • D5データをD7に拡張し、金曜日の値を土曜日/日曜日の値として使用します。
    • 金曜日と月曜日の間で補間を使用してD5データをD7に拡張し、土曜日/日曜日の値を補完します
    • D5データ自体に対してDSAを実行します。日次STLの周期は5、月次STLの周期は23、年次STLは262です。観測値が23/262未満の月/年については、観測値を挿入し、欠落している値を補間します。
  2. 下記のEViwesインストールフォルダにある、サンプルファイルelecdmd_daily.wf1を開きます。2005年から2014年のイングランドとウェールズの毎日の電力需要データを含む時系列ELECDMDを処理します。
    C:\Program Files\EViews 13\Example Files\EV13 Manual Data\Chapter 11 - Series\elecdmd_daily.wf1
    この系列のグラフを表示すると、これらのデータには強い季節的パターンがあることがわかります。
    データ
    電力需要には毎月のパターンがあるように見えるだけでなく 、ウィンドウの下部にあるスライダーを使用して数か月の範囲を拡大すると、曜日のパターンもあることがわかります。
    データ
  3. DSAツールを使用して、季節パターンと週パターンの両方を削除します。まず、次のコマンドを実行するか、ワークファイルウィンドウのヘッダをダブルクリックして、標本期間を2014年4月30日に終了するように再設定します
    smpl @first 04/30/2014
  4. 次に、ELECDMDシリーズを開き、Proc/Seasal Adjustment/DSA Daily Seasonal Adjustmentをクリックして、DSAダイアログを開きます。
    Basic optionsノードでは予測期間と、出力される調整済み系列、季節成分、トレンド系列の名前を設定できます。
    ARIMAノードは、上記1-2で推定されるARIMAモデルのオプションです。モデルの次数選択、外生変数、外れ値検出などを設定できます。
    Seasonal AdjustmentノードはDay-of-week, Day-of-monthおよびDay-of-yearのSTL分解に関するオプション設定です。詳細は、ユーザーズガイドIのSTLセクションをご覧ください。
    データ
    ここでは、デフォルト値のままにして、OKをクリックして調整を実行します。
  5. DSAからの出力はスプールに表示され、調整プロセスの各部分に関する詳細情報が含まれています。
    データ
    たとえば、Day-of-Week STLには、曜日レベルの季節調整のトレンド-季節調整済みグラフが表示されます。
    データ
    Auto-ARIMAノードではARIMAの次数選択基準をグラフで確認できます。
    データ
    また、OutliersノードとARIMA Estimatesノードにはそれぞれ、外れ値の特定プロセスと推定されたARIMAプロセスに関する情報が表示されます。
    データ
  6. 最後に、出力シリーズ (ここではELECDM_ADJ)はワークファイルに保存されます。この系列にはDSA調整済みデータが含まれます。このデータを、サンプル全体の元のELECDMDに対してプロットすると、月ごとの季節性を除去されていることがわかります。
    データ

祝祭日の関数

  • @holiday、@holidayset関数で祝日・祭日を示す系列を作成
  • 祝日が土日であった場合の調整・加重

  1. @holiday関数はワークファイル内のデータの期間に含まれる、年中行事の比率やインジケータ(ダミー変数)を返します。@holiday関数の基本的な構文は:
    @holiday(h[, b][, flag...])
    ここで、「h」は祝日の設定、「b」は基本設定、「flag」は加重を示します。
    @holidayset関数も同様にワークファイル内のデータの期間に含まれる、年中行事の比率やインジケータを返します。@holidayは@holidaysetと似ていますが、日付のペアからは範囲を指定できます、一方、複数の異なる祝日を指定できません。これらの詳細はCommand Referenceをご覧ください。
  2. 次のコマンドは、
    series jan1 = @holiday(“Jan1”)
    1月1日のみ非ゼロ、それ以外ゼロを取る系列jan1を作成します。日次または、より低頻度のワークファイルでは1月1日を含む1観測値だけが1を取るようになります。より高頻度のワークファイルでは、1月1日に属する観測値が複数ありますので、個々の値は1より小さくなります。例えば、6時間刻みワークファイルでは、4観測値が1月1日に属するため個々の値は0.25を取ります。
    データ
    series jan1early = @holiday("Jan1", "Mon-Sun, 9AM-2PM")
    というように、1月1日の午前9時(午前9時を含む)から午後3時(終了時を除く)までの間の観測値がゼロ以外を取ることもできます。6時間刻みワークファイルでは、1月1日の午前6と正午の観測値が0.5を取ります。終端の設定は、指定された時間の最後の瞬間まで延長されると見なされます。例えば、2PMと設定すると、午後2時59分59秒999までとなります。

  3. また、series mondays = @holiday("Nov1Mon(1)")
    このように11月の最初の月曜日の翌日「(1)」の観測値でゼロ以外を取ります。2023年の場合は、7日です。
  4. 主要国の祝日を参照することも可能です。
    series frenchlabor = @holiday("Labour.fr~")
    上記はフランス「.fr」のメーデー(5月1日)の観測値でゼロ以外を取ります。その日が土曜日に該当する場合は、その前の金曜日の観測値がゼロ以外になります。また、その日が日曜日に該当する場合は、次の月曜日の観測値がゼロ以外になります。たとえば、2020年から2024年をカバーする日次ワークファイルでは、2020年5月1日(金)、2021年4月30日(金)、2022年5月2日(月)、2023年5月1日(月)、および2024年5月1日(水)の観測値は値1になります。
    ~」は日付を最も近い平日に調整します。つまり、該当の日付が土曜日であれば前日の金曜日に、日曜日であれば翌日、月曜日が非ゼロとなります。「!」は特定の名前の付いた公休日・バンクホリデーに対して使用され、公休日ごとに特有の調整ルールを適用します。
    データ
  5. weightは次のように使用します。、
    series christmasset = @holiday(“christmas[1, 2, 1]”)
    通常加重の無い"christmas"は12月25日に1を、それ以外で0を取ります。上の様に重み付けを行うと、指定された相対的な重み[1,2,1]を考慮し、12月24日が0.25、12月25日が0.50、12月26日は0.25になります。
    [ramp(n)]オプションを使用するとより高度な加重が可能です。例えば、[ramp(3)][1,2,3,2,1]と記述するのと同様です。
  6. 次の構文は、
    series postvets = @holiday("Veterans.us(7) Thanksgiving.us")
    米国の、退役軍人の日の1週間後「Veterans.us(7)」から米国感謝祭「Thanksgiving.us」までの間の観測値に対して、ゼロ以外をとる系列を生成します。この範囲は、年によって異なりますが、通常5日から11日までとなります。たとえば、2020年の場合、この範囲は9日間(11月18日から11月26日まで)をカバーするため、日次ワークファイルでは、それらの日に関連付けられた観測値は0.111になります。
    データ
page_top_icon