(57)【要約】【課題】サービスの利用数を予測することができる利用数予測装置、利用数予測方法及びプログラムを提供することである。【解決手段】実施形態の利用数予測装置は、取得部と、複数モデル作成部と、選択部と、利用数算出部とを持つ。取得部は、在館者数、サービスの利用率、サービスに対する利用者の支払い、天気、日付、特異日の情報のうちひとつ以上を日ごとに示す履歴データから目的変数である利用率又はサービス利用有無の値と説明変数の値とを学習データとして取得する。複数モデル作成部は、学習データを使用して予測モデルを作成し、作成された予測モデルにおいて重要度が閾値よりも低い説明変数を学習データから削除する処理を繰り返す。選択部は、予測の誤差に基づいて予測モデルを選択する。利用数算出部は、選択された予測モデルに予測対象日の説明変数の値を入力して得られた目的変数の予測値に基づいて予測の利用数を算出する。【選択図】図２
2019200487.tif 000002
【特許請求の範囲】
【請求項１】
過去の所定期間における施設の在館者数の情報と、前記施設の在館者のうち所定のサービスを利用した割合である利用率の情報と、前記サービスに対する利用者の支払いの情報と、天気の情報と、日付の情報と、在館者数が減少する特異日の情報とのうちひとつ以上の情報を日ごとに示す履歴データから目的変数である利用率又はサービス利用有無の値と前記目的変数の算出に用いる複数種類の説明変数の値とを学習データとして取得する取得部と、
前記学習データを使用して、前記説明変数の値を入力に用いて前記目的変数の値を予測する予測モデルを作成し、作成された前記予測モデルにおいて前記目的変数の予測に対する重要度が閾値よりも低い前記説明変数を前記学習データから削除する処理を行い、削除後の前記学習データを使用して当該処理を繰り返す複数モデル作成部と、
前記複数モデル作成部が作成した前記予測モデルの中から当該予測モデルを用いた予測の誤差に基づいて、予測に使用する前記予測モデルを選択する選択部と、
前記選択部が選択した前記予測モデルに予測対象日における前記説明変数の値を入力して得られた前記目的変数の予測値に基づいて前記サービスの予測の利用数を算出する利用数算出部と、
を備える利用数予測装置。
【請求項２】
前記利用数算出部は、前記目的変数が利用率である場合、前記目的変数の予測値と、前記予測対象日における前記施設の在館者数との乗算結果に基づいて前記サービスの予測の利用数を算出する、
請求項１に記載の利用数予測装置。
【請求項３】
前記選択部は、前記誤差が閾値よりも低い前記予測モデルの中から使用されている前記説明変数の数が少ない予測モデルを選択する、
請求項１又は請求項２に記載の利用数予測装置。
【請求項４】
前記履歴データは、前記利用者に関する情報を示す利用者情報をさらに含み、
前記利用数予測装置は、前記利用者情報に基づいて前記利用者を分類する分類部をさらに備え、
前記複数モデル作成部は、前記分類ごとに前記予測モデルを作成し、
前記選択部は、前記分類ごとに、前記複数モデル作成部が作成した前記予測モデルの中から予測に使用する前記予測モデルを選択し、
前記利用数算出部は、前記分類ごとに算出した前記サービスの予測の利用数を合計する、
請求項１から請求項３のいずれか一項に記載の利用数予測装置。
【請求項５】
前記利用数算出部は、一部の前記分類には予め用意された予測モデルを用いて前記サービスの予測の利用数を算出する、
請求項４に記載の利用数予測装置。
【請求項６】
前記分類部は、前記利用者の前記サービスの利用日数、前記利用者の前記サービスの利用率、前記施設において前記利用者が在館している場所、前記利用者の所属のうち一以上を用いて前記利用者を分類する、
請求項４又は請求項５に記載の利用数予測装置。
【請求項７】
前記分類部は、前記履歴データから前記利用者の一部が特定される場合、特定された前記利用者を、前記サービスの利用日数が第１の閾値よりも多く、かつ、前記利用率が第２の閾値以上かつ第３の閾値の以下のときは個人分類モデル適用利用者に、前記サービスの利用日数が前記第１の閾値よりも多く、かつ、前記利用率が前記第２の閾値未満又は前記第３の閾値を超えるときには個人利用率モデル適用利用者に、前記サービスの利用日数が第１の閾値以下のときには全体分類モデル適用利用者に分類し、
前記複数モデル作成部は、前記個人分類モデル適用利用者については、前記取得部が前記個人分類モデル適用利用者個別に取得した前記学習データを用いて前記説明変数の値から前記目的変数であるサービス利用有無の値を予測する前記予測モデルである個人分類モデルを作成し、前記全体分類モデル適用利用者については、前記取得部が特定された前記利用者全体について取得した前記学習データを用いて前記説明変数の値から前記目的変数であるサービス利用有無の値を予測する前記予測モデルである全体分類モデルを作成し、個人が特定されなかった利用者全体について前記取得部が取得した前記学習データを用いて前記説明変数の値から前記目的変数であるサービス利用率の値を予測する前記予測モデルである全体回帰モデルを作成し、
前記利用数算出部は、前記個人分類モデル適用利用者については当該個人分類モデル適用利用者の前記個人分類モデルを用いてサービス利用有無の予測を取得し、前記個人利用率モデル適用利用者については当該個人利用率モデル適用利用者の前記利用率と前記第３の閾値との比較に基づいてサービス利用有無を予測する個人利用率モデルを利用してサービス利用有無の予測を取得し、前記全体分類モデル適用利用者については前記全体分類モデルを用いてサービス利用有無の予測を取得し、個人が特定されなかった利用者全体については前記全体回帰モデルを用いて前記利用率の予測値を算出し、サービス利用有と予測された前記利用者の数に、前記利用率の予測値と前記予測対象日における前記施設の在館者数との乗算結果を加算する、
請求項４に記載の利用数予測装置。
【請求項８】
前記第１の閾値、前記第２の閾値及び前記第３の閾値は、任意に設定可能である、
請求項７に記載の利用数予測装置。
【請求項９】
前記選択部により選択された前記予測モデルに過去の前記説明変数の値を用いて得られた前記目的変数の予測値の残差に基づいて、前記利用数算出部が算出した前記サービスの予測の利用数を補正する補正部をさらに備える、
請求項１に記載の利用数予測装置。
【請求項１０】
過去の所定期間における施設の在館者数の情報と、前記施設の在館者のうち所定のサービスを利用した割合である利用率の情報と、前記サービスに対する利用者の支払いの情報と、天気の情報と、日付の情報と、在館者数が減少する特異日の情報とのうちひとつ以上の情報を日ごとに示す履歴データから目的変数である利用率又はサービス利用有無の値と前記目的変数の算出に用いる複数種類の説明変数の値とを学習データとして取得する取得ステップと、
前記学習データを使用して、前記説明変数の値を入力に用いて前記目的変数の値を予測する予測モデルを作成し、作成された前記予測モデルにおいて前記目的変数の予測に対する重要度が閾値よりも低い前記説明変数を前記学習データから削除する処理を行い、削除後の前記学習データを使用して当該処理を繰り返す複数モデル作成ステップと、
前記複数モデル作成ステップにおいて作成された前記予測モデルの中から当該予測モデルを用いた予測の誤差に基づいて、予測に使用する前記予測モデルを選択する選択ステップと、
前記選択ステップにおいて選択された前記予測モデルに予測対象日における前記説明変数の値を入力して得られた前記目的変数の予測値に基づいて前記サービスの予測の利用数を算出する利用数算出ステップと、
を有する利用数予測方法。
【請求項１１】
コンピュータに、
過去の所定期間における施設の在館者数の情報と、前記施設の在館者のうち所定のサービスを利用した割合である利用率の情報と、前記サービスに対する利用者の支払いの情報と、天気の情報と、日付の情報と、在館者数が減少する特異日の情報とのうちひとつ以上の情報を日ごとに示す履歴データから目的変数である利用率又はサービス利用有無の値と前記目的変数の算出に用いる複数種類の説明変数の値とを学習データとして取得する取得ステップと、
前記学習データを使用して、前記説明変数の値を入力に用いて前記目的変数の値を予測する予測モデルを作成し、作成された前記予測モデルにおいて前記目的変数の予測に対する重要度が閾値よりも低い前記説明変数を前記学習データから削除する処理を行い、削除後の前記学習データを使用して当該処理を繰り返す複数モデル作成ステップと、
前記複数モデル作成ステップにおいて作成された前記予測モデルの中から当該予測モデルを用いた予測の誤差に基づいて、予測に使用する前記予測モデルを選択する選択ステップと、
前記選択ステップにおいて選択された前記予測モデルに予測対象日における前記説明変数の値を入力して得られた前記目的変数の予測値に基づいて前記サービスの予測の利用数を算出する利用数算出ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、利用数予測装置、利用数予測方法及びプログラムに関する。
【背景技術】
【０００２】
食堂は、利用者に食事を提供するサービスを行う。食堂では、見込まれるサービスの利用数、すなわち、食事数に従って食材を仕入れ、営業開始時刻よりも前から食事を提供する準備を始める。しかし、見込みの食事数が実際に注文された食事数と乖離し、廃棄される食材の量が多くなることや、用意していた食事数では不足してしまうことがあった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２８８６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、サービスの利用数を予測することができる利用数予測装置、利用数予測方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の利用数予測装置は、取得部と、複数モデル作成部と、選択部と、利用数算出部とを持つ。取得部は、過去の所定期間における施設の在館者数の情報と、前記施設の在館者のうち所定のサービスを利用した割合である利用率の情報と、前記サービスに対する利用者の支払いの情報と、天気の情報と、日付の情報と、在館者数が減少する特異日の情報とのうちひとつ以上の情報を日ごとに示す履歴データから目的変数である利用率又はサービス利用有無の値と前記目的変数の算出に用いる複数種類の説明変数の値とを学習データとして取得する。複数モデル作成部は、前記学習データを使用して、前記説明変数の値を入力に用いて前記目的変数の値を予測する予測モデルを作成し、作成された前記予測モデルにおいて前記目的変数の予測に対する重要度が閾値よりも低い前記説明変数を前記学習データから削除する処理を行い、削除後の前記学習データを使用して当該処理を繰り返す。選択部は、前記複数モデル作成部が作成した前記予測モデルの中から当該予測モデルを用いた予測の誤差に基づいて、予測に使用する前記予測モデルを選択する。利用数算出部は、前記選択部が選択した前記予測モデルに予測対象日における前記説明変数の値を入力して得られた前記目的変数の予測値に基づいて前記サービスの予測の利用数を算出する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態の食堂の環境を示す図。
【図２】同実施形態の食事数予測装置の構成を示すブロック図。
【図３】同実施形態の予測モデルに用いられる説明変数を示す図。
【図４】同実施形態の予測モデルに用いられる説明変数を示す図。
【図５】同実施形態の予測モデルに用いられる説明変数を示す図。
【図６】同実施形態の食事数予測装置の処理を示すフロー図。
【図７】同実施形態のモデル作成部による全体回帰モデル作成処理を示すフロー図。
【図８】第２の実施形態の食事数予測装置の構成を示すブロック図。
【図９】同実施形態の各予測モデルの適用条件を示す図。
【図１０】同実施形態の食事数予測装置の処理を示すフロー図。
【図１１】同実施形態の食事数予測装置の処理を示すフロー図。
【図１２】同実施形態の食事数予測装置の処理を示すフロー図。
【図１３】同実施形態の食事数の予測対象となる食堂の利用状況のサンプルを示す図。
【図１４】同実施形態の予測を行った結果の残差を示す図。
【図１５】ベイズ推定による食事数の予測を説明する図。
【発明を実施するための形態】
【０００７】
以下、実施形態の利用数予測装置、利用数予測方法及びプログラムを、図面を参照して説明する。以下では、予測対象のサービスの利用数が、施設内の食堂において提供される食事数である場合を例に説明する。以下では、食堂において提供する食事数を、「食堂食事数」又は「食事数」と記載する。
【０００８】
（第１の実施形態）
図１は、食事数の予測対象となる食堂の環境を示す図である。ビル５０は、食堂を備える施設の一例である。施設は、例えば、工場、事業所、学校、病院などでもよい。ビル５０は、例えば、オフィスビルである。ビル５０は、複数階のフロアからなる。ビル５０の出入り口となるフロアにはゲート５１ａが設置される。会社の従業員は、ビル５０に入るとき及びビル５０から出るときに、ゲート５１ａに個人ＩＤ（識別子）が記録された従業員証をかざす。また、ビル５０の事務所フロアの各部屋の入口付近にはゲート５１ｂが設定される。従業員は、ビル５０内の部屋に入退出又は入室する際に、部屋の入口付近に設置されているゲート５１ｂに従業員証をかざす。ゲート５１ａとゲート５１ｂを総称してゲート５１と記載する。ゲート５１は、従業員証から個人ＩＤを読み出す。個人ＩＤは、従業員を特定する識別子である。ゲート５１は、ゲートデータをデータベース６に記録する。ゲートデータは、ゲートＩＤと、従業員証から読み取った個人ＩＤと、ゲート通過時刻と、入退出種別とを含む。入退出種別は、ビル５０又は部屋に入ったか、あるいは、ビル５０又は部屋から出たかの種別を示す。ゲートＩＤは、ゲート５１を識別する情報である。
【０００９】
ビル５０が備える食堂には、ＰＯＳ（Point Of Sale）５３が設置されている。ＰＯＳ５３は、利用者が食堂で利用した飲食メニューの支払いに利用される。支払い方法には、従業員証を用いた支払いのほか、現金による支払や支払い用カードによる支払がある。支払い用カードは、例えば、電子マネーにより支払いを行うためのカードや、クレジットカード等である。ＰＯＳ５３は、個人ＩＤと、支払い時刻と、支払い金額と、支払い方法とを設定したＰＯＳデータをデータベース６に記録する。支払い方法は、従業員証による支払と、従業員証以外による支払のいずれであるかを示す。なお、支払い用カードを用いた場合、個人ＩＤが設定されないＰＯＳデータが記録される。
【００１０】
データベース６は、１台又は複数台のデータベースサーバにより実現される。データベース６が複数のデータベースサーバにより実現される場合、各データベースサーバは異なるシステムに属してもよい。例えば、データベース６は、ゲート５１を有するゲート管理システムのデータベースサーバ、ＰＯＳ５３を有するＰＯＳシステムのデータベースサーバを含んでもよい。データベース６は、ゲートデータ及びＰＯＳデータの履歴を記憶する。さらに、データベース６は、食堂利用率情報及び天気情報の履歴、ならびに、カレンダー情報を記憶する。カレンダー情報は、日付情報と、会社の休日を示す特異日情報とを含む。
【００１１】
図２は、第１の実施形態による食事数予測装置１の構成を示すブロック図である。食事数予測装置１は、利用数予測装置の一例である。食事数予測装置１は、個人行動データを用いずに食事数を予測する。データベース６は、食事数予測装置１が食事数の予測に用いる各種データを記憶する。食事数予測装置１は、予測モデル作成部１１と、利用率算出部１２と、食事数算出部１３とを備える。
【００１２】
予測モデル作成部１１は、学習データを用いて機械学習により食堂利用率の予測モデルを作成する。機械学習には、例えば、変数選択付きランダムフォレスト（ＲＦ）が用いられる。変数選択付きＲＦは、例えば、文献「Ramon Diaz-Uriarte, et.al, “Gene selection and classification of microarray data using random forest,” BMC Bioinformatics, January 6, 2006」に記載されている。予測モデル作成部１１は、取得部１１１と、複数モデル作成部１１２と、選択部１１３とを備える。
【００１３】
取得部１１１は、データベース６に蓄積されている各種情報の履歴データから予測モデルの作成に使用するデータを読み出す。取得部１１１は、過去の所定期間における日ごとのゲートデータ、ＰＯＳデータ、天気情報、特異日情報（会社休日）、食堂利用率情報及び日付情報を読み出す。取得部１１１は、読み出したこれらの情報からＲＦの目的変数である利用率の実績値と、目的変数の算出に用いる複数種類の説明変数の実績値とを学習データとして取得する。複数モデル作成部１１２は、取得部１１１が取得した学習データを使用して、説明変数を入力に用いて利用率を予測する予測モデルを作成し、作成した予測モデルを用いた予測の誤差を算出する。複数モデル作成部１１２は、作成した予測モデルにおいて、利用率の予測に対する重要度が所定よりも低い説明変数を学習データから削除する。複数モデル作成部１１２は、重要度が低い説明変数が削除された学習データを用いて、予測モデルを作成し、予測の誤差を算出する処理を繰り返す。選択部１１３は、複数モデル作成部１１２が作成した予測モデルの中から、誤差に基づいて、利用率の予測に使用する予測モデルを選択する。
【００１４】
利用率算出部１２は、選択部１１３が選択した予測モデルに入力データを入力し、食堂利用率を算出する。入力データは、予測対象日における説明変数の値である。利用率算出部１２は、予測対象日のゲートデータ、ＰＯＳデータ、天気情報、特異日情報（会社休日）、食堂利用率情報及び日付情報のうちひとつ以上の情報から予測モデルへの入力データを得る。食事数算出部１３は、利用率算出部１２が算出した食堂利用率に予測対象日における在館者数を乗算し、食事数の予測値を算出する。食事数算出部１３は、在館者数を予測対象日のゲートデータから得る。
【００１５】
なお、本実施形態では、予測を行うタイミングを１２時００分とし、その日の１１時５５分時点までに収集したデータを用いて、学習済みの予測モデルにより食事数を予測する場合を例に説明する。また、本実施形態においては、食堂における支払い１回を、食事数１回とする。
【００１６】
図３〜図５は、予測モデルに用いられる説明変数を示す図である。なお、予測モデルの種類によって使用される説明変数は異なる。本実施形態の予測モデル作成部１１は、全体回帰モデルを作成する。個人分類モデル及び全体分類モデルは、後述する第２の実施形態において用いられる。図３〜図５では、説明変数の分類、内容、名称、各種類の予測モデルに用いられるか否かを示す。〇は説明変数として用いることを、◇は目的変数であることを、×は説明変数に用いられないことを示す。また、分類は、説明変数の取得元となるデータを示す。
【００１７】
図３に示すように、ゲートデータからは、説明変数gate1155、n1000、n1100、n1155が得られる。説明変数gate1155は、１１時５５分の各個人の在館状況を示す。データn1000は、１０時００分時点の在館者数を示す。説明変数n1100は、１１時００分時点の在館者数を示す。説明変数n1155は、１１時５５分時点の在館者数を示す。ＰＯＳデータからは、説明変数cafeが得られる。説明変数cafeは、食堂利用の有無を示す２値データである。
【００１８】
天気情報からは、説明変数maxtemp、mintemp、sunny、cloudy、rainingが得られる。説明変数maxtempは、当該日の最高気温を示す。説明変数mintempは、当該日の最低気温を示す。説明変数sunnyは、当該日の天気が晴れであるか否かを示す２値データである。説明変数cloudyは、当該日の天気が曇りであるか否かを示す２値データである。説明変数rainingは、当該日の天気が雨であるか否かを示す２値データである。特異日情報は、説明変数specialdayとして用いられる。説明変数specialdayは、特異日であるか否かを示す２値データである。特異日は、在館者数が通常と異なる日である。例えば、特異日は、会社の休日である。
【００１９】
図４に示すように、食堂利用率情報からは、説明変数rday07.1155、rday14.1155、rday21.1155、rday28.1155、rday07.1155.wid、rday14.1155.wid、rday14.1155.wid、rday28.1155.wid、rday07.1155.woid、rday14.1155.woid、rday21.1155.woid、rday28.1155.woidが得られる。食堂利用率情報は、ビル５０の在館者数により、食堂利用者数を除算して得られる。在館者数はゲートデータから得られ、食堂利用者数はＰＯＳデータから得られる。本実施形態では、食堂利用率情報をデータベース６から読み出しているが、取得部１１１が、データベース６から読み出したゲートデータ及びＰＯＳデータを用いて生成してもよい。
【００２０】
説明変数rday07.1155、rday14.1155、rday21.1155、rday28.1155はそれぞれ、一週間前、二週間前、三週間前、四週間前の１１時５５分時点の在館者数に対する全食堂利用者の食堂利用率を示す。説明変数rday07.1155.wid、rday14.1155.wid、rday21.1155.wid、rday28.1155.widはそれぞれ、一週間前、二週間前、三週間前、四週間前の１１時５５分時点の在館者数に対する、従業員証により支払いを行った食堂利用者の割合を示す。説明変数rday07.1155.woid、rday14.1155.woid、rday21.1155.woid、rday28.1155.woidはそれぞれ、一週間前、二週間前、三週間前、四週間前の１１時５５分時点の在館者数に対する従業員証以外により支払いを行った食堂利用者の割合を示す。
【００２１】
図５に示すように、日付情報からは、説明変数month、fday、wday、weeknum2、hdaym3、hdaym2、hdaym1、hday0、hdayp1、hdayp2、hdayp3、hdaynumが得られる。説明変数monthは、月を示す。説明変数fdayは、月初め（当月の１日）であるか否かを示す２値データである。説明変数wdayは、曜日を示す。説明変数weeknum2は、当月内での週番号を示す。週番号とは、当月における何週目であるかを示す。説明変数hdaym3、hdaym2、hdaym1はそれぞれ、当該日の３日前、２日前、前日が休日であるか否かを示す２値データである。説明変数hday0、hdayp1、hdayp2、hdayp3はそれぞれ、当該日、当該日の翌日、当該日の２日後、当該日の３日後が休日であるか否かを示す２値データである。説明変数hdaynumは、当該日の前後３日間の休日数を示す２値データである。
【００２２】
図６は、食事数予測装置１の処理を示すフロー図である。予測モデル作成部１１は、食事数Ｎａｌｌを０に初期化する（ステップＳ１１）。取得部１１１は、学習期間内のゲートデータ、ＰＯＳデータ、天気情報、特異日情報、食堂利用率情報及び日付情報をデータベース６から取得する。なお、取得部１１１は、天気情報などの一部の情報を、食事数予測装置１とネットワークを介して接続される情報提供装置から取得してもよい。学習期間は、予測対象日から直近の過去９０日間とする。なお、学習期間は一例であり、適切な任意の期間とすることができる。例えば、学習期間は、連続した期間であってもよく、過去数年間の同一の月など、連続した期間でなくてもよい。
【００２３】
取得部１１１は、取得したデータから各日の説明変数の値及び目的変数の値を取得する（ステップＳ１２）。ここでは、取得部１１１は、図３〜図５において全体ＲＦ回帰モデルに〇又は◇が記載されている説明変数の値及び目的変数の値を取得する。予測モデル作成部１１は、学習期間内の各日の説明変数の値及び目的変数の値を学習データとして用い、全体回帰モデルを作成する（ステップＳ１３）。作成された全体回帰モデルには、ステップＳ１２において取得した説明変数のうち重要な説明変数が使用される。ここで重要とは、予測結果に与える影響が大きいことを示す。全体回帰モデルの作成処理については、後述する図７に詳細を示す。
【００２４】
利用率算出部１２は、予測対象日の１１時５５分時点の各説明変数の値をデータベース６から取得する。利用率算出部１２は、全体回帰モデルに用いられる説明変数の値を少なくとも取得すればよい。利用率算出部１２は、ステップＳ１２において作成された全体回帰モデルにより、取得した説明変数の値を用いて食堂利用率の予測値を計算する（ステップＳ１４）。食事数算出部１３は、予測対象の日の１１時５５分時点の在館者数の実績値をデータベース６から取得する。食事数算出部１３は、ステップＳ１４において算出した食堂利用率の予測値と、取得した在館者数の実績値とを乗算し、予測の食事数Ｎａｌｌを算出する（ステップＳ１５）。
【００２５】
図７は、予測モデル作成部１１による全体回帰モデル作成処理を示すフロー図である。まず、複数モデル作成部１１２は、ＲＦにより、図６のステップＳ１２において取得した日ごとの学習データの全ての説明変数を用いて目的変数の食堂利用率を得るＲＦ回帰モデルを作成する（ステップＳ２１）。複数モデル作成部１１２は、作成されたＲＦ回帰モデルを用いて、説明変数の重要度及びＯＯＢ（Out-of-Bag）エラーを算出する（ステップＳ２２）。説明変数の重要度の算出方法には、ＧＩＮＩ係数を用いる手法や、ＯＯＢエラーを用いる手法などがあるが、既存の任意の手法を用いることができる。
【００２６】
複数モデル作成部１１２は、削除可能な説明変数があるか否かを判断する（ステップＳ２３）。例えば、複数モデル作成部１１２は、現在学習データに用いられている説明変数の数が閾値以上である場合に、削除可能な説明変数があると判断する。例えば、後述するステップＳ２４において下位の２０％の説明変数を削除する場合、現在学習データに使用されている説明変数の数に対する１つの説明変数の割合が２０％以上であるときの数、つまり、５個を閾値とする。複数モデル作成部１１２は、削除可能な説明変数があると判断した場合（ステップＳ２３：ＹＥＳ）、ステップＳ２４の処理を行う。
【００２７】
複数モデル作成部１１２は、ステップＳ２２において算出した重要度が低い説明変数を削除対象として選択する。例えば、複数モデル作成部１１２は、重要度を高い順から並べた時に、順位が下位の２０％に相当する説明変数を削除する。なお、２０％は一例であり、任意に設定可能である。あるいは、予測モデル作成部１１は、順位の低いものから所定数の説明変数を選択する。複数モデル作成部１１２は、選択した削除対象の説明変数を現在の学習データから削除する（ステップＳ２４）。複数モデル作成部１１２は、ステップＳ２４において説明変数を削除した学習データを用いて、ステップＳ２１からの処理を繰り返す。そして、複数モデル作成部１１２は、削除可能な説明変数がないと判断した場合（ステップＳ２３：ＮＯ）、複数ＲＦ回帰モデルの作成終了を選択部１１３に通知する。
【００２８】
通知を受けた選択部１１３は、例えば、１ＳＥルールを適用してＲＦ回帰モデルを選択する。具体的には、選択部１１３は、上記で複数モデル作成部１１２が作成した全てのＲＦ回帰モデルのうち、ＯＯＢエラーの最小値から１標準偏差以内に含まれているＲＦ回帰モデルを選択する。選択部１１３は、選択したＲＦ回帰モデルの中からさらに、使用している説明変数の個数が最も少ないモデルを全体ＲＦ回帰モデルとする（ステップＳ２５）。あるいは、選択部１１３は、ＯＯＢエラーが最小のＲＦ回帰モデルを選択し、全体ＲＦ回帰モデルとしてもよい。このように、選択部１１３は、誤差が閾値よりも低いＲＦ回帰モデルの中から使用されている説明変数の数が少ない予測モデルを選択する。
【００２９】
食事数は、在館者数の影響を受けやすい。本実施形態の食事数予測装置１は、食堂利用率を予測する回帰モデルを学習し、学習した回帰モデルを用いて予測した食堂利用率に在館者数を乗算することにより、食事数を出力する回帰モデルを用いることにより予測精度を向上させる。
【００３０】
本実施形態によれば、取得部１１１は、過去の所定期間におけるビル５０の在館者数の情報と、ビル５０の在館者のうち食堂で食事をした割合である利用率の情報と、食堂における食事に対する利用者の支払いの情報であるＰＯＳデータと、天気の情報と、日付の情報と、在館者数が減少する特異日の情報とのうち少なくとも一部の情報を日ごとに示す履歴データから、目的変数である食堂の利用率と、目的変数の算出に用いる複数種類の説明変数の値とを学習データとして取得する。複数モデル作成部１１２は、学習データを使用して、説明変数の値を入力に用いて目的変数の値を予測する予測モデルを作成し、作成された予測モデルにおいて目的変数の予測に対する重要度が閾値よりも低い説明変数を学習データから削除する。複数モデル作成部１１２は、削除後の学習データを使用して予測モデルを作成し、作成された予測モデルにおいて重要度が閾値よりも低い説明変数を学習データから削除する処理を繰り返す。選択部１１３は、複数モデル作成部１１２が作成した予測モデルの中から、各予測モデルを用いた予測の誤差に基づいて、予測に使用する予測モデルを選択する。例えば、選択部１１３は、予測誤差を最小にする予測モデルの中から、１ＳＥルールを適用した予測モデルを選択する。１ＳＥルールでは、予測誤差の最小値より１標準偏差分だけ説明変数個数が少ない方向へ離れた予測モデルを選択する。利用率算出部１２及び食事数算出部１３は、利用数算出部の一例である。利用数算出部は、選択部１１３が選択した予測モデルに予測対象日における説明変数の値を入力して得られた目的変数の予測値に基づいて、予測の食事数を算出する。本実施形態によれば、個人を特定せずに、食事数を予測することができる。
【００３１】
（第２の実施形態）
第１の実施形態の食事数予測装置は、個人行動データを用いずに、変数選択を行いながら機械学習（ＲＦ）により予測モデルを作成し、食事数を予測した。第２の実施形態の食事数予測装置は、個人行動データを用いて変数選択を行いながら、機械学習により予測モデルを作成し、食事数を予測する。個人により食堂利用頻度や回数が異なるため、個人行動データには、偏りがある。そこで、食事数予測装置は、個人別に食堂利用率やデータ量に応じた予測モデルを作成し、食堂利用有無を予測する。さらに、この予測の精度を向上させるために必要に応じて、食事数予測装置は、食堂利用率の分布に基づいて残差モデルを作成し、予測を補正してもよい。一方で、個人行動のデータが不足している場合、食事数予測装置は、個人行動をグループ化し、そのグループの予測モデルを作成して食堂利用有無の予測を行う。本実施形態の食事数予測装置は、このように、複数のモデルを組み合わせて予測を行う。以下では、第１の実施形態との差分を中心に説明する。
【００３２】
図８は、第２の実施形態による食事数予測装置２の構成を示すブロック図である。食事数予測装置２は、分類予測モデル作成部２１と、食事数算出部２２と、補正部２３とを備える。
【００３３】
分類予測モデル作成部２１は、分類部２１１と、個人分類モデル作成部２１２と、全体分類モデル作成部２１３と、全体回帰モデル作成部２１４とを備える。
分類部２１１は、学習期間のゲートデータ、ＰＯＳデータ、天気情報、特異日情報、食堂利用率情報及び日付情報をデータベース６から取得する。分類部２１１は、ＰＯＳデータに含まる個人ＩＤより特定された各従業員の食堂利用日数及び食堂利用率に基づいて、個人分類モデル、利用率モデル、全体分類モデルのうちいずれを適用するか判断する。分類部２１１は、ＰＯＳデータに個人ＩＤが含まれないためにより個人が特定されなかった利用者全体については、全体回帰モデルを適用すると判断する。
【００３４】
図９は、各予測モデルの適用条件を示す図である。従業員証を利用して食堂で支払いを行った場合、ＰＯＳデータに個人ＩＤが設定され、その個人ＩＤの従業員が食堂を利用した履歴が得られる。そして、学習期間における各日のＰＯＳデータから、その個人が食堂を利用した日数Ｎｄａｙｓが得られる。また、学習期間におけるゲートデータから、個人の在館日数が得られる。各個人の学習期間における食堂利用日数Ｎｄａｙｓを在館日数により除算することで、食堂利用率αが得られる。
【００３５】
分類部２１１は、食堂利用日数Ｎｄａｙｓが第１の閾値Ｔ１日以上かつ、食堂利用率αが第２の閾値Ｔ２（Ｔ２≧０）以上第３の閾値Ｔ３（Ｔ２≦Ｔ３≦１）以下の従業員については、個人分類モデルを適用すると判断する。個人分類モデルは、個人ごとに作成され、その個人の食堂利用有無を結果として出力する。以下では、学習期間が９０日、Ｔ１＝１０、Ｔ２＝０．２、Ｔ３＝０．８である場合を例に説明するが、学習期間、Ｔ１、Ｔ２、Ｔ３は任意の値を用いることができる。例えば、予め学習期間、Ｔ１、Ｔ２、Ｔ３を食事数予測装置２に設定してもよい。あるいは、分類予測モデル作成部２１は、学習期間、Ｔ１、Ｔ２、Ｔ３の値を変化させながら予測モデルを学習し、最も予測結果と実績値との誤差が少ない値の組み合わせを採用してもよい。
【００３６】
分類部２１１は、食堂利用日数Ｎｄａｙｓが１０日以上かつ、食堂利用率αが０．２未満又は０．８を超える従業員については、個人利用率モデルを適用すると判断する。個人利用率モデルは、食堂利用率αに基づいて個人ごとの食堂利用有無を結果として出力する。個人利用率モデルは、αが０．２未満であれば食堂利用無、αが０．８を超えれば食堂利用有と判断する予測モデルである。
【００３７】
分類部２１１は、食堂利用日数Ｎｄａｙｓが１０日未満の従業員の場合、データが少ないため、全体分類モデルを適用すると判断する。全体分類モデルは、食堂利用日数Ｎｄａｙｓが１０日未満の全従業員のデータを用いて作成される。全体分類モデルは、個人の食堂利用有無を結果として出力する。
【００３８】
従業員が従業員証を利用せずに食堂で支払いを行った場合、個人ＩＤの行動データを取得することはできない。そこで、分類部２１１は、個人ＩＤが得られない従業員全体については、第１の実施形態と同様の全体回帰モデルを適用すると判断する。全体回帰モデルは、日にちごとの食堂利用率を結果として出力する。
【００３９】
図８の構成の説明に戻る。個人分類モデル作成部２１２は、学習データを用いて個人ごとに個人分類モデルを作成する。全体分類モデル作成部２１３は、学習データを用いて全体分類モデルを作成する。全体回帰モデル作成部２１４は、学習データを用いて全体回帰モデルを作成する。なお、個人分類モデル作成部２１２、全体分類モデル作成部２１３及び全体回帰モデル作成部２１４は、第１の実施形態の予測モデル作成部１１と同様の構成である。ただし、第１の実施形態の予測モデル作成部１１が作成する全体回帰モデルとは、説明変数、又は、説明変数及び目的変数が異なる。
【００４０】
食事数算出部２２は、個人分類モデル適用部２２１と、個人利用率モデル適用部２２２と、全体分類モデル適用部２２３と、利用率算出部２２４と、従業員証不使用食事数算出部２２５と、加算部２２６とを備える。
【００４１】
個人分類モデル適用部２２１は、個人分類モデル作成部２１２が作成した個人ごとの個人分類モデルを用いて、その個人の食堂利用有無の予測を得る。個人利用率モデル適用部２２２は、個人利用率モデルを用いて個人ごとの食堂利用の有無の予測を得る。全体分類モデル適用部２２３は、全体分類モデル作成部２１３が作成した全体分類モデルを用いて、個人ごとの食堂利用有無の予測を得る。個人分類モデル適用部２２１、個人利用率モデル適用部２２２、及び、全体分類モデル適用部２２３はそれぞれ、食堂を利用すると予測した個人の数を予測の食事数として算出する。
【００４２】
利用率算出部２２４は、第１の実施形態の利用率算出部１２と同様の処理により、全体回帰モデル作成部２１４が作成した全体回帰モデルを用いて予測の食堂利用率を算出する。従業員証不使用食事数算出部２２５は、第１の実施形態の食事数算出部１３と同様に、利用率算出部２２４が算出した予測の食堂利用率に予測対象日における在館者数を乗算し、食事数の予測値を算出する。加算部２２６は、個人分類モデル適用部２２１、個人利用率モデル適用部２２２、及び、全体分類モデル適用部２２３のそれぞれが算出した予測の食事数と、従業員証不使用食事数算出部２２５が算出した予測の食事数とを加算する。
【００４３】
補正部２３は、加算部２２６が算出した予測の食事数を補正する。例えば、補正部２３は、テスト期間内の説明変数の値を用いて個人分類モデルにより算出した予測の食事数と、食事数の実績値との乖離を算出し、算出結果に基づいて補正値を得る。補正部２３は、得られた補正値によって、加算部２２６が出力した予測対象日の予測の食事数を補正して、最終的な予測の食事数を算出する。
【００４４】
図１０〜図１２は、食事数予測装置２の処理を示すフロー図である。図１０において、分類部２１１は、全体の食事数Ｎａｌｌ、従業員証利用者の食事数Ｎｗｉｄ及び従業員証不使用者の食事数Ｎｗｏｉｄを０に初期化する（ステップＳ３１）。
【００４５】
分類部２１１は、学習期間内のゲートデータ、ＰＯＳデータ、天気情報、特異日情報、食堂利用率情報及び日付情報をデータベース６から取得する。分類部２１１は、ＰＯＳデータから食堂を利用した従業員の個人ＩＤを抽出する（ステップＳ３２）。分類部２１１は、抽出した個人ＩＤを１つずつ選択し、選択した個人ＩＤについて以下のステップＳ３３〜ステップＳ３７を行う。選択した個人ＩＤを選択個人ＩＤと記載する。
【００４６】
分類部２１１は、選択個人ＩＤが設定されているＰＯＳデータを参照し、学習期間内の食堂利用日数Ｎｄａｙｓを取得する。分類部２１１は、食堂利用日数Ｎｄａｙｓが１０日未満であると判断した場合（ステップＳ３３：ＮＯ）、選択個人ＩＤに適用する予測モデルを全体分類モデルと判断する（ステップＳ３４）。
【００４７】
分類部２１１は、食堂利用日数Ｎｄａｙｓが１０日以上であると判断した場合（ステップＳ３３：ＹＥＳ）、食堂利用日数Ｎｄａｙｓを学習期間における選択個人ＩＤの在館日数により除算して食堂利用率αを算出する。分類部２１１は、食堂利用率αが０．２以上かつ０．８以下であると判断した場合（ステップＳ３５：ＹＥＳ）、選択個人ＩＤに適用する予測モデルを個人分類モデルと判断する（ステップＳ３６）。一方、分類部２１１は、食堂利用率αが０．２未満又は０．８を超えると判断した場合（ステップＳ３５：ＮＯ）、選択個人ＩＤに適用する予測モデルを個人利用率モデルと判断する（ステップＳ３７）。
【００４８】
個人分類モデル作成部２１２は、個人分類モデルを適用する個人ＩＤを１つずつ選択し、個人分類モデル作成部２１２は、選択された個人ＩＤについて以下のステップＳ３８〜ステップＳ４１の処理を行う。個人分類モデル作成部２１２は、選択個人ＩＤの食堂利用日数Ｎｄａｙｓ分の学習データを用いて、第１の実施形態の図７と同様の処理により個人分類モデルを作成する（ステップＳ３８）。ただし、個人分類モデル作成部２１２は、学習期間内のゲートデータ、ＰＯＳデータ、天気情報、特異日情報、食堂利用率情報及び日付情報から、図３〜図５において、個人分類モデルに〇又は◇が記載されている説明変数の値及び目的変数の値を学習データとして取得する。
【００４９】
個人分類モデル適用部２２１は、予測対象日の１１時５５分時点の各説明変数の値をデータベース６から取得する。個人分類モデル適用部２２１は、ステップＳ３８において作成された個人分類モデルにより、取得した説明変数の値を用いて食堂利用有無の予測を計算する（ステップＳ３９）。個人分類モデル適用部２２１は、利用有と予測した場合（ステップＳ４０：ＹＥＳ）、現在のＮｗｉｄの値に１を加算する（ステップＳ４１）。個人分類モデル適用部２２１が利用無と予測した場合（ステップＳ４０：ＮＯ）、又は、ステップＳ４１の処理の後、個人分類モデル作成部２１２は、次の個人ＩＤを選択してステップＳ３８からの処理を繰り返す。
【００５０】
図１１において、個人利用率モデル適用部２２２は、個人利用率モデルを適用する個人ＩＤを１つずつ選択し、以下のステップＳ５１〜ステップＳ５２の処理を行う。個人利用率モデル適用部２２２は、選択個人ＩＤの食堂利用率αが０．８を超えると判定した場合（ステップＳ５１：ＹＥＳ）、選択個人ＩＤの従業員は食堂を利用すると判断し、現在の食事数Ｎｗｉｄに１を加算する（ステップＳ５２）。個人利用率モデル適用部２２２は、選択個人ＩＤの食堂利用率αが０．８以下であると判断した場合（ステップＳ５１：ＮＯ）、又は、ステップＳ５２の処理の後、次の個人ＩＤを選択してステップＳ５１からの処理を繰り返す。
【００５１】
全体分類モデル作成部２１３は、ステップＳ３２において抽出された個人ＩＤ全てについての学習データを用いて、第１の実施形態の図７と同様の処理により全体分類モデルを作成する（ステップＳ５３）。ただし、全体分類モデル作成部２１３は、学習期間内のゲートデータ、ＰＯＳデータ、天気情報、特異日情報、食堂利用率情報及び日付情報から、図３〜図５において、全体分類モデルに〇又は◇が記載されている説明変数の値及び目的変数の値を学習データとして取得する。また、全体分類モデル作成部２１３は、図４の符号Ｇ１に含まれる説明変数rday07.1155、rday14.1155、rday21.1155及びrday28.1155の組、符号Ｇ２に含まれる説明変数rday07.1155.wid、rday14.1155.wid、rday14.1155.wid及びrday28.1155.widの組、符号Ｇ３に含まれる説明変数rday07.1155.woid、rday14.1155.woid、rday21.1155.woid及びrday28.1155.woidの組のいずれかを使用する。
【００５２】
全体分類モデル適用部２２３は、全体分類モデルを適用する個人ＩＤを１つずつ選択し、以下の処理を行う。全体分類モデル適用部２２３は、予測対象日の１１時５５分時点の各説明変数の値をデータベース６又は情報提供装置から取得する。全体分類モデル適用部２２３は、ステップＳ５３において作成された全体分類モデルにより、取得した説明変数の値を用いて食堂利用有無の予測を計算する（ステップＳ５４）。全体分類モデル適用部２２３は、利用有と予測した場合（ステップＳ５５：ＹＥＳ）、現在のＮｗｉｄの値に１を加算する（ステップＳ５６）。全体分類モデル適用部２２３が利用無と予測した場合（ステップＳ５５：ＮＯ）、又は、ステップＳ５６の処理の後、全体分類モデル適用部２２３は、次の個人ＩＤを選択してステップＳ５４からの処理を繰り返す。
【００５３】
図１２において、全体回帰モデル作成部２１４は、第１の実施形態の図７の処理と同様に全体回帰モデルを作成する（ステップＳ６１）。ただし、全体回帰モデル作成部２１４は、図４の符号Ｇ４に含まれる説明変数rday07.1155、rday14.1155、rday21.1155及びrday28.1155の組、符号Ｇ５に含まれる説明変数rday07.1155.woid、rday14.1155.woid、rday21.1155.woid及びrday28.1155.woidのいずれかを使用する。符号Ｇ５を用いる場合、目的変数はrday07.1155.woidとなる。
【００５４】
利用率算出部２２４は、予測対象日の１１時５５分時点の各説明変数の値をデータベース６から取得する。利用率算出部２２４は、ステップＳ６１において作成された全体分類モデルにより、取得した説明変数の値を用いて食堂利用率の予測値を計算する（ステップＳ６２）。従業員証不使用食事数算出部２２５は、予測対象の日の１１時５５分時点の在館者数の実績値をデータベース６から取得する。従業員証不使用食事数算出部２２５は、ステップＳ６２において算出された食堂利用率の予測値と、取得した在館者数の実績値とを乗算し、従業員証不使用者の食事数Ｎｗｏｉｄを算出する（ステップＳ６３）。
【００５５】
加算部２２６は、従業員証利用者の食事数Ｎｗｉｄと従業員証不使用者の食事数Ｎｗｏｉｄを加算し、全体の食事数Ｎａｌｌを算出する（ステップＳ６４）。補正部２３は、全体の食事数Ｎａｌｌに補正を行って、出力する（ステップＳ６５）。
【００５６】
図１３は、食事数の予測対象となる食堂の利用状況のサンプルを示す図である。同図では、食堂利用率と、その食堂利用率の従業員が実際に食堂を利用した人数との関係を示している。同図に示す場合においては、食堂利用率が高い従業員の利用者が多く、食堂利用率に偏りが生じている。個人分類モデル及び全体分類モデルでは各個人の食堂利用の有無を予測するが、食堂利用率がある程度高い従業員については食堂利用有の予測結果が得られる可能性がある。そのため、食堂利用率が高い従業員の割合が多いと、食事数の予測が高く算出される傾向がある。
【００５７】
図１４は、予測結果の残差を示す図である。同図では、第１の実施形態の食事数予測装置１（ベースモデル）により予測を行った結果及び第２の実施形態の食事数予測装置２（個人行動モデル）により予測を行った結果の残差を示す図である。同図に示すように、ベースモデルにより予測を行った結果は、０付近で残差がばらついている。一方で、個人行動モデルにより予測を行った結果は、残差が正の方向に傾いている。そこで、補正部２３は、学習期間又は過去の所定期間の各日について予測を行ったときに加算部２２６から出力された予測の食事数と、実際の食事数との残差を算出する。補正部２３は、個人行動モデルの残差の平均を補正項として使用し、加算部２２６から出力された予測の食事数から減算する。あるいは、補正部２３は、残差を天気情報や日付情報などの説明変数でモデル化し、補正項として使用する。
なお、補正部２３による補正を行わず、加算部２２６から出力をそのまま予測の食事数としてもよい。
【００５８】
上記では、全体分類モデル作成部２１３は、個人行動データが少ない従業員についてまとめて全体分類モデルを作成していた。しかし、オフィスビルでは、フロアごとに利用している企業が異なる場合や、部署が異なる場合がある。企業や部署によっては、外出が多いなど、行動に違いがみられることがある。そこで、全体分類モデル作成部２１３は、フロア、企業又は部署の分類ごとに、その分類に属する個人ＩＤについての学習データを用いて全体分類モデルを作成してもよい。例えば、個人ＩＤに対応したフロア、企業又は部署を示す従業員情報をデータベース６に記憶しておき、分類部２１１は、この従業員情報を読み出して各従業員を分類する。また、分類部２１１は、ゲートデータを参照して各従業員が最も長く滞在しているフロア又は部屋を特定し、特定されたフロア又は部屋に基づいて企業又は部署を特定してもよい。全体分類モデル作成部２１３は、分類部２１１による分類ごとに全体分類モデルを作成する。全体分類モデル適用部２２３は、選択個人ＩＤの従業員が所属するフロア、企業又は部署について作成された全体分類モデルを用いて、食堂の利用の有無を予測する。
【００５９】
また、全体分類モデル作成部２１３は、食堂利用率の範囲で示される分類ごとに、その分類に属する個人ＩＤについての学習データを用いて全体分類モデルを作成してもよい。全体分類モデル適用部２２３は、選択個人ＩＤの従業員の食堂利用率αが含まれる分類の全体分類モデルを用いて、食堂の利用の有無を予測する。
【００６０】
またあるいは、分類予測モデル作成部２１は、ＰＯＳデータから個人ＩＤが得られた従業員全体を対象として、フロア、企業、部署又は食堂利用率の分類ごとに全体分類モデルを作成してもよい。食事数算出部２２は、ＰＯＳデータから個人ＩＤが得られた従業員が所属する分類の全体分類モデルを用いて、食堂の利用の有無を予測する。なお、分類予測モデル作成部２１は、学習期間における食堂利用数、学習期間における食堂利用率、ビル５０において従業員が普段在館しているフロアや部屋などの場所、従業員の所属先の部署や企業を任意に組み合わせて分類してもよい。
【００６１】
また、分類部２１１は、従業員の食堂利用日数Ｎｄａｙｓが１０日未満である場合、その従業員については、食堂利用日数Ｎｄａｙｓが１０日以上となるまで学習期間を長くし、個人分類モデル又は個人利用率モデルを適用してもよい。
【００６２】
本実施形態によれば、食事数予測装置２は、データベース６に記憶されている利用者情報に基づいて、利用者を分類する分類部２１１を備える。データベース６に記憶される履歴データを利用者情報として用いてもよい。分類部２１１は、利用者のサービスの利用日数、利用者のサービスの利用率、施設において利用者が在館している場所、利用者の所属のうち一以上を用いて利用者を分類する。分類予測モデル作成部２１の個人分類モデル作成部２１２、全体分類モデル作成部２１３、全体回帰モデル作成部２１４はそれぞれ、複数モデル作成部及び選択部を有している。これにより、分類予測モデル作成部２１は、分類ごとに、複数の予測モデルを作成し、予測の誤差に基づいて使用する予測モデルを選択する。分類ごとの予測モデルの目的変数は、食堂利用率又は食堂利用有無である。食事数算出部２２は、利用数算出部の一例であり、分類ごとに予測モデルを用いて算出した予測の食事数を合計する。なお、食事数算出部２２は、一部の分類には個人利用率モデルのように予め用意された予測モデルを用いて予測の食事数を算出してもよい。補正部２３は、選択された予測モデルに過去の説明変数の値を用いて得られた目的変数の予測値と、目的変数の実績値との乖離を表す残差に基づいて、食事数算出部２２が算出した予測の食事数を補正する。
【００６３】
上述した実施形態において、食事数予測装置２は、ＲＦによって予測モデルを作成し、食堂の利用有無を推定しているが他の機械学習を用いてもよい。また、食事数予測装置２は、ベイズ推定によって食堂利用有無を推定してもよい。すなわち、食事数予測装置２は、個人分類モデル、個人利用率モデル、全体分類モデルにベイズ推定を用いる。なお、これらのモデル全てにベイズ推定を用いてもよく、これらのモデルのうち一部にベイズ推定を用いてもよい。ベイズ推定では、ベータ関数Ｂ（α，β）を用いて事前分布及び事後分布を定義し、食事数を予測する。
【００６４】
図１５は、ベイズ推定による食事数の予測を説明する図である。ここでは、簡単のため。個人ＩＤが得られた従業員がＡさん、Ｂさん、Ｃさんの３人である場合を例に示している。ゲートデータからは各従業員の所定期間の在館日数が得られ、ＰＯＳデータからはその所定期間において各従業員が食堂を利用した回数及び食堂を利用しなかった回数が得られる。
【００６５】
ベイズ推定では、以下の式（１）が成り立つ。
【００６６】
【数１】
2019200487.tif 000003
【００６７】
ｐ（ｘ｜ｙ）は、事象ｙが発生した下で事象ｘが発生する事後分布（事後確率）であり、ｐ（ｘ）はｐが発生する事前分布（事前確率）であり、ｐ（ｙ｜ｘ）は事象ｘの尤度である。式（１）に示すように、ｐ（ｘ｜ｙ）は、ｐ（ｘ）ｐ（ｙ｜ｘ）に比例する。事象ｙは在館していることを、事象ｘは食堂の利用に相当する。ｐ（ｙ｜ｘ）は、食堂を使用する尤度である。尤度はベータ分布となる。
【００６８】
ベータ分布（α，β）は、確率密度がｘα−１（１−ｘ）β−１に比例する確率分布である。ベータ分布（α，β）は、以下の式（２）により表される。
【００６９】
【数２】
2019200487.tif 000004
【００７０】
ベータ分布の密度関数ｆ（ｘ）（積分すると１）は式（３）で示され、ベータ分布の平均μは式（４）で示される。
【００７１】
【数３】
2019200487.tif 000005
【００７２】
【数４】
2019200487.tif 000006
【００７３】
ベータ関数Ｂ（α，β）により事後分布を定義したベイズ推定を用いると、図１５に示すように、各従業員の食堂食事数の事後分布が算出される。一様分布の事前分布、シェフリーズの事前分布、ホールデンの事前分布によってα、βの値が異なるため、いずれの事前分布を仮定するかによって事後分布は異なる。各従業員の事後分布を合計することで、３人の従業員についての食堂食事数の予測値が算出される。ベイズ推定を行った場合、補正部２３による補正を行わなくてもよいが、補正部２３による補正を行ってもよい。
【００７４】
なお、上記実施形態においては、個人ＩＤを従業員証から取得したが、他のカードから取得してもよい。例えば、施設が一般の飲食店である場合、食堂で利用可能なポイントカードなどから個人ＩＤを取得してもよい。また、支払い時に用いた従業員証以外のカードから読み出した情報に基づいて個人ＩＤを特定してもよい。
上述した実施形態では、サービスが食堂における食事の提供である場合を例に説明したが、サービスは任意の物品の販売でもよく、物品の販売を伴わないサービスでもよい。
【００７５】
以上説明した少なくともひとつの実施形態によれば、予測モデル作成部を持つことにより、食堂が提供する食事数を予測することができる。食堂における食事数を予測することにより、廃棄食材の低減や調理作業負荷の低減につながる可能性がある。
【００７６】
上述した食事数予測装置１、２の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７８】
１…食事数予測装置、２…食事数予測装置、１１…予測モデル作成部、１２…利用率算出部、１３…食事数算出部、２１‥分類予測モデル作成部、２２…食事数算出部、２４…補正部、１１１…取得部、１１２…複数モデル作成部、１１３…選択部、２１１…分類部、２１２…個人分類モデル作成部、２１３…全体分類モデル作成部、２１４…全体回帰モデル作成部、２２１…個人分類モデル適用部、２２２…個人利用率モデル適用部、２２３…全体分類モデル適用部、２２４…利用率算出部、２２５…従業員証不使用食事数算出部、２２６…加算部
【図１】
2019200487.tif 000007
【図２】
2019200487.tif 000008
【図３】
2019200487.tif 000009
【図４】
2019200487.tif 000010
【図５】
2019200487.tif 000011
【図６】
2019200487.tif 000012
【図７】
2019200487.tif 000013
【図８】
2019200487.tif 000014
【図９】
2019200487.tif 000015
【図１０】
2019200487.tif 000016
【図１１】
2019200487.tif 000017
【図１２】
2019200487.tif 000018
【図１３】
2019200487.tif 000019
【図１４】
2019200487.tif 000020
【図１５】
2019200487.tif 000021