静岡理工科大学 菅沼ホーム SE目次 索引

予測

  1. 1.平均による予測
  2. 2.最小 2 乗法による予測
1.平均による予測

  時系列データから先のデータを予測する方法の内,最も簡単な方法は,過去のデータの平均値を使用する方法です.平均値を利用する方法としては,以下のような方法があります.なお,以下の説明において,di を過去,または,新しく得られたデータ,Di を予測値とします.

  1. 単純平均法

      過去のデータ,

    di   i = 1, 2, ・・・, n

    の平均値,

    D = Σ di / n

    によって,予測する方法です.

  2. 移動平均法

      時間の経過と共に,平均の対象とするデータを徐々に変更していく方法です.例えば,3 つのデータを平均する場合は,以下のようになります.

    d1, d2, d3 → D4 = (d1 + d2 + d3) / 3
    d2, d3, d4 → D5 = (d2 + d3 + d4) / 3
            ・・・・・

  3. 簡易指数平均法

      時間の経過と共に,対象とするデータに重みを付けて平均を取っていく方法です.具体的には,以下の式に従って,予測値を計算します.

    新予測値 = α (新しいデータ) + (1 - α) (旧予測値)

    例えば,以下のようにして計算します.

    D1 = d1
    D2 = α d2 + (1 - α) D1
    D3 = α d3 + (1 - α) D2
         ・・・・・

    α の値としては,最初,0.3 前後を使用し,落ち着いた時点で再設定をするという方法が良く使用されます.

2.最小 2 乗法による予測

  1. 直線のあてはめ

      過去のデータ,

    x1 y1
    x2 y2
     ・・・
    xn yn

    から,これらのデータに最も合う直線,

    y = ax + b   (1)

    を求め,得られた直線から予測を行う方法です(この直線を,回帰直線と呼びます).直線を決めるために,最小 2 乗法が使用されます.最小 2 乗法は,誤差の 2 乗の和,

    s = Σ (yi - axi - b)2
     = [y - Az]T[y - Az]   (2)

    ただし,
    y = [y1 y2 ・・・ yn]T
    z = [a b]T
    を最小にするように,(1) 式の a, b を決定する方法です.具体的には,(2) 式を z で微分し,0 と置くことによって,以下の結果が得られます.

    ∂s/∂z = -2AT[y - Az] = 0   ∴ z = [ATA]-1ATy

      例えば,データ,
        0  2.450
        1  2.615
        2  3.276
        3  3.294
        4  3.778
        5  4.009
        6  3.920
        7  4.267
        8  4.805
        9  5.656
    			
    を使用すると,以下に示すような結果が得られます.

    y = 0.310594 x + 2.409327

      C/C++ によるプログラム例 → 

      アプレット版及び JavaScript 版では,任意のデータに対して画面上で結果を求めることができます.

  2. 2 次曲線のあてはめ

      直線の当てはめと同様にして,与えられたデータに最も合う 2 次曲線,

    y = a x2 + b x + c

    を使用して予測を行うこともできます.

    y = [y1 y2 ・・・ yn]T
    z = [a b c]T

    と置けば,先の場合と全く同様にして,以下の式で各係数を計算することができます.

    z = [ATA]-1ATy

      例えば,データ,
        10  28.2
        15  47.0
        20  44.4
        26  32.8
        32  20.8
        40   0.8
    			
    を使用すると,以下に示すような結果が得られます.

    y = -0.097596 x2 + 3.701743 x + 6.245642

      C/C++ によるプログラム例 → 

      アプレット版及び JavaScript 版では,任意のデータに対して画面上で結果を求めることができます.初期状態は直線の当てはめになっていますが,データを変更すれば,2 次曲線へのあてはめ問題にも対応可能です..

静岡理工科大学 菅沼ホーム SE目次 索引