(57)【特許請求の範囲】
【請求項１】
需要予測装置のコンピュータに用いる需要予測方法であって、前記コンピュータのプロセッサが、
所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出し、
算出された前記誤差が異常値に該当するか否かを判断し、
前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得し、
取得された前記新たな説明変数に基づいて前記予測モデルを更新し、
更新された前記予測モデルを用いて新たに将来の需要量を予測し、
前記異常値に該当すると判断された前記誤差を時系列で表示する、
需要予測方法。
【請求項２】
ユーザ入力を受け付けることにより、前記新たな説明変数を取得する、
請求項１記載の需要予測方法。
【請求項３】
前記誤差が前記異常値に該当すると判断された場合、前記新たな説明変数の１又は複数の候補を表す候補情報を取得し、
取得された前記候補情報を選択可能な状態で表示する、
請求項１記載の需要予測方法。
【請求項４】
前記候補情報は、前記異常値に該当すると判断された誤差の算出に用いた前記過去の需要量の実測値を得るための実測を行った時間帯における、前記所定の場所の周辺地域の情報を含む、
請求項３記載の需要予測方法。
【請求項５】
前記候補情報は、検索エンジンにおいて検索数が多い順に抽出された複数のキーワード、又は、ソーシャルネットワーキングサービスにおいて書き込み数が多い順に抽出された複数のキーワードを含み、
前記誤差が前記異常値に該当すると判断された場合、前記検索エンジン又は前記ソーシャルネットワーキングサービスを提供する外部サーバから前記複数のキーワードを取得し、
取得された前記複数のキーワードを選択可能な状態で表示する、
請求項３記載の需要予測方法。
【請求項６】
前記候補情報は、ネットワークを介して接続された他の需要予測装置に蓄積された説明変数を含み、
前記誤差が前記異常値に該当すると判断された場合、前記他の需要予測装置から１又は複数の説明変数を候補情報として取得し、
取得された前記候補情報を選択可能な状態で表示する、
請求項３記載の需要予測方法。
【請求項７】
取得された前記新たな説明変数が所定の条件を満たすか否かを判断し、
前記新たな説明変数が前記所定の条件を満たすと判断された場合、前記新たな説明変数に基づいて前記予測モデルを更新し、
前記新たな説明変数が前記所定の条件を満たさないと判断された場合、前記予測モデルを更新せず、前記新たな説明変数を、前記予測モデルを用いて算出した需要量の予測値を補正するための補正説明変数として記憶する、
請求項１〜６のいずれか１項に記載の需要予測方法。
【請求項８】
前記補正説明変数ごとに前記需要量の増減への影響値を算出し、算出した前記影響値に応じて前記予測値を補正する、
請求項７記載の需要予測方法。
【請求項９】
所定の期間内における前記新たな説明変数の実測値の変化が、所定の回数より少ない時に、前記新たな説明変数が前記所定の条件を満たさないと判断する、
請求項７又は８記載の需要予測方法。
【請求項１０】
前記誤差の絶対値が所定の閾値を超える場合、前記誤差が前記異常値に該当すると判断する、
請求項１〜９のいずれか１項に記載の需要予測方法。
【請求項１１】
需要予測装置であって、
所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出する誤差算出部と、
前記誤差算出部によって算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得する説明変数取得部と、
前記説明変数取得部によって取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測する需要予測部と、
前記異常値に該当すると判断された前記誤差を時系列で表示する表示部と、
を備える需要予測装置。
【請求項１２】
需要予測プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記需要予測プログラムは、コンピュータに、
所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出し、
前記算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得し、
前記取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測し、
前記異常値に該当すると判断された前記誤差を時系列で表示する、処理を実行させる、
コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、予測モデルを用いて将来の需要量を予測する需要予測方法、需要予測装置及び需要予測プログラムに関するものである。
【背景技術】
【０００２】
従来、将来の需要量を予測する技術として、需要量と、需要量の増減に影響を及ぼす外部要因（説明変数）との関係性を数理的にモデル化する手法（例えば、重回帰モデル及びニューラルネットワーク）が提案されている（例えば、非特許文献１参照）。
【０００３】
一方、説明変数の種類は様々であり、現状では、モデルに用いる説明変数の種類は、ユーザの知見に基づき決定される。しかし、ユーザはどのような説明変数が需要量にどのような影響を及ぼすかという関係性を全て把握しているわけではないので、モデルに用いるべき説明変数が欠けたり不足したりするおそれがある。そのため、予測の精度は予測対象に対するユーザの知見に大きく影響される。
【０００４】
このような課題を解決する従来技術として、例えば、特許文献１には、予測期間における製品の販売量を算出する演算装置を有する計算機を用いた時系列予測方法において、異常値が発生した際に、異常値の発生時点と同一時点に発生した各種要因候補情報をもとに、異常値の発生要因を計画者との対話形式で設定し、販売量予測の精度を高める技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１０１９４７号公報
【非特許文献】
【０００６】
【非特許文献１】Ｍｉｇｕｅｌ  Ｒｏｃｈａ、Ｐａｕｌｏ  Ｃｏｒｔｅｚ、及びＪｏｓｅ  Ｎｅｖｅｓ、“Ｅｖｏｌｕｔｉｏｎ  ｏｆ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｇｒｅｓｓｉｏｎ”、ＮｅｕｒｏＣｏｍｐｕｔｉｎｇ、Ｖｏｌ．７０、Ｉｓｓｕｅ１６−１８、２００７（ｐｐ．２８０９−２８１６）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載の方法では、過去に獲得した異常値の発生要因の影響を除外することができず、何度も同じ発生要因の取得をユーザに促してしまい、ユーザの入力回数を減らすことができないという課題を有している。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る需要予測装置は、需要予測装置のコンピュータに用いる需要予測方法であって、前記コンピュータのプロセッサが、所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出し、算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得し、取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測する。
【発明の効果】
【０００９】
本開示によれば、ユーザの入力回数を削減することができ、説明変数の獲得に要する時間を削減することができ、需要量予測の精度を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本開示の実施の形態に係る需要予測装置の全体構成を示す図である。
【図２】図２は、本開示の実施の形態の変化例に係る需要予測装置の全体構成を示す図である。
【図３】図３は、本開示の実施の形態に係る需要予測装置の機能的構成を示すブロック図である。
【図４】図４は、本開示の実施の形態に係る情報蓄積部に蓄積される情報の一例を示す図である。
【図５】図５は、本開示の実施の形態に係る需要予測装置の処理の流れを示すフローチャートである。
【図６】図６は、本開示の実施の形態に係る誤差算出部の処理の流れを示すフローチャートである。
【図７】図７は、本開示の実施の形態に係る説明変数取得部の処理の流れを示すフローチャートである。
【図８】図８は、異常値に該当するモデル誤差を表示する表示画面の一例を示す図である。
【図９】図９は、異常値に該当するモデル誤差を表示する表示画面の他の例を示す図である。
【図１０】図１０は、新たな説明変数の入力を受け付ける際に表示される表示画面の一例を示す図である。
【図１１】図１１は、新たな説明変数の入力を受け付ける際に表示される表示画面の他の例を示す図である。
【図１２】図１２は、本開示の実施の形態の変化例に係る説明変数取得部の処理の流れを示すフローチャートである。
【図１３】図１３は、ヒント情報を表示する表示画面の一例を示す図である。
【図１４】図１４は、本開示の実施の形態に係る需要予測システムの構成を示す図である。
【図１５】図１５は、本開示の実施の形態の変化例に係る需要予測システムの構成を示す図である。
【図１６】図１６は、本開示の実施の形態に係る予測モデル補正部の処理の流れを示すフローチャートである。
【図１７】図１７は、本開示の実施の形態に係る情報蓄積部に蓄積される補正説明変数の一例を示す図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
近年、コンピュータの高度化及び情報蓄積技術の進歩により、時系列に蓄積される需要量実績データを活用し、将来の需要量を予測する技術が実現されるようになった。予測する需要量は、例えば、外食業における来店者数、小売業における販売数量、及び電力事業者における電力消費量である。
【００１２】
従来、将来の需要量を予測する技術として、需要量と、需要量の増減に影響を及ぼす外部要因（説明変数）との関係性を数理的にモデル化する手法（例えば、重回帰モデル及びニューラルネットワーク）が提案されている。需要量と説明変数との関係性をモデル化する手法では、説明変数としてどのような情報を用いるかを、あらかじめユーザがリストアップしておかねばならず、ユーザの予測対象に関する知識が、予測の精度に大きく影響するという課題がある。
【００１３】
このような課題を解決する従来技術として、上記の特許文献１がある。
【００１４】
しかしながら、特許文献１に記載の方法では、過去の需要量を時系列成分毎に分解し、分解した成分から異常値の発生を判断しているため、異常値が発生した要因が、既に説明変数として予測モデルに組み込まれているか否かを判断することができない。そのため、既に予測モデルに組み込まれている説明変数によって引き起こされる異常値が発生した際に、再度ユーザに入力を促してしまい、ユーザの入力回数が減らないという課題を有している。つまり、既に予測モデルに組み込まれている説明変数による需要量の変動を除いた上で、新たな説明変数を獲得する必要がある。
【００１５】
本開示の一態様に係る需要予測方法は、需要予測装置のコンピュータに用いる需要予測方法であって、前記コンピュータのプロセッサが、所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出し、算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得し、取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測する。
【００１６】
この構成によれば、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差が算出される。算出された誤差が異常値に該当するか否かが判断される。誤差が異常値に該当すると判断された場合、新たな説明変数が取得される。取得された新たな説明変数に基づいて予測モデルが更新される。更新された予測モデルを用いて新たに将来の需要量が予測される。
【００１７】
したがって、需要量の過去の実測値と予測モデルの予測値との誤差が算出され、算出された誤差に基づいて新たな説明変数が取得されるので、既に予測モデルに組み込まれている説明変数による需要量の変動を除いた効率的な説明変数を獲得することができる。これにより、ユーザの入力回数を削減することができ、説明変数の獲得に要する時間を削減することができ、需要量予測の精度を高めることができる。
【００１８】
また、上記の需要予測方法において、前記異常値に該当すると判断された前記誤差を時系列で表示してもよい。
【００１９】
この構成によれば、異常値に該当すると判断された誤差が時系列で表示されるので、ユーザは、異常値に該当すると判断された誤差を確認することができる。
【００２０】
また、上記の需要予測方法において、ユーザ入力を受け付けることにより、前記新たな説明変数を取得してもよい。
【００２１】
この構成によれば、ユーザ入力を受け付けることにより、新たな説明変数が取得されるので、ユーザの知見を新たな説明変数に反映させることができる。
【００２２】
また、上記の需要予測方法において、前記誤差が前記異常値に該当すると判断された場合、前記新たな説明変数の１又は複数の候補を表す候補情報を取得し、取得された前記候補情報を選択可能な状態で表示してもよい。
【００２３】
この構成によれば、誤差が異常値に該当すると判断された場合、新たな説明変数の１又は複数の候補を表す候補情報が取得される。そして、取得された候補情報が選択可能な状態で表示される。
【００２４】
したがって、新たな説明変数の１又は複数の候補を表す候補情報が選択可能な状態で表示されるので、ユーザは、容易に新たな説明変数を選択することができる。
【００２５】
また、上記の需要予測方法において、前記候補情報は、前記異常値に該当すると判断された誤差の算出に用いた前記過去の需要量の実測値を得るための実測を行った時間帯における、所定の場所の周辺地域の情報を含んでもよい。
【００２６】
この構成によれば、異常値に該当すると判断された誤差の算出に用いた過去の需要量の実測値を得るための実測を行った時間帯における、所定の場所の周辺地域の情報が、候補情報として取得される。したがって、異常値に該当すると判断された誤差の算出に用いた需要量の実測を行った時間帯における、所定の場所の周辺地域の情報を新たな説明変数としてユーザに提示することができる。
【００２７】
また、上記の需要予測方法において、前記候補情報は、検索エンジンにおいて検索数が多い順に抽出された複数のキーワード、又は、ソーシャルネットワーキングサービスにおいて書き込み数が多い順に抽出された複数のキーワードを含み、前記誤差が前記異常値に該当すると判断された場合、前記検索エンジン又は前記ソーシャルネットワーキングサービスを提供する外部サーバから前記複数のキーワードを取得し、取得された前記複数のキーワードを選択可能な状態で表示してもよい。
【００２８】
この構成によれば、検索エンジンにおいて検索数が多い順に抽出された複数のキーワード、又は、ソーシャルネットワーキングサービスにおいて書き込み数が多い順に抽出された複数のキーワードが、候補情報として選択可能な状態で表示される。
【００２９】
したがって、検索エンジンにおいて検索数が多い順に抽出された複数のキーワード、又は、ソーシャルネットワーキングサービスにおいて書き込み数が多い順に抽出された複数のキーワードの中から、ユーザは新たな説明変数を選択することができる。
【００３０】
また、上記の需要予測方法において、前記候補情報は、ネットワークを介して接続された他の需要予測装置に蓄積された説明変数を含み、前記誤差が前記異常値に該当すると判断された場合、前記他の需要予測装置から１又は複数の説明変数を候補情報として取得し、取得された前記候補情報を選択可能な状態で表示してもよい。
【００３１】
この構成によれば、誤差が異常値に該当すると判断された場合、ネットワークを介して接続された他の需要予測装置から１又は複数の説明変数が候補情報として取得され、取得された候補情報が選択可能な状態で表示される。
【００３２】
したがって、誤差が異常値に該当すると判断された場合、ネットワークを介して接続された他の需要予測装置から取得された１又は複数の説明変数が候補情報として選択可能な状態で表示されるので、他の需要予測装置で用いられている説明変数をユーザに提示することができ、容易に新たな説明変数を選択することができる。
【００３３】
また、上記の需要予測方法において、取得された前記新たな説明変数が所定の条件を満たすか否かを判断し、前記新たな説明変数が前記所定の条件を満たすと判断された場合、前記新たな説明変数に基づいて前記予測モデルを更新し、前記新たな説明変数が前記所定の条件を満たさないと判断された場合、前記予測モデルを更新せず、前記新たな説明変数を、前記予測モデルを用いて算出した需要量の予測値を補正するための補正説明変数として記憶してもよい。
【００３４】
この構成によれば、取得された新たな説明変数が所定の条件を満たすか否かが判断される。新たな説明変数が所定の条件を満たすと判断された場合、新たな説明変数に基づいて予測モデルが更新される。新たな説明変数が所定の条件を満たさないと判断された場合、予測モデルが更新されず、新たな説明変数が、予測モデルを用いて算出した需要量の予測値を補正するための補正説明変数として記憶される。
【００３５】
したがって、新たな説明変数が所定の条件を満たすと判断された場合、新たな説明変数に基づいて予測モデルが更新されるので、より精度の高い需要量の予測を実現することができる。また、新たな説明変数が所定の条件を満たさないと判断された場合、予測モデルが更新されず、新たな説明変数が、予測モデルを用いて算出した需要量の予測値を補正するための補正説明変数として記憶されるので、記憶された補正説明変数を用いて需要量の予測値を補正することができる。
【００３６】
また、上記の需要予測方法において、前記補正説明変数ごとに前記需要量の増減への影響値を算出し、算出した前記影響値に応じて前記予測値を補正してもよい。
【００３７】
この構成によれば、補正説明変数ごとに需要量の増減への影響値が算出され、算出された影響値に応じて予測値が補正されるので、より高精度な予測値を算出することができる。
【００３８】
また、上記の需要予測方法において、所定の期間内における前記新たな説明変数の実測値の変化が、所定の回数より少ない時に、前記新たな説明変数が前記所定の条件を満たさないと判断してもよい。
【００３９】
この構成によれば、所定の期間内における新たな説明変数の実測値の変化が、所定の回数より少ない時に、新たな説明変数が所定の条件を満たさないと判断される。したがって、新たな説明変数が日常的に需要量の増減に影響を及ぼさない場合は、新たな説明変数を予測モデルに反映させないので、需要量の予測精度を高めることができる。
【００４０】
また、上記の需要予測方法において、前記誤差の絶対値が所定の閾値を超える場合、前記誤差が前記異常値に該当すると判断してもよい。
【００４１】
この構成によれば、誤差の絶対値が所定の閾値を超えるか否かが判断され、誤差の絶対値が所定の閾値を超える場合、誤差が異常値に該当すると判断することができ、誤差の絶対値が所定の閾値を超えない場合、誤差が異常値に該当しないと判断することができる。
【００４２】
本開示の一態様に係る需要予測装置は、将来の需要量を予測する需要予測装置であって、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出する誤差算出部と、前記誤差算出部によって算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得する説明変数取得部と、前記説明変数取得部によって取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測する需要予測部と、を備える。
【００４３】
この構成によれば、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差が算出される。算出された誤差が異常値に該当するか否かが判断される。誤差が異常値に該当すると判断された場合、新たな説明変数が取得される。取得された新たな説明変数に基づいて予測モデルが更新される。更新された予測モデルを用いて新たに将来の需要量が予測される。
【００４４】
したがって、需要量の過去の実測値と予測モデルの予測値との誤差が算出され、算出された誤差に基づいて新たな説明変数が取得されるので、既に予測モデルに組み込まれている説明変数による需要量の変動を除いた効率的な説明変数を獲得することができる。これにより、ユーザの入力回数を削減することができ、説明変数の獲得に要する時間を削減することができ、需要量予測の精度を高めることができる。
【００４５】
本開示の一態様に係る記録媒体は、需要予測プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記需要予測プログラムは、コンピュータに、所定の場所の需要量の実測値と前記需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出し、前記算出された前記誤差が異常値に該当するか否かを判断し、前記誤差が前記異常値に該当すると判断された場合、新たな説明変数を取得し、前記取得された前記新たな説明変数に基づいて前記予測モデルを更新し、更新された前記予測モデルを用いて新たに将来の需要量を予測する、処理を実行させる。
【００４６】
この構成によれば、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差が算出される。算出された誤差が異常値に該当するか否かが判断される。誤差が異常値に該当すると判断された場合、新たな説明変数が取得される。取得された新たな説明変数に基づいて予測モデルが更新される。更新された予測モデルを用いて新たに将来の需要量が予測される。
【００４７】
したがって、需要量の過去の実測値と予測モデルの予測値との誤差が算出され、算出された誤差に基づいて新たな説明変数が取得されるので、既に予測モデルに組み込まれている説明変数による需要量の変動を除いた効率的な説明変数を獲得することができる。これにより、ユーザの入力回数を削減することができ、説明変数の獲得に要する時間を削減することができ、需要量予測の精度を高めることができる。
【００４８】
以下添付図面を参照しながら、本開示の実施の形態について説明する。なお、以下の実施の形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
【００４９】
１．１  需要予測装置の全体構成
図１は、本開示の実施の形態に係る需要予測装置の全体構成を示す図である。図１は、需要予測装置が１つの装置である場合を示す。需要予測装置１００は、入力部１１０と処理部１２０と表示部１３０とを備えている。
【００５０】
需要予測装置１００は、例えば、サーバ、パーソナルコンピュータ、スマートフォン、フィーチャーフォン、又はタブレット型コンピュータなどで構成され、計算機能を有する情報処理装置である。
【００５１】
入力部１１０は、例えば、パーソナルコンピュータのキーボード、マウス又はトラックパッドなどのポインティングデバイス、マイクなどの音声入力デバイス、又はタブレット型コンピュータのタッチパネルなどで構成され、ユーザからの入力を受け付ける。
【００５２】
処理部１２０は、例えば、パーソナルコンピュータに内蔵されているマイクロプロセッサ及びメモリで構成される。メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサがコンピュータプログラムに従って動作することにより、処理部１２０の機能が実現される。
【００５３】
表示部１３０は、例えば、パーソナルコンピュータのモニタ又はタブレット型コンピュータのディスプレイなどの表示パネルで構成される。
【００５４】
図２は、本開示の実施の形態の変形例に係る需要予測装置の全体構成を示す図である。図２に示す需要予測装置は、入力部１１０及び表示部１３０が別の機器として独立している例である。需要予測装置は、入出力装置２００及び処理装置３００を備える。
【００５５】
処理装置３００は、ネットワーク５００を介して、入出力装置２００に接続している。
【００５６】
処理装置３００は、例えば、ネットワーク５００を介して、入出力装置２００と通信を行うための通信部（図示せず）を備える。通信部とは、例えば、通信回路を含む。
【００５７】
入出力装置２００は、例えば、ネットワーク５００を介して、処理装置３００と通信を行うための通信部（図示せず）を備える。通信部とは、例えば、通信回路を含む。
【００５８】
処理装置３００の通信部は、処理結果が所定の条件を満たした際に入出力装置２００の表示部１３０に所定の画面を表示させるための情報を入出力装置２００へネットワーク５００を介して送信する。
【００５９】
入出力装置２００の通信部は、受信した所定の画面を表示させるための情報を表示部１３０に出力する。表示部１３０は、この情報に従って、所定の画面を表示する。
【００６０】
また、入出力装置２００の通信部は、入力部１１０からの入力情報を処理装置３００へネットワーク５００を介して送信する。処理装置３００の通信部は、受信した入力情報を処理部１２０へ出力する。これにより、処理部１２０は、入力部１１０からの入力情報を取得する。
【００６１】
入出力装置２００は、例えば、パーソナルコンピュータ、スマートフォン、フィーチャーフォン又はタブレット型コンピュータなどで構成され、入力機能及び出力機能を有し、ネットワーク５００に接続可能な機器である。
【００６２】
処理装置３００は、例えば、サーバ、パーソナルコンピュータ、スマートフォン、フィーチャーフォン又はタブレット型コンピュータなどで構築され、計算機能を有する情報処理装置である。
【００６３】
ネットワーク５００は、イーサネット（登録商標）等の優先ネットワーク、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の無線ネットワーク、公衆網、又は、これらのネットワークが組み合わされたネットワーク等である。公衆網とは、電気通信事業者が、不特定多数の利用者に提供している通信回線のことであり、例えば、一般電話回線又はＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）などが挙げられる。
【００６４】
ここでは、入出力装置２００及び処理装置３００がそれぞれ別の機器である例を説明したが、本開示は特にこれに限定されず、入力部１１０、処理部１２０及び表示部１３０のうちの１つが他の２つと別の機器に存在してもよい。また、図２では、入出力装置２００及び処理装置３００はネットワーク５００により接続されている例を説明したが、ＨＤＭＩ（登録商標）又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの有線により接続されてもよい。
【００６５】
また、複数の入出力装置２００がネットワーク５００を介して処理装置３００に接続されてもよい。
【００６６】
以降の実施の形態の説明では、図１に示す需要予測装置が１つの装置である例について説明する。また、需要量とは、例えば、所定の場所における需要量である。本実施の形態では、所定の場所の店舗における来店者数を具体的な需要量の例とし、需要予測装置が需要量として、所定の期間（例えば、１時間、１日、１ヶ月、１年など）ごとの来店者数を予測する例について説明する。本実施の形態では、主として所定の期間として１日を例にして説明をする。
【００６７】
また、本開示は来店者数の予測に限定されず、需要量の予測の対象としては、例えば店舗で消費される電力消費量、店舗の前の道路の交通量又は店舗における販売量などにも適用可能である。
【００６８】
１．２  需要予測装置の構成
図３は、本開示の実施の形態に係る需要予測装置の機能的構成を示すブロック図である。
【００６９】
需要予測装置１００は、将来の需要量を予測する。需要予測装置１００は、入力部１１０、処理部１２０及び表示部１３０を備えている。
【００７０】
処理部１２０は、予測モデル記憶部１２１、情報蓄積部１２２、情報取得部１２３、誤差算出部１２４、説明変数取得部１２５、需要予測部１２６、予測出力部１２７及び予測モデル補正部１２８を備えている。
【００７１】
予測モデル記憶部１２１は、例えば、不揮発性メモリ又は磁気ディスクであり、情報を記憶できる領域を含む。予測モデル記憶部１２１は、需要を予測するための予測モデル情報を記憶する。予測モデルは、例えば、重回帰分析、ニューラルネットワーク、サポートベクターマシン、又は決定木などを用いて、入力された情報に対する予測結果を出力する。例えば、予測モデルは、需要予測を行う対象日の曜日又は天気予報から、対象日の予測来店者数を表す確率分布を算出し、算出した確率分布を予測結果として出力する。
【００７２】
情報蓄積部１２２は、例えば、不揮発性メモリ又は磁気ディスクであり、情報を記憶できる領域を含む。情報蓄積部１２２は、来店者数の実測値と、予測モデル記憶部１２１に記憶されている予測モデルの入力情報となる説明変数の変数名と、説明変数ごとの実測値とを蓄積する。
【００７３】
情報蓄積部１２２は、例えば、不揮発性メモリ又は磁気ディスク上に展開されるデータベースシステムである。図４は、本開示の実施の形態に係る情報蓄積部１２２に蓄積される情報の一例を示す図である。図４に示すように、情報蓄積部１２２は、日付と、来店者数と、曜日と、天気と、気温とを対応付けて記憶する。図４に示す情報において、「曜日」、「天気」及び「気温」は、説明変数の変数名を表し、「水」、「晴」及び「１５．２」は、説明変数の実測値を表す。
【００７４】
情報取得部１２３は、所定のタイミングで新たな情報を取得し、取得した情報を情報蓄積部１２２へ蓄積する。情報取得部１２３は、例えば、２４時間ごとに、当日の来店者数の実測値（この例では、当日（２４時間の間または、当日の店舗の営業時間の間）に店舗に来店した来店者数の総数に対応する値）を取得し、情報蓄積部１２２へ蓄積する。また、情報取得部１２３は、説明変数ごとの未来の値又は予測値を取得し、情報蓄積部１２２へ蓄積する。なお、本実施の形態において、情報取得部１２３は、外部サーバから各値を取得するが、本開示は特にこれに限定されず、ユーザからの入力を受け付けることにより各値を取得してもよい。
【００７５】
誤差算出部１２４は、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差（モデル誤差）を算出する。より具体的には、誤差算出部１２４は、予測モデル記憶部１２１に記憶されている予測モデルから算出した予測値と、情報蓄積部１２２に蓄積されている来店者数の実測値とから、モデル誤差を算出する。誤差算出部１２４は、例えば、予測モデルに説明変数の過去の実測値を入力し、予測モデルから出力された予測値と、来店者数の過去の実測値とを比較することでモデル誤差を算出する。
【００７６】
誤差算出部１２４は、更に、算出したモデル誤差が異常値に該当するか否かを判断する。モデル誤差が異常値に該当すると判断した場合、誤差算出部１２４は、説明変数取得部１２５に通知を送る。更に、誤差算出部１２４は、算出したモデル誤差の情報を説明変数取得部１２５に送信する。モデル誤差が異常値に該当するか否かを判断する条件は、例えば、モデル誤差の絶対値が所定の閾値より大きいか否かである。例えば、誤差算出部１２４は、モデル誤差の絶対値が所定の閾値より大きい場合、モデル誤差が異常値に該当すると判断し、誤差算出部１２４は、モデル誤差の絶対値が所定の閾値以下である場合、モデル誤差が異常値に該当しないと判断する。または、ある日におけるモデル誤差の値が、他の日におけるモデル誤差の分布から大きく外れているか否かを、ある日におけるモデル誤差が異常値であるか否かの判断条件としてもよい。
【００７７】
説明変数取得部１２５は、誤差算出部１２４から通知を受け、情報蓄積部１２２に蓄積されていない新たな説明変数を取得する。説明変数取得部１２５は、モデル誤差が異常値に該当すると判断された場合、新たな説明変数を取得する。
【００７８】
説明変数取得部１２５は、ユーザ入力を受け付けることにより、新たな説明変数を取得する。説明変数取得部１２５は、例えば、モデル誤差が異常値であることを表す通知情報を表示部１３０に出力し、通知情報に対してユーザによって入力された情報を取得する。ユーザによって入力される情報は、例えば、新たな説明変数の名前と、新たな説明変数の過去の実測値と、新たな説明変数の将来の予測値の取得先を示す情報とを関連付けた情報である。より具体的には、例えばデータベースへの接続情報、説明変数が格納されたファイルへのファイルパス、又はインターネットのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）情報を取得する。入力部１１０は、ユーザによる新たな説明変数の入力を受け付ける。
【００７９】
説明変数取得部１２５は、入力部１１０から入力された情報に従い、新たな説明変数を情報蓄積部１２２に蓄積する。
【００８０】
予測モデル補正部１２８は、情報蓄積部１２２に新たな説明変数が追加されたことを検知する。また、予測モデル補正部１２８は、情報蓄積部１２２に新たな説明変数が追加された際に説明変数取得部１２５から通知を受けてもよい。予測モデル補正部１２８は、説明変数取得部１２５によって取得された新たな説明変数に基づいて予測モデルを更新する。
【００８１】
予測モデル補正部１２８は、説明変数取得部１２５によって取得された新たな説明変数が所定の条件を満たすか否かを判断する。予測モデル補正部１２８は、新たな説明変数が所定の条件を満たすと判断された場合、新たな説明変数に基づいて予測モデルを更新する。なお、所定の条件とは、例えば過去の所定の期間内に、説明変数が観測された回数が所定の回数以上であることである。
【００８２】
また、予測モデル補正部１２８は、所定の期間内における新たな説明変数の実測値の変化が、所定の回数より少ない時に、新たな説明変数が所定の条件を満たさないと判断する。例えば、イベント開催の有無（１又は０）が新たな説明変数として取得された場合、１年に１回だけ「１」になる（イベントが開催される）場合は、予測モデルに反映させない。
【００８３】
更に、予測モデル補正部１２８は、新たな説明変数が過去の所定の期間内で所定の回数以上観測されたと判断した際に、予測モデル記憶部１２１の予測モデルを更新する。一方、予測モデル補正部１２８は、新たな説明変数が過去の所定の期間内で所定の回数以上観測されなかったと判断した際に、新たな説明変数を補正説明変数とし、情報蓄積部１２２に蓄積する。すなわち、予測モデル補正部１２８は、新たな説明変数が所定の条件を満たさないと判断された場合、予測モデルを更新せず、新たな説明変数を、予測モデルを用いて算出した需要量の予測値を補正するための補正説明変数として記憶する。
【００８４】
需要予測部１２６は、予測モデルに情報蓄積部１２２に蓄積された未来の説明変数の値を入力し、未来の来店者数（需要量）の予測値を算出する。需要予測部１２６は、予測モデル補正部１２８によって更新された予測モデルを用いて新たに将来の需要量を予測する。また、需要予測部１２６は、情報蓄積部１２２に補正説明変数が蓄積されている場合、補正説明変数の情報を用いて来店者数の予測値を補正する。具体的には、例えば、需要予測部１２６は、補正説明変数ごとに需要量の増減への影響値を算出し、算出した影響値に応じて予測値を補正する。更に、需要予測部１２６は、算出した未来の来店者数の予測値を予測出力部１２７に送信する。
【００８５】
予測出力部１２７は、需要予測部１２６から受信した未来の来店者数の予測値を出力する。例えば、予測出力部１２７は、予測値を表示部１３０に出力してもよい。また、予測出力部１２７は、自動的に商品を発注する自動発注装置（図示せず）などの後段の処理を行う外部の装置に予測値を出力してもよい。
【００８６】
１．３  需要予測装置の処理
図５を参照しながら、需要予測装置１００の処理について説明する。
【００８７】
図５は、本開示の実施の形態に係る需要予測装置の処理の流れを示すフローチャートである。また、以下の例では、情報蓄積部１２２には、既存の説明変数（Ａ）の実測値と、来店者数の実測値とが、３０日分蓄積されている場合を例に説明を行う。この場合、例えば、図４に示す、情報蓄積部１２２に蓄積される情報を一例にすれば、直近の３０日分の日付のそれぞれに対応する来店者数と、曜日と、天気と、気温とが記憶されているとする。と仮定する。これら３０日分の蓄積情報は、日々最新の情報に更新される。また、予測モデルとしては、情報蓄積部１２２に蓄積された３０日分の蓄積情報を用いて学習済みの重回帰モデルを例に説明する。
【００８８】
まず、誤差算出部１２４は、予測モデルによる予測値と来店者数の実測値とのモデル誤差を算出する（ステップＳ１）。
【００８９】
次に、誤差算出部１２４は、算出したモデル誤差が異常値に該当するか否かを判断する（ステップＳ２）。ここで、モデル誤差が異常値に該当しないと判断された場合（ステップＳ２でＮＯ）、処理を終了する。
【００９０】
一方、モデル誤差が異常値に該当すると判断された場合（ステップＳ２でＹＥＳ）、説明変数取得部１２５は、新たな説明変数（Ｂ）を取得し、取得した新たな説明変数（Ｂ）を情報蓄積部１２２に蓄積する（ステップＳ３）。なお、モデル誤差が異常値に該当すると判断された場合、誤差算出部１２４は説明変数取得部１２５に通知を送り、説明変数取得部１２５は、誤差算出部１２４からの通知を受ける。
【００９１】
次に、予測モデル補正部１２８は、説明変数取得部１２５によって取得された新たな説明変数（Ｂ）に基づいて予測モデル記憶部１２１に記憶されている予測モデルを更新する（ステップＳ４）。予測モデル補正部１２８は、情報蓄積部１２２に新たな説明変数が追加されたことを検知し、予測モデルを更新するか否かを判断する。ここで、予測モデルを更新すると判断された場合、予測モデル補正部１２８は、予測モデル記憶部１２１に記憶されている予測モデルを更新する。具体的には、予測モデル補正部１２８は、既存の説明変数（Ａ）と新たな説明変数（Ｂ）とを用いた予測モデルを構築する。一方、予測モデルを更新しないと判断された場合、予測モデル補正部１２８は、新たな説明変数（Ｂ）を補正説明変数として情報蓄積部１２２に蓄積する。
【００９２】
次に、需要予測部１２６は、情報蓄積部１２２から説明変数の値を読み出し、読み出した説明変数の値を予測モデルに代入することで、需要量（来店者数）を予測する（ステップＳ５）。このとき、情報取得部１２３は、予測対象となる日の説明変数の値を取得し、情報蓄積部１２２に蓄積する。また、情報蓄積部１２２に補正説明変数が格納されている場合、需要予測部１２６は、補正説明変数の情報に従い予測値を補正する。
【００９３】
次に、予測出力部１２７は、需要予測部１２６によって算出された需要量（来店者数）の予測値を出力する（ステップＳ６）。例えば、図１に示すように、需要予測装置１００が処理部１２０と、表示部１３０とを備える場合、予測出力部１２７は、需要予測装置１００が備える表示部１３０に算出された需要量（来店者数）の予測値を出力し、表示部１３０は、算出された需要量（来店者数）の予測値を表示する。
【００９４】
例えば、図２に示すように、処理部１２０を備える処理装置３００と、表示部１３０を備える入出力装置２００とがネットワーク５００を介して接続する場合、予測出力部１２７は、算出された需要量（来店者数）の予測値を表示部１３０に表示させるための情報を処理装置３００の通信部を用いて入出力装置２００へネットワーク５００を介して送信する。入出力装置２００の通信部は、この情報を受信すると、表示部１３０へ出力し、表示部１３０は、算出された需要量（来店者数）の予測値を表示する。
【００９５】
なお、予測出力部１２７は、予測対象となる日における説明変数の値及び補正説明変数の値を併せて出力してもよい。 
【００９６】
なお、図５のフローチャートでは、新たな説明変数の取得、予測モデルの更新、及び需要量の予測は、連続して実行されているが、これらは必ずしも連続して実行される必要はなく、それぞれが独立して実行されてもよい。
【００９７】
１．４  誤差算出部１２４の処理
図６を参照しながら、誤差算出部１２４の処理について説明する。
【００９８】
図６は、本開示の実施の形態に係る誤差算出部の処理の流れを示すフローチャートである。
【００９９】
まず、誤差算出部１２４は、予測モデル記憶部１２１から予測モデルを読み出す（ステップＳ１１）。
【０１００】
次に、誤差算出部１２４は、来店者数の過去一定期間（本実施例では３０日分）の実測値と、説明変数（Ａ）の過去一定期間の実測値とを情報蓄積部１２２から読み出す（ステップＳ１２）。
【０１０１】
次に、誤差算出部１２４は、説明変数（Ａ）の過去一定期間の実測値を予測モデルに代入し、過去一定期間の来店者数の予測値を算出する（ステップＳ１３）。例えば、誤差算出部１２４は、情報蓄積部１２２から読み出した、図４に示される３０日分の日付のそれぞれに対し、その日の説明変数（Ａ）の実測値を予測モデルに入力することで、算出される値を、その日の来店者数の予測値とする。本実施の形態では、３０日分の日付のそれぞれについて来店者数の予測値を算出する。
【０１０２】
次に、誤差算出部１２４は、ステップＳ１３で算出した３０日分の来店者数の予測値と、ステップＳ１２で読み出した３０日分の来店者数の実測値とを比較し、３０日分のモデル誤差を算出する（ステップＳ１４）。具体的には、誤差算出部１２４は、例えば、対象となる日の予測値と、この来店者数の実測値との差をモデル誤差として算出する。本実施の形態では、３０日分の日付のそれぞれについてモデル誤差を算出する。
【０１０３】
なお、本実施の形態では、需要量の予測値、需要量の実測値及びモデル誤差を日単位で算出しているが、本開示は特にこれに限定されない。例えば、需要量の実測値および説明変数（Ａ）の実測値をそれぞれ時間単位で実測し、これらを対応付けて情報蓄積部１２２に蓄積していれば、これらを用いて学習した重回帰モデルを予測モデルとすることで、需要量の予測値、モデル誤差を時間単位で算出してもよい。
【０１０４】
次に、誤差算出部１２４は、ステップＳ１４で算出した３０日分のモデル誤差それぞれについて、モデル誤差が異常値に該当するか否かを判断する（ステップＳ１５）。モデル誤差が異常値に該当するか否かは、例えばモデル誤差の絶対値が所定の閾値を超えているか否かにより判断する。所定の値は、予め固定値として記憶されてもよいし、モデル誤差の分布から算出されてもよい。例えば、３０日分のモデル誤差の分布が、平均０且つ標準偏差５の正規分布に近似可能な場合、誤差算出部１２４は、３０日分のモデル誤差それぞれについて、９５％の信頼区間から外れるか否か（１０以上であるか否か）を判断すればよい。または、誤差算出部１２４は、３０日分のモデル誤差を表示部１３０に出力し、モデル誤差が異常値に該当するか否かを、ユーザ入力により受け付けてもよい。
【０１０５】
次に、誤差算出部１２４は、ステップＳ１５における判断の結果、モデル誤差が異常値に該当すると判断された場合、すなわち、モデル誤差の絶対値が所定の閾値を越えていると判断された場合（ステップＳ１５でＹＥＳ）、説明変数取得部１２５に通知情報を出力する（ステップＳ１６）。通知情報は、異常値に該当するモデル誤差を含んでもよいし、異常値に該当するモデル誤差が発生した日付の情報を含んでもよいし、３０日分のモデル誤差を全て含んでもよい。
【０１０６】
異常値に該当するモデル誤差が発生した日付の情報とは、例えば、異常値に該当するモデル誤差の算出に用いた来店者数の値を得るための実測を行った日付の情報である。また、日付の情報は、時間帯の情報ともいう。
【０１０７】
モデル誤差が異常値に該当しないと判断された場合、すなわち、３０日分のモデル誤差の全てが所定の閾値を超えないと判断された場合（ステップＳ１５でＮＯ）、誤差算出部１２４は、通知情報を出力せずに、処理を終了する。
【０１０８】
１．５  説明変数取得部１２５の処理
図７を参照しながら、説明変数取得部１２５の処理について説明する。
【０１０９】
図７は、本開示の実施の形態に係る説明変数取得部の処理の流れを示すフローチャートである。
【０１１０】
まず、説明変数取得部１２５は、誤差算出部１２４から出力されたモデル誤差を受信する（ステップＳ２１）。説明変数取得部１２５は、誤差算出部１２４から出力された通信情報を受信する。
【０１１１】
次に、説明変数取得部１２５は、受信したモデル誤差を表示部１３０に出力する（ステップＳ２２）。表示部１３０は、異常値に該当すると判断されたモデル誤差を時系列的に表示する。
【０１１２】
図８は、異常値に該当するモデル誤差を表示する表示画面の一例を示す図である。図８に示す表示画面８００には、異常値に該当するモデル誤差が表形式で表示される。表示部１３０は、異常値に該当するモデル誤差が発生した日付と、過去の需要量の実測値と、過去の需要量の予測値と、異常値に該当するモデル誤差とを対応付けた表示画面８００を表示する。
【０１１３】
図９は、異常値に該当するモデル誤差を表示する表示画面の他の例を示す図である。図９に示す表示画面８１０には、異常値に該当するモデル誤差がグラフ形式で表示される。表示部１３０は、日付と、過去３０日分の需要量の実測値（一点鎖線）と、過去３０日分の需要量の予測値（破線）と、過去３０日分のモデル誤差（棒グラフ）とを示す表示画面８１０を表示する。図９において、横軸は、日付を表し、左の縦軸は、実測値及び予測値を表し、右の縦軸は、モデル誤差を表す。また、表示部１３０は、異常値に該当するモデル誤差が発生した日付にマーカ８０２を表示する。
【０１１４】
次に、説明変数取得部１２５は、ユーザによって入力された新たな説明変数（Ｂ）を取得する（ステップＳ２３）。ユーザ入力は、ステップＳ２２において出力された表示画面に対して行われる。例えば、図８に示す表示画面には、入力ボタン８０１がモデル誤差に対応付けて表示される。ユーザが、入力ボタン８０１をクリックすることによって、新たな説明変数（Ｂ）の入力が開始される。
【０１１５】
図１０は、新たな説明変数の入力を受け付ける際に表示される表示画面の一例を示す図である。
【０１１６】
図１０に示すように、入力ボタン８０１がユーザによってクリックされると、説明変数名と、説明変数の情報を取得可能なＵＲＬとの入力を受け付けるための入力フォーム８０３が表示される。なお、入力フォーム８０３は、異常値に該当するモデル誤差を表す画像上に重畳して表示されてもよいし、別の画面に遷移して表示されてもよい。また、入力フォーム８０３で受け付けるべき情報は、説明変数の名前と、説明変数の情報の取得先とであり、取得先は、必ずしもＵＲＬである必要はない。例えば、ＣＳＶファイルへのファイルパス又はデータベースへのアクセスパスが、説明変数の情報の取得先として受け付けられてもよい。また、入力フォーム８０３は、必ずしも入力ボタン８０１のクリックによって表示される必要はない。例えば、図９に示すマーカ８０２がクリックされることにより表示されてもよい。
【０１１７】
図１１は、新たな説明変数の入力を受け付ける際に表示される表示画面の他の例を示す図である。例えば、図１１に示す表示画面には、異常値に該当するモデル誤差が発生した日付が視認可能なようにマーカ８０２が表示される。
【０１１８】
図１１に示すように、マーカ８０２がユーザによってクリックされると、説明変数名と、説明変数の情報を取得可能なＵＲＬとの入力を受け付けるための入力フォーム８０３が表示される。なお、入力フォーム８０３は、異常値に該当するモデル誤差を表す画像上に重畳して表示されてもよいし、別の画面に遷移して表示されてもよい。
【０１１９】
なお、入力部１１０は、音声対話により、新たな説明変数の入力を受け付けてもよい。
【０１２０】
次に、説明変数取得部１２５は、取得した新たな説明変数（Ｂ）を情報蓄積部１２２に蓄積する（ステップＳ２４）。
【０１２１】
また、説明変数取得部１２５は、モデル誤差を表示部１３０に出力する際に、ヒント情報を表示部１３０に出力してもよい。
【０１２２】
図１２は、本開示の実施の形態の変形例に係る説明変数取得部の処理の流れを示すフローチャートである。なお、図１２に示すステップＳ３１，Ｓ３２，Ｓ３４，Ｓ３５の処理は、図７に示すステップＳ２１〜Ｓ２４の処理と同じであるので、説明を省略する。
【０１２３】
ステップＳ３３において、説明変数取得部１２５は、ヒント情報を表示部１３０に出力する。説明変数取得部１２５は、モデル誤差が異常値に該当すると判断された場合、新たな説明変数の１又は複数の候補を表すヒント情報（候補情報）を取得する。表示部１３０は、取得されたヒント情報を選択可能な状態で表示する。
【０１２４】
ヒント情報は、例えば、検索エンジンにおいて検索数が多い順に抽出された複数のキーワード、又は、ソーシャルネットワーキングサービスにおいて書き込み数が多い順に抽出された複数のキーワードを含む。説明変数取得部１２５は、モデル誤差が異常値に該当すると判断された場合、検索エンジン又はソーシャルネットワーキングサービスを提供する外部サーバから複数のキーワードを取得する。表示部１３０は、取得された複数のキーワードを選択可能な状態で表示する。
【０１２５】
また、説明変数取得部１２５は、ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）などの手法により、普段は観測されないワードを抽出し、抽出したワードをヒント情報として出力してもよい。また、説明変数取得部１２５は、ヒント情報をインターネットから取得する際、需要量（来店者数）を予測する店舗の位置情報を取得し、取得した位置情報に基づいて、店舗周辺に関するキーワードのみを取得してもよい。
【０１２６】
図１３は、ヒント情報を表示する表示画面の一例を示す図である。図１３に示すように、ヒント情報８０４，８０５は、異常値に該当するモデル誤差を表す画像上に重畳して表示される。例えば、ヒント情報８０４は、異常値に該当するモデル誤差が発生した日において、ソーシャルネットワーキングサービスの書き込み数ランキングの上位３つのキーワードを示している。また、ヒント情報８０５は、異常値に該当するモデル誤差が発生した日において、検索エンジンの検索数ランキングの上位３つのキーワードを示している。
【０１２７】
入力部１１０は、表示されたヒント情報の中から、新たな説明変数のユーザによる選択を受け付ける。ユーザは、表示されたヒント情報の中から、新たな説明変数を選択してもよい。なお、表示されたヒント情報の中に最適な説明変数がない場合、入力部１１０は、新たな説明変数を入力するための入力フォームを表示するための表示切替指示を受け付けてもよい。
【０１２８】
このように、ヒント情報８０４，８０５が表示されることで、ユーザはモデル誤差の要因を把握しやすくなり、新たな説明変数の入力が容易となる。
【０１２９】
また、ヒント情報は、ネットワークを介して接続された他の需要予測装置に蓄積された説明変数を含んでもよい。
【０１３０】
図１４は、本開示の実施の形態に係る需要予測システムの構成を示す図である。図１４に示す需要予測システムは、第１の需要予測装置１０１、第２の需要予測装置１０２及び集約装置６００を備える。第１の需要予測装置１０１は、入力部１１０、処理部１２０及び表示部１３０を備える。第２の需要予測装置１０２は、第１の需要予測装置１０１と同じ構成であり、入力部１１０、処理部１２０及び表示部１３０を備える。
【０１３１】
集約装置６００は、第１の需要予測装置１０１及び第２の需要予測装置１０２と通信可能に接続される。第１の需要予測装置１０１の情報取得部１２３は、モデル誤差が異常値に該当すると判断された場合、第２の需要予測装置１０２から１又は複数の説明変数をヒント情報として取得する。このとき、情報取得部１２３は、第２の需要予測装置１０２の説明変数を要求する要求情報を集約装置６００に送信する。集約装置６００は、要求情報を受信すると、第２の需要予測装置１０２から説明変数を取得し、取得した説明変数を第１の需要予測装置１０１へ送信する。情報取得部１２３は、集約装置６００によって送信された説明変数を受信し、説明変数取得部１２５へ出力する。説明変数取得部１２５は、取得された説明変数をヒント情報として表示部１３０へ出力する。表示部１３０は、取得されたヒント情報を選択可能な状態で表示する。
【０１３２】
なお、第１の需要予測装置１０１は、第２の需要予測装置１０２から直接説明変数を取得してもよいが、セキュリティなどを考慮して、集約装置６００を介して説明変数を取得するのが好ましい。また、第１の需要予測装置１０１が複数の需要予測装置から説明変数を取得する場合、集約装置６００が、複数の需要予測装置から説明変数を取得して、取得した説明変数を一括して第１の需要予測装置１０１へ送信することが好ましい。これにより、第１の需要予測装置１０１が複数の需要予測装置から個別に説明変数を取得する処理を省略することができる。
【０１３３】
また、第１の需要予測装置１０１の説明変数取得部１２５は、第２の需要予測装置１０２から取得した説明変数のうち、情報蓄積部１２２に記憶されていない説明変数をヒント情報として表示部１３０へ出力することが好ましい。これにより、重複した説明変数がユーザに提示されるのを防止することができる。
【０１３４】
図１５は、本開示の実施の形態の変形例に係る需要予測システムの構成を示す図である。図１５に示す需要予測システムは、第１の入出力装置２０１、第２の入出力装置２０２及び処理装置３００を備える。第１の入出力装置２０１は、入力部１１０及び表示部１３０を備える。第２の入出力装置２０２は、第１の入出力装置２０１と同じ構成であり、入力部１１０及び表示部１３０を備える。
【０１３５】
処理装置３００は、第１の入出力装置２０１及び第２の入出力装置２０２と通信可能に接続される。処理装置３００は、第１の処理部３０１及び第２の処理部３０２を備える。第１の処理部３０１及び第２の処理部３０２の構成は、図３に示す処理部１２０の構成と同じである。
【０１３６】
第１の処理部３０１の情報取得部１２３は、モデル誤差が異常値に該当すると判断された場合、第２の処理部３０２から１又は複数の説明変数をヒント情報として取得する。このとき、第１の処理部３０１の情報取得部１２３は、第２の処理部３０２の説明変数を要求する要求情報を第２の処理部３０２に送信する。第２の処理部３０２の情報取得部１２３は、要求情報を受信すると、情報蓄積部１２２から説明変数を取得し、取得した説明変数を第１の処理部３０１へ送信する。第１の処理部３０１の情報取得部１２３は、第２の処理部３０２によって送信されたヒント情報を受信し、説明変数取得部１２５へ出力する。説明変数取得部１２５は、取得されたヒント情報を表示部１３０へ出力する。表示部１３０は、取得されたヒント情報を選択可能な状態で表示する。
【０１３７】
また、ヒント情報は、異常値に該当すると判断されたモデル誤差が発生した日付における店舗の周辺地域の情報を含んでもよい。周辺地域とは、店舗から予め定めた距離内の地域の情報である。
【０１３８】
例えば、異常値に該当すると判断されたモデル誤差がある場合、説明変数取得部１２５は、店舗の位置情報を取得し、取得した店舗の位置情報に基づいて、このモデル誤差が発生した日付において、周辺地域の天気の情報をヒント情報として取得してもよい。
【０１３９】
また、例えば、説明変数取得部１２５は、店舗の位置情報を取得し、取得した店舗の位置情報に基づいて、異常値に該当すると判断されたモデル誤差が発生した日付において、店舗周辺にあるイベント会場で開催されているイベントの情報をヒント情報として取得してもよい。店舗周辺とは、例えば、店舗から予め定めた距離内という意味である。
【０１４０】
１．６  予測モデル補正部１２８の処理
図１６を参照しながら、予測モデル補正部１２８の処理について説明する。
【０１４１】
図１６は、本開示の実施の形態に係る予測モデル補正部の処理の流れを示すフローチャートである。
【０１４２】
まず、予測モデル補正部１２８は、説明変数取得部１２５によって追加された新たな説明変数（Ｂ）を情報蓄積部１２２から取得する（ステップＳ４１）。
【０１４３】
次に、予測モデル補正部１２８は、所定の期間（例えば、３０日間）中における、新たな説明変数（Ｂ）の観測回数をカウントする（ステップＳ４２）。例えば、新たな説明変数（Ｂ）が、毎日観測可能な情報（天気又は気温など）であれば、観測回数は３０回となる。一方、新たな説明変数（Ｂ）が、例えば店舗周辺で行われたイベントを表す情報（近隣小学校の運動会又は近隣遊園地のイベントなど）であれば、観測回数は、１回から数回に留まる可能性が高い。
【０１４４】
次に、予測モデル補正部１２８は、新たな説明変数（Ｂ）の観測回数が所定回数以上であるか否かを判断する（ステップＳ４３）。所定回数は、予め設定された固定値であってもよいし、動的に変化する値であってもよい。
【０１４５】
ここで、観測回数が所定回数以上であると判断された場合（ステップＳ４３でＹＥＳ）、予測モデル補正部１２８は、予測モデル記憶部１２１に記憶されている予測モデルを更新する（ステップＳ４４）。具体的には、予測モデル補正部１２８は、既存の説明変数（Ａ）及び新たな説明変数（Ｂ）を説明変数の候補とし、来店者数を目的変数とした重回帰モデルを学習する。本実施の形態では重回帰モデルを予測モデルの例としているが、前述の通り、予測モデルとしては、ニューラルネットワーク、サポートベクターマシン又は決定木などの手法を用いてもよい。また、予測モデル補正部１２８は、予測モデルを学習する際、例えばＳｔｅｐ−Ｗｉｓｅ法又は総当り法と呼ばれる手法によって、説明変数の候補の中から、予測モデルに採用する説明変数を自動的に選択してもよい。
【０１４６】
一方、観測回数が所定回数以上ではないと判断された場合、すなわち、観測回数が所定回数より少ないと判断された場合（ステップＳ４３でＮＯ）、予測モデル補正部１２８は、新たな説明変数（Ｂ）を補正説明変数として情報蓄積部１２２に蓄積する（ステップＳ４５）。観測回数が所定回数より少ない新たな説明変数（Ｂ）を補正説明変数として蓄積することで、ある期間での発生回数が少ないイベントなど（例えば、近隣小学校の運動会など）による来店者数の増減を補正することができる。
【０１４７】
図１７は、本開示の実施の形態に係る情報蓄積部に蓄積される補正説明変数の一例を示す図である。情報蓄積部１２２は、補正説明変数の変数名（補正説明変数の取り得る値）と、変数ごとの補正値とを対応付けて格納する。なお、変数ごとの補正値は、変数の値を入力とする関数として定義し、格納してもよい。図１７に示す補正説明変数は、２値をとるカテゴリカルデータである。図１７の例では、変数の値が真である際に変数名のイベントが発生すると定義し、イベントが発生した際の来店者数への影響値（補正値）を格納している。補正値は、過去に説明変数の値が真であった日における、来店者数の実測値と、予測モデルの予測値との差分から算出される。
【０１４８】
予測モデル補正部１２８は、新たな説明変数を用いて予測モデルを更新する処理又は新たな説明変数を補正説明変数として蓄積する処理のいずれかの処理を行い、処理を終了する。
【０１４９】
以上、本実施の形態における需要予測方法及び需要予測装置によれば、需要予測の高精度化に必要なユーザの知見の取り込みを効率的に実施することができる。更に、本実施の形態における需要予測方法及び需要予測装置によれば、ある期間内における観測回数が少ない要因による需要量の増減も予測することができ、高精度に需要量を予測することができる。
【０１５０】
本開示において、ユニット、装置、部材又は部の全部又は一部、又は図１〜３、図１４〜１５に示されるブロック図の機能ブロックの全部又は一部は、半導体装置、半導体集積回路（ＩＣ）、又はＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を含む一つ又は複数の電子回路によって実行されてもよい。ＬＳＩ又はＩＣは、一つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、一つのチップに集積されてもよい。ここでは、ＬＳＩやＩＣと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、若しくはＵＬＳＩ（Ｕｌｔｒａ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）と呼ばれるものであってもよい。ＬＳＩの製造後にプログラムされる、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができるｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅも同じ目的で使うことができる。
【０１５１】
さらに、ユニット、装置、部材又は部の全部又は一部の機能又は操作は、ソフトウエア処理によって実行することが可能である。この場合、ソフトウエアは一つ又は複数のＲＯＭ、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウエアが処理装置（ｐｒｏｃｅｓｓｏｒ）によって実行されたときに、そのソフトウエアで特定された機能が処理装置（ｐｒｏｃｅｓｓｏｒ）および周辺装置によって実行される。システム又は装置は、ソフトウエアが記録されている一つ又は複数の非一時的記録媒体、処理装置（ｐｒｏｃｅｓｓｏｒ）、及び必要とされるハードウエアデバイス、例えばインターフェース、を備えていても良い。
【産業上の利用可能性】
【０１５２】
本開示に係る需要予測方法、需要予測装置及び需要予測プログラムは、ユーザの入力回数を削減することができ、説明変数の獲得に要する時間を削減することができ、需要量予測の精度を高めることができ、将来の需要量を予測する需要予測方法、需要予測装置及び需要予測プログラムに有用である。
【符号の説明】
【０１５３】
１００    需要予測装置
１０１    第１の需要予測装置
１０２    第２の需要予測装置
１１０    入力部
１２０    処理部
１２１    予測モデル記憶部
１２２    情報蓄積部
１２３    情報取得部
１２４    誤差算出部
１２５    説明変数取得部
１２６    需要予測部
１２７    予測出力部
１２８    予測モデル補正部
１３０    表示部
２００    入出力装置
２０１    第１の入出力装置
２０２    第２の入出力装置
３００    処理装置
３０１    第１の処理部
３０２    第２の処理部
５００    ネットワーク
【図１】
0006603600.tif 000002
【図２】
0006603600.tif 000003
【図３】
0006603600.tif 000004
【図４】
0006603600.tif 000005
【図５】
0006603600.tif 000006
【図６】
0006603600.tif 000007
【図７】
0006603600.tif 000008
【図８】
0006603600.tif 000009
【図９】
0006603600.tif 000010
【図１０】
0006603600.tif 000011
【図１１】
0006603600.tif 000012
【図１２】
0006603600.tif 000013
【図１３】
0006603600.tif 000014
【図１４】
0006603600.tif 000015
【図１５】
0006603600.tif 000016
【図１６】
0006603600.tif 000017
【図１７】
0006603600.tif 000018