「指数平滑法」の版間の差分
Tetsuyatominaga (トーク | 投稿記録) |
|||
1行目: | 1行目: | ||
'''【しすうへいかつほう (exponential smoothing)】''' | '''【しすうへいかつほう (exponential smoothing)】''' | ||
+ | |||
+ | === 概要 === | ||
時系列データに対してウエイト付け平均を行って平滑化する方式で, 過去にさかのぼる程小さくなる指数型のウエイト付けを採用している. 時系列を逐次平滑化している基本式(定数型モデル)は, | 時系列データに対してウエイト付け平均を行って平滑化する方式で, 過去にさかのぼる程小さくなる指数型のウエイト付けを採用している. 時系列を逐次平滑化している基本式(定数型モデル)は, | ||
7行目: | 9行目: | ||
で表わされる. ここで, <math>m_t \,</math>は<math>t \,</math>時点のウエイト付けされた平均値(推定値), <math>d_t \,</math>は<math>t \,</math>時点のデータ, <math>a \,</math>は平滑化定数(<math>0 \leq a \leq 1 \,</math>)である. また, 時系列データに傾向や季節変動がある場合の直線型傾向モデルや季節型モデルも開発されている. | で表わされる. ここで, <math>m_t \,</math>は<math>t \,</math>時点のウエイト付けされた平均値(推定値), <math>d_t \,</math>は<math>t \,</math>時点のデータ, <math>a \,</math>は平滑化定数(<math>0 \leq a \leq 1 \,</math>)である. また, 時系列データに傾向や季節変動がある場合の直線型傾向モデルや季節型モデルも開発されている. | ||
− | + | === 詳説 === | |
+ | |||
+ | 1. 指数平滑法の基本式 | ||
+ | |||
+ | 時間の変化に従って与えられるデータ群, すなわち, 時系列データ (例えば需要量系列など) を用いた予測方式の共通点は, 先行するデータ群をつぎに続くデータ群に関連づけて推定を行うことである. この方法の一つで[[指数平滑法]]の基礎となる方式が移動平均法である. いま, <math>t\, </math>時点の移動平均値を<math>m_t\, </math>, 用いられるデータ群の項数を<math>l, (t-n)\, </math>時点のデータを<math>d_{t-n}\, </math>とし, <math>d_{t-n}\, </math>の係数を<math>a_{n+1}\, </math>とすれば, <math>{\it t}\, </math>時点の移動平均値<math>m_t\, </math>は次式で表される. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | m_{t}=a_{1}d_{t}+a_{2}d_{t-1}+{\cdots}+a_{l}d_{t-l+1} | ||
+ | \, </math> <math>(1)\, </math> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | ただし, <math> | ||
+ | \ \sum_{n=1}^{l}a_{n}=1 | ||
+ | \, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | さて, 指数平滑法([1], [2])はこの(1)式の係数<math>a_{1} ,a_{2},\cdots ,a_{l}\, </math>に対して, 現在時点に近い程ウエイトを大きくし, 過去にさかのぼる程ウエイトを小さくしていく指数型の考え方を導入したもので, 指数型加重移動平均法とも呼ばれている. すなわち, この方式による<math>{\it t}\, </math>時点の推定値<math>m_t\, </math>は次式のように表わされる. (ただし, <math>0 \leq 1-a \leq 1\, </math>) | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | m_{t}=a\{d_{t}+(1-a)d_{t-1}+{\cdots}+(1-a)^{n}d_{t-n}+{\cdots}\} | ||
+ | \, </math> <math>(2)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | この(2)式の重み係数<math>a, a(1-a), a(1-a)^{2}, \cdots \cdots\, </math>の総計は1となる. なお, この場合の<math>m_t\, </math>は<math>({\it t}+1)\, </math>時点の予測値として用いられる. ここで, (2)式と同様な考え方で<math>m_{t-1}\, </math>を算出すると次式が得られる. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | m_{t-1}= a \{d_{t-1}+ (1-a) d_{t-2}+{\cdots}+ (1-a) ^{n-1} d_{t-n}+{\cdots}\} | ||
+ | \, </math> <math>(3)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | (3)式の両辺に<math>(1-{\it a})\, </math>を掛けて(2)式と対比すると, 次式のような指数平滑法の基本式(定数型モデル)が導出される. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | m_{t}= a d_{t}+ (1-a) m_{t-1} | ||
+ | \, </math> <math>(4)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | この(4)式の係数<math>{\it a}\, </math>を平滑化定数と呼んでいる. | ||
+ | |||
+ | 2. 平滑化定数の値 | ||
+ | |||
+ | 上記の平滑化定数<math>{\it a}\, </math>は, 原則として, 0と1の間の値をとる. この中, <math>{\it a}=1\, </math>のときは<math>m_{t}=d_{t}\, </math>となり推定値は同時点のデータと等しくなる. 一方,<math> {\it a}=0\, </math>のときは<math>m_{t}=m_{t-1}\, </math>となり推定値は一時点前の先行する推定値と等しくなる. <math>{\it a}\, </math>を中間の値<math>(0<{\it a}<1)\, </math>にとった場合にはある程度ランダムな変動の影響を受けることになる. <math>{\it a}\, </math>の値を最適に決めることは難しい問題であるが, 0.5より若干小さい値をとる場合が比較的多い. | ||
+ | |||
+ | 3. 傾向を考慮した場合 | ||
+ | |||
+ | 時系列データに傾向がない定数型モデルの場合には, (4)式の<math>m_t\, </math>が<math>({\it t}+1)\, </math>時点の有効な予測値となるが, もし, 上昇, あるいは下降の傾向がある場合は, この値は不満足なものになる. この問題を解決するために傾向を考慮した指数平滑法(直線型傾向モデル)が提案されている. このモデルでは2番目の変数として<math>t\, </math>時点の傾向の推定値r_tを導入している. この直線型傾向モデルはR. G. Brown[3], [4] により提示されたが, いま, <math>({\it t}+1)\, </math>時点の予測値を<math>y_t\, </math>とすれば(5)~(7)式のように表わされる. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | y_{t}= m_{t}+{ \frac{1-a}{a}} r_{t} | ||
+ | \, </math> <math>(5)\, </math> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | m_{t}= a d_{t}+ (1-a) m_{t-1} | ||
+ | \, </math> <math>(6)\, </math> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | r_{t}= a (y_{t}- y_{t-1})+ (1-a) r_{t-1} | ||
+ | \, </math> <math>(7)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | このモデルの<math>{\it k}\, </math>時点先の予測値<math>y_{t+k}\, </math>は次式のように示される. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | y_{t+k}= y_{t}+ k r_{t} | ||
+ | \, </math> <math>(8)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | なお, (4)式や(5)式などで用いられている<math>m_t\, </math>や<math>r_t\, </math>の初期値は, それまでのデータにより推定される. それらの値はとくに重要な値ではないので比較的単純な近似法を用いればよい. | ||
+ | |||
+ | 4. 季節変動を考慮した場合 | ||
+ | |||
+ | 時系列データに季節変動がある場合には, 季節型モデルが利用される. このモデルの代表的なものはP. R. Winters [5] によって提示されているが, いま, <math>{\it t}\, </math>時点の季節変動指数値<math>S_t\, </math>, 3つの平滑化定数をそれぞれ<math>{\it a}, {\it b}, {\it c}\, </math>とすればこのモデルは(9)~(11)式のように表わされる. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | y_{t}= a \frac{d_{t}}{S_{t-L}}+(1-a) (y_{t-1}+ r_{t-1}) | ||
+ | \, </math> <math>(9)\, </math> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | S_{t}= b \frac{d_{t}}{y_{t}}+(1-b) S_{t-L} | ||
+ | \, </math> <math>(10)\, </math> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | r_{t}= c (y_{t}- y_{t-1})+(1-c) r_{t-1} | ||
+ | \, </math> <math>(11)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | ただし, <math>t-L\, </math>は<math>{\it t}\, </math>より1年前の時点. | ||
+ | |||
+ | このモデルの<math>{\it k}\, </math>時点先の予測値<math>y_{t+k}\, </math>は次式のように示される. | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <math> | ||
+ | y_{t+k}= (y_{t}+k r_{t})S_{t+k-L} | ||
+ | \, </math> <math>(12)\, </math> | ||
+ | </center> | ||
+ | |||
+ | |||
+ | 5. その他の指数平滑法 | ||
+ | |||
+ | 上記以外のモデルとしては, <math>y_{t-2}\, </math>までを用いた2次のモデルや定数型モデルの推定値をデータとして同じモデルを繰り返し用いる2重や3重のモデルも提案されている. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | '''参考文献''' | ||
+ | |||
+ | [1] I. C. I Monograph, No.2, ''Short-Term Forecasting'', Imperial Chemical Industries Limited, 1964. | ||
+ | |||
+ | [2] C. C. Holt, ''Forecasting Seasonals and Trends by Exponentially Weighted Moving Averages'', Carnegie Institute of Technology, Pittsburgh, Pennsylvania, 1957. | ||
+ | |||
+ | [3] R. G. Brown, ''Statistical Forecasting for Inventory Control'', McGraw-Hill, 1959. | ||
+ | |||
+ | [4] R. G. Brown and R. F. Meyer, "The Fundamental Theorem of Exponential Smoothing," ''Operations Research'', '''19''' (1961), 673-685. | ||
+ | |||
+ | [5] P. R. Winters, "Forecasting Sales by Exponentially Weighted Moving Averages," ''Management Science'', '''6''' (1960), 324-342. | ||
+ | |||
+ | [[category:予測|しすうへいかつほう]] |
2008年4月4日 (金) 10:53時点における最新版
【しすうへいかつほう (exponential smoothing)】
概要
時系列データに対してウエイト付け平均を行って平滑化する方式で, 過去にさかのぼる程小さくなる指数型のウエイト付けを採用している. 時系列を逐次平滑化している基本式(定数型モデル)は, で表わされる. ここで, は構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle t \,} 時点のウエイト付けされた平均値(推定値), 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle d_t \,} は構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle t \,} 時点のデータ, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle a \,} は平滑化定数(構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle 0 \leq a \leq 1 \,} )である. また, 時系列データに傾向や季節変動がある場合の直線型傾向モデルや季節型モデルも開発されている.
詳説
1. 指数平滑法の基本式
時間の変化に従って与えられるデータ群, すなわち, 時系列データ (例えば需要量系列など) を用いた予測方式の共通点は, 先行するデータ群をつぎに続くデータ群に関連づけて推定を行うことである. この方法の一つで指数平滑法の基礎となる方式が移動平均法である. いま, 時点の移動平均値を, 用いられるデータ群の項数を時点のデータをとし, の係数をとすれば, 時点の移動平均値は次式で表される.
ただし,
さて, 指数平滑法([1], [2])はこの(1)式の係数に対して, 現在時点に近い程ウエイトを大きくし, 過去にさかのぼる程ウエイトを小さくしていく指数型の考え方を導入したもので, 指数型加重移動平均法とも呼ばれている. すなわち, この方式による時点の推定値は次式のように表わされる. (ただし, )
この(2)式の重み係数の総計は1となる. なお, この場合のは時点の予測値として用いられる. ここで, (2)式と同様な考え方でを算出すると次式が得られる.
(3)式の両辺にを掛けて(2)式と対比すると, 次式のような指数平滑法の基本式(定数型モデル)が導出される.
この(4)式の係数を平滑化定数と呼んでいる.
2. 平滑化定数の値
上記の平滑化定数は, 原則として, 0と1の間の値をとる. この中, のときはとなり推定値は同時点のデータと等しくなる. 一方,のときはとなり推定値は一時点前の先行する推定値と等しくなる. を中間の値にとった場合にはある程度ランダムな変動の影響を受けることになる. の値を最適に決めることは難しい問題であるが, 0.5より若干小さい値をとる場合が比較的多い.
3. 傾向を考慮した場合
時系列データに傾向がない定数型モデルの場合には, (4)式のが時点の有効な予測値となるが, もし, 上昇, あるいは下降の傾向がある場合は, この値は不満足なものになる. この問題を解決するために傾向を考慮した指数平滑法(直線型傾向モデル)が提案されている. このモデルでは2番目の変数として時点の傾向の推定値r_tを導入している. この直線型傾向モデルはR. G. Brown[3], [4] により提示されたが, いま, 時点の予測値をとすれば(5)~(7)式のように表わされる.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (6)\, }
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle r_{t}= a (y_{t}- y_{t-1})+ (1-a) r_{t-1} \, } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (7)\, }
このモデルの時点先の予測値は次式のように示される.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (8)\, }
なお, (4)式や(5)式などで用いられている構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle m_t\, }
や構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle r_t\, }
の初期値は, それまでのデータにより推定される. それらの値はとくに重要な値ではないので比較的単純な近似法を用いればよい.
4. 季節変動を考慮した場合
時系列データに季節変動がある場合には, 季節型モデルが利用される. このモデルの代表的なものはP. R. Winters [5] によって提示されているが, いま, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\it t}\, } 時点の季節変動指数値, 3つの平滑化定数をそれぞれとすればこのモデルは(9)~(11)式のように表わされる.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle y_{t}= a \frac{d_{t}}{S_{t-L}}+(1-a) (y_{t-1}+ r_{t-1}) \, } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (9)\, }
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S_{t}= b \frac{d_{t}}{y_{t}}+(1-b) S_{t-L} \, } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (10)\, }
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle r_{t}= c (y_{t}- y_{t-1})+(1-c) r_{t-1} \, } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (11)\, }
ただし, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle t-L\, }
は構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\it t}\, }
より1年前の時点.
このモデルの構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\it k}\, } 時点先の予測値構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle y_{t+k}\, } は次式のように示される.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle y_{t+k}= (y_{t}+k r_{t})S_{t+k-L} \, } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (12)\, }
5. その他の指数平滑法
上記以外のモデルとしては, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle y_{t-2}\, } までを用いた2次のモデルや定数型モデルの推定値をデータとして同じモデルを繰り返し用いる2重や3重のモデルも提案されている.
参考文献
[1] I. C. I Monograph, No.2, Short-Term Forecasting, Imperial Chemical Industries Limited, 1964.
[2] C. C. Holt, Forecasting Seasonals and Trends by Exponentially Weighted Moving Averages, Carnegie Institute of Technology, Pittsburgh, Pennsylvania, 1957.
[3] R. G. Brown, Statistical Forecasting for Inventory Control, McGraw-Hill, 1959.
[4] R. G. Brown and R. F. Meyer, "The Fundamental Theorem of Exponential Smoothing," Operations Research, 19 (1961), 673-685.
[5] P. R. Winters, "Forecasting Sales by Exponentially Weighted Moving Averages," Management Science, 6 (1960), 324-342.