二重指数平滑法計算機―Holt法による予測
この計算機は、時系列順に並んだ数値データへHolt法の加法的な水準・トレンドモデルを適用します。観測値、水準とトレンドの平滑化定数、予測する将来期間数をご指定ください。適合値、変化する水準とトレンドの各成分、将来予測を返します。基準値が変化し、おおむね線形のトレンドがある一方で季節周期を持たないデータに適しています。最終予測だけでなく、途中の推定値もすべてご確認いただけます。
無料で実行
Holt法に適したデータをお選びください
Holt法の二重指数平滑化は、一定間隔で記録され、局所的な水準と持続的なトレンドの両方が重要な観測値を対象とします。週ごとの注文数、月間購読数、日次チケット数、年間生産量などが例です。値は古いものから時系列順に並べ、間隔を統一してください。アルゴリズムは各ステップを同じ長さの期間として扱います。この手法は季節性をモデル化しません。曜日、月、四半期などの強い反復がある系列は、通常、事前に季節調整するか季節モデルで分析する必要があります。初期トレンドを最初の2つの値の差から求めるため、観測値は最低2つ必要です。履歴が長いほど再帰推定が適応しやすくなる場合がありますが、構造変化があると古い履歴の代表性は低下します。予測を採用する前に、グラフや表で系列をご確認ください。欠測値を自動的にゼロへ置き換えず、明示的に処理してください。本計算機はすべての項目に有限数を求め、時間順序の統計的な意味を明確に保ちます。
水準とトレンドの定数をご設定ください
一般にアルファと呼ばれる水準定数は、最新の観測値が推定基準をどの程度変えるかを決めます。1に近い値は新しいデータへ素早く反応し、0に近い値は以前の水準とトレンドによる予測を多く残します。ベータと呼ばれるトレンド定数は、推定傾斜が変化する速さを調整します。高いベータは直近の加速や減速へ敏感に追随し、低いベータは安定したトレンドを作ります。両方の定数は0以上1以下でなければならず、範囲外の値は未定義の重み付けとして扱わずエラーにします。すべての系列に最適な組み合わせはありません。候補を未使用の観測値と比較し、必要な予測期間で誤差が小さくなる定数をお選びください。標本内の線が滑らかに見えることだけで選ばないようご注意ください。反応が速すぎるモデルはノイズを追い、遅すぎるモデルは実際の変化を見逃します。出力される水準とトレンドから各選択の影響を観測ごとに確認でき、説明可能な比較を行えます。
適合値と予測をご確認ください
最初の観測では、その観測値自体を初期適合値として返します。水準は最初の値、トレンドは最初の差で初期化します。以降の各位置では、その観測を見る直前に利用できた1期先推定を適合値とします。その後、新しい観測と直前の水準・トレンド推定を組み合わせて水準を更新し、最新の水準変化と以前のトレンドを組み合わせてトレンドを更新します。将来予測は、最終水準に最終トレンドの1倍、2倍、またはそれ以上を加えて延長します。これは信頼区間ではなく点予測であり、一般に期間が長いほど不確実性は増します。適合値を実際の観測値と比較し、持続的な偏り、異常な変動、モデルが表せない変化をご確認ください。他のシステムで結果を再現する場合は、水準とトレンドの配列もご確認ください。各観測後の再帰状態が記録されています。APIによる自動処理は1リクエストあたり$0.002で、ブラウザー版も同じ決定論的計算を使用します。同じ入力からは、一貫して丸められた同じ数値結果が得られます。
活用例
短期需要を予測する
長期平均より最近の水準とトレンドが重要な場合に、今後数期間の需要を推定します。
業務上の成長を監視する
チケット数、登録数、処理量などの非季節的な業務指標について、変化する基準と推定傾斜を分離します。
平滑化設定を比較する
アルファとベータの候補値を実行し、適合値、水準とトレンドの推移、検証用予測を比較します。
よくある質問
二重指数平滑化とは何ですか?
時系列の水準と線形トレンドを再帰的に推定し、その成分を将来期間へ延長するHolt法です。
定数にはどの範囲を指定できますか?
水準定数とトレンド定数は、両端を含む0から1までの有限数である必要があります。範囲外の値は無効入力エラーになります。
初期水準と初期トレンドはどのように決まりますか?
初期水準は最初の観測値です。初期トレンドは2番目の観測値から最初の観測値を引いた値です。
この計算機は季節性を扱いますか?
いいえ。変化する水準と加法的な線形トレンドのみをモデル化します。重要な反復周期がある場合は、季節モデルを使用するか事前に系列を調整してください。
予測には何が含まれますか?
指定した将来期間ごとの点推定が含まれます。最終水準を推定された最終トレンドで延長して算出します。
APIの利用料金はいくらですか?
APIは1リクエストあたり$0.002です。生成されたTier Aウィジェットにより、ブラウザーでも計算できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/double-exponential-smoothing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}'const res = await fetch("https://api.kit.forhosting.com/stat/double-exponential-smoothing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/double-exponential-smoothing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/double-exponential-smoothing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/double-exponential-smoothing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.double_exponential_smoothing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 10000 |
max_forecast_periods | 1000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |