(57)【要約】【課題】論理的整合性の条件を満たす線形モデルのパラメータを効率的に推定する。【解決手段】複数の選択主体の各々が、ある時刻において複数の選択対象のいずれかを選択するものとして、時刻ｔにおいて選択対象ｍを選択した動作主体の数Ｎｍ，ｔと、そのときの環境に対応した特徴量Ｔｍ，ｔとの組の集合からなる観測データから、各時刻ｔ（ｔ＝１，２，・・・，Ｔ）において各選択対象ｍ（ｍ＝１，２，・・・，Ｍ）を選択する確率Ａｍ，ｔを表す線形モデルのモデルパラメータを繰り返し推定する推定手段を有することを特徴とする。【選択図】図３
2019087146.tif 000002
【特許請求の範囲】
【請求項１】
複数の選択主体の各々が、ある時刻において複数の選択対象のいずれかを選択するものとして、
時刻ｔにおいて選択対象ｍを選択した動作主体の数Ｎｍ，ｔと、そのときの環境に対応した特徴量Ｔｍ，ｔとの組の集合からなる観測データから、各時刻ｔ（ｔ＝１，２，・・・，Ｔ）において各選択対象ｍ（ｍ＝１，２，・・・，Ｍ）を選択する確率Ａｍ，ｔを表す線形モデルのモデルパラメータを繰り返し推定する推定手段を有することを特徴とするパラメータ推定装置。
【請求項２】
前記モデルパラメータは、第１のパラメータαｍと第２のパラメータβｍであり、
前記線形モデルは、αｍとβｍ・Ｔｍ，ｔとの線形結合又は０のうちいずれか大きい値をとるモデルであり、
前記推定手段は、前記観測データに基づいて計算される前記線形モデルの対数尤度が大きくなるように、前記モデルパラメータを繰り返し更新することを特徴とする請求項１記載のパラメータ推定装置。
【請求項３】
前記推定手段は、
前記対数尤度のうち、前記第１のパラメータαｍと前記第２のパラメータβｍに依存する項のみからなる関数を目的関数として、
前記線形モデルの前記第１のパラメータαｍの候補と前記第２のパラメータβｍの候補とを生成する候補生成手段と、
前記観測データと、前記候補生成手段により生成された前記第１のパラメータαｍの候補および前記第２のパラメータβｍの候補とに基づいて、前記目的関数の値である適合度と、前記目的関数の勾配ベクトルとを計算する適合度計算手段と、
前記適合度計算手段により計算された前記適合度に基づいて、前記第１のパラメータαｍおよび前記第２のパラメータβｍを更新するか否かを判定する第１の判定手段と、
前記第１の判定手段により前記第１のパラメータαｍおよび前記第２のパラメータβｍを更新すると判定された場合、前記候補生成手段により生成された前記第１のパラメータαｍの候補の値および前記第２のパラメータβｍの候補の値により、前記第１のパラメータαｍと前記第２のパラメータβｍとをそれぞれ更新する更新手段と、
所定の終了条件を満たすか否かを判定する第２の判定手段と、
を有し、
前記第２の判定手段により前記終了条件を満たしていると判定されるまで、前記候補生成手段による前記第１のパラメータαｍの候補と前記第２のパラメータβｍの候補との生成と、前記適合度計算手段による前記適合度及び前記勾配ベクトルの計算と、前記第１の判定手段による判定と、前記更新手段による前記第１のパラメータαｍと前記第２のパラメータβｍとの更新とを繰り返すものとして、前記候補生成手段は、直前に実行された前記適合度計算手段により計算された勾配ベクトルに基づいて、前記第１のパラメータαｍと前記第２のパラメータβｍとをそれぞれ補正することにより前記第１のパラメータαｍの候補と前記第２のパラメータβｍの候補を生成する、
ことを特徴とする請求項２に記載のパラメータ推定装置。
【請求項４】
前記選択対象は遊園地のアトラクションであり、
前記選択主体は人であり、
前記Ｔｍ，ｔは前記遊園地のアトラクションｍの時刻ｔにおける待ち時間であることを特徴とする請求項１乃至３の何れか一項に記載のパラメータ推定装置。
【請求項５】
前記推定手段は、前記推定されたαｍの値が大きいほどアトラクションの魅力が高いことを示す指標値を出力することを特徴とする請求項４記載のパラメータ推定装置。
【請求項６】
複数の選択主体の各々が、ある時刻において複数の選択対象のいずれかを選択するものとして、
時刻ｔにおいて選択対象ｍを選択した動作主体の数Ｎｍ，ｔと、そのときの環境に対応した特徴量Ｔｍ，ｔとの組の集合からなる観測データから、各時刻ｔ（ｔ＝１，２，・・・，Ｔ）において各選択対象ｍ（ｍ＝１，２，・・・，Ｍ）を選択する確率Ａｍ，ｔを表す線形モデルのモデルパラメータを繰り返し推定する推定手順をコンピュータが実行することを特徴とするパラメータ推定方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか一項に記載のパラメータ推定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ推定装置、パラメータ推定方法及びプログラムに関する。
【背景技術】
【０００２】
人間が選択する行動を予測することは難しいが、これまで種々の研究が行われている。例えば、観測データを用いて何等かの数学的な確率モデルを仮定して、この確率モデルの振る舞いから人間が選択する行動を予測することが研究されている。このような確率モデルは、パラメータによって、その振る舞いが決定される。なお、行動を選択する主体は人間に限られず、例えば動物等であっても良い。以降では、行動を選択する主体は、一例として、人間であるものとする。
【０００３】
有限個の選択肢の中から或る選択肢を選択するという行動について、何れかの選択肢を必ず選択するという条件の下では、全ての選択肢の選択確率の和が１になるという制約条件がある。また、全ての選択肢の選択確率が非負であるという制約条件がある。これら２つの制約条件を満たす確率モデルとして、ＭＣＩモデルとＭＮＬ（Multinomial Logit：多項ロジット）モデルとが知られている（例えば非特許文献１参照）。
【０００４】
これら２つの制約条件は、論理的整合性の条件とも呼ばれている。この論理的整合性の条件は、同じ選択確率に従って選択行動をする人数がＮ人である場合に、選択肢ｍを選択した人数Ｎｍの和はＮであり、かつ、各選択肢ｍに対してＮｍ≧０である、と言い換えることができる。
【０００５】
また、ＭＣＩモデル及びＭＮＬモデルについて、観測値からパラメータを推定する方法が非特許文献１に開示されている。一方で、非特許文献１には線形モデルも開示されているが、線形モデルは論理的整合性の条件を満たさないため不適切な確率モデルとされている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Cooper, Lee G., and Masako Nakanishi. Market-share analysis: Evaluating competitive marketing effectiveness. Vol. 1. Springer Science & Business Media, 1989.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ＭＮＬモデルでは、選択した人数Ｎｍが０人の選択肢ｍが存在する場合、パラメータの推定が困難となる。これは、パラメータ推定するためにｌｏｇＮｍを計算する必要があるためである。しかしながら、例えば遊園地等でアトラクションｍを選択する人数をＮｍとしたとき、遊園地等では人気のアトラクションの受付を閉園前に打ち切る場合もあり、このような場合には観測データの中にＮｍ＝０となるデータが含まれることになる。このため、確率モデルのパラメータを推定することができない場合がある。
【０００８】
また、ＭＣＩモデルやＭＮＬモデルでは、パラメータに物理的な意味がない。このため、パラメータの解釈や調整が難しいという問題がある。
【０００９】
これらに対して、線形モデルはｌｏｇＮｍを計算する必要がないため、ＭＮＬモデルで用いることができない観測データであってもパラメータの推定が可能である。また、パラメータの解釈や調整も容易である。しかしながら、上述したように、線形モデルは、論理的整合性の条件を満たないという問題がある。また、線形モデルの論理的整合性の条件を満たすパラメータを効率的に推定する方法は知られていない。
【００１０】
本発明は、上記の点に鑑みてなされたものであって、論理的整合性の条件を満たす線形モデルのパラメータを効率的に推定することを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明の実施の形態では、複数の選択主体の各々が、ある時刻において複数の選択対象のいずれかを選択するものとして、時刻ｔにおいて選択対象ｍを選択した動作主体の数Ｎｍ，ｔと、そのときの環境に対応した特徴量Ｔｍ，ｔとの組の集合からなる観測データから、各時刻ｔ（ｔ＝１，２，・・・，Ｔ）において各選択対象ｍ（ｍ＝１，２，・・・，Ｍ）を選択する確率Ａｍ，ｔを表す線形モデルのモデルパラメータを繰り返し推定する推定手段を有することを特徴とする。
【発明の効果】
【００１２】
論理的整合性の条件を満たす線形モデルのパラメータを効率的に推定することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態におけるパラメータ推定装置の構成の一例を示す図である。
【図２】本発明の実施の形態におけるパラメータ推定装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態におけるパラメータ推定装置の機能構成の一例を示す図である。
【図４】本発明の実施の形態におけるパラメータ推定装置が実行する学習処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を参照しながら説明する。以降では、論理的整合性の条件を満たすように線形モデルを拡張した確率モデルのパラメータを推定するパラメータ推定装置１０について説明する。
【００１５】
＜パラメータ推定装置１０の構成＞
まず、本発明の実施の形態におけるパラメータ推定装置１０の構成について、図１を参照しながら説明する。図１は、本発明の実施の形態におけるパラメータ推定装置１０の構成の一例を示す図である。
【００１６】
図１に示すパラメータ推定装置１０は、論理的整合性の条件を満たすように線形モデルを拡張した確率モデル（以降では、この確率モデルを「多項線形モデル」とも表す。）のパラメータを推定するコンピュータ又はコンピュータシステムである。図１に示すパラメータ推定装置１０には、パラメータ推定プログラム１００がインストールされている。パラメータ推定プログラム１００は、１つのプログラムであっても良いし、複数のプログラム又はモジュールで構成されるプログラム群であっても良い。
【００１７】
図１に示すパラメータ推定装置１０は、パラメータ推定プログラム１００が実行する処理によって、多項線形モデルのパラメータを推定する。
【００１８】
ここで、以降では、具体例として、遊園地においてアトラクションを選択する人数を予測する多項線形モデルのパラメータを推定する場合について説明する。
【００１９】
来園者はアトラクションの待ち時間を見て、次に乗るアトラクションを選択するものとする。時刻ｔにおいて、アトラクションｍを選択した人数をＮｍ，ｔとする。また、時刻ｔにおいて、アトラクションｍの待ち時間をＴｍ，ｔとする。
【００２０】
ｍ及びｔの異なる組み合わせ毎に実際に観測したアトラクションｍの選択人数Ｎｍ，ｔと待ち時間Ｔｍ，ｔとの組（Ｎｍ，ｔ，Ｔｍ，ｔ）の集合（Ｎ，Ｔ）を入力データとして確率モデル（多項線形モデル）を学習することにより、この確率モデルによって、未知のＴｍ，ｔのときのアトラクションｍの選択割合（Ｎｍ，ｔ／ΣｍＮｍ，ｔ）を予測できるようにしたい。そこで、本発明の実施の形態におけるパラメータ推定装置１０は、入力データ（Ｎ，Ｔ）＝｛（Ｎｍ，ｔ，Ｔｍ，ｔ）｝から、各アトラクションｍの選択割合Ｎｍ，ｔ／ΣｍＮｍ，ｔを予測するためのパラメータαｍ及びβｍを推定する。
【００２１】
＜多項線形モデル＞
本実施形態では、非特許文献１に開示されている線形モデルを非負に拡張することで、論理的整合性の条件を満たす多項線形モデルを定義する。すなわち、多項線形モデルＡｍ，ｔを以下の式１により定義する。
【００２２】
【数１】
2019087146.tif 000003
要するに、式１の線形モデルは、特徴量（Ｔｍ，ｔ）と定数項との線形結合又は０のうちいずれか大きい値をとるモデルである。ここで、Ｔｍ，ｔは時刻ｔにおけるアトラクションｍの待ち時間である。αｍは時刻に依存しないアトラクションの選択確率、いわば、アトラクションの魅力の程度を示す指標であり、Ｔｍ，ｔは時刻ｔにおいてアトラクションｍを選択するか否かの決定に影響を及ぼすアトラクションそのもの以外の要因、すなわち環境的な要因であり、言い換えれば、時刻ｔにおけるアトラクションｍの周辺の環境に対応した特徴量である。
【００２３】
このとき、αｍ及びβｍの組がパラメータ推定装置１０により推定されるパラメータである。
【００２４】
また、時刻ｔでアトラクションｍを選択する確率をθｍ，ｔを以下の式２により定義する。
【００２５】
【数２】
2019087146.tif 000004
ただし、
【００２６】
【数３】
2019087146.tif 000005
のときは、θｍ，ｔ＝０（すなわち、アトラクションを選択しない）とする。
【００２７】
＜多項線形モデルのパラメータの解釈＞
上記の式１で定義した多項線形モデルは、ＭＮＬ（多項ロジット）モデルと比較してパラメータの解釈が容易である。具体的には、上記の式１で定義した多項線形モデルのパラメータαｍは、待ち時間が０のときのアトラクションｍの選択確率を表す。また、αｍ／βｍは、アトラクションｍの待ち時間の許容できる限界（許容限界）を表す。このため、Ｔｍ，ｔ≧αｍ／βｍのときは、当該アトラクションｍが選択されないと判断できる。
【００２８】
＜多項線形モデルのパラメータの学習＞
次に、上記の式１で定義した多項線形モデルのパラメータを効率的に学習する方法について説明する。
【００２９】
上記の式１の定義により、選択確率θｍ，ｔ≧０であるため、Ａｍ，ｔ≧０という制約条件の下で、勾配ベクトルを求めれば良い。制約条件は以下の式３で表される。
【００３０】
【数４】
2019087146.tif 000006
ただし、
【００３１】
【数５】
2019087146.tif 000007
である。
【００３２】
対数尤度Ｌは、以下の式４で表される。
【００３３】
【数６】
2019087146.tif 000008
ただし、
【００３４】
【数７】
2019087146.tif 000009
とする。
【００３５】
多項線形モデルの場合、対数尤度Ｌは以下の式５で表される。
【００３６】
【数８】
2019087146.tif 000010
ただし、上記の式３の制約条件を満たすために、Ａｍ，ｔ≦０となる項を除いて和を計算する（このことは以降も同様である。）。ここで、対数尤度Ｌのうちのパラメータαｍ及びβｍに依存する項だけを目的関数Ｌとすると、目的関数Ｌは、以下の式６で表される。
【００３７】
【数９】
2019087146.tif 000011
この目的関数Ｌをαｊで偏微分すると、以下の式７となる。
【００３８】
【数１０】
2019087146.tif 000012
また、目的関数Ｌをβｊで偏微分すると、以下の式８となる。
【００３９】
【数１１】
2019087146.tif 000013
パラメータの学習は、適当な初期値から開始して、上記の式６で表される目的関数（以下、「適合度」とも表す。）Ｌを最大化するようにαｍ及びβｍを学習すれば良い。すなわち、所定の終了条件を満たすまで、上記の式７及び式８で表される勾配ベクトルに応じてパラメータαｍ及びβｍを更新することを繰り返すことで、パラメータを学習する。言い換えれば、上記の式６で表される目的関数を、上記の式３で表される制約条件の下に最大化する最適化問題を解くことで、パラメータαｍ及びβｍを推定する。
【００４０】
学習処理のアルゴリズムは、一般的な関数の最大化の手順を用いることができる。例えば、「Byrd, R. H.; Lu, P.; Nocedal, J.; Zhu, C. (1995). "A Limited Memory Algorithm for Bound Constrained Optimization". SIAM J. Sci. Comput. 16 (5): p1190 - p1208」に開示されているＬ−ＢＦＧＳ−Ｂや、「Kraft, D. A software package for sequential quadratic programming. (1988). Tech. Rep. DFVLR-FB 88-28, DLR German Aerospace Center Institute for Flight Mechanics, Koeln, Germany.」に開示されているＳｅｑｕｅｎｔｉａｌ  Ｑｕａｄｒａｔｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ法等を用いることができる。
【００４１】
＜パラメータ推定装置１０のハードウェア構成＞
次に、本発明の実施の形態におけるパラメータ推定装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本発明の実施の形態におけるパラメータ推定装置１０のハードウェア構成の一例を示す図である。
【００４２】
図２に示すパラメータ推定装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、補助記憶装置１８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００４３】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、パラメータ推定装置１０の処理結果を表示する。なお、パラメータ推定装置１０は、入力装置１１及び表示装置１２の少なくとも一方を有していなくても良い。
【００４４】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。パラメータ推定装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａ等の読み取りや書き込みを行うことができる。記録媒体１３ａには、パラメータ推定プログラム１００等が記録されていても良い。
【００４５】
記録媒体１３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００４６】
ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００４７】
ＣＰＵ１６は、ＲＯＭ１５や補助記憶装置１８等からプログラムやデータをＲＡＭ１４上に読み出して処理を実行する演算装置である。
【００４８】
通信Ｉ／Ｆ１７は、パラメータ推定装置１０を通信ネットワークに接続するためのインタフェースである。パラメータ推定プログラム１００は、通信Ｉ／Ｆ１７を介して、所定のサーバ装置等から取得（ダウンロード）されても良い。
【００４９】
補助記憶装置１８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム、パラメータ推定プログラム１００等がある。
【００５０】
本発明の実施の形態におけるパラメータ推定装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００５１】
＜パラメータ推定装置１０の機能構成＞
次に、本発明の実施の形態におけるパラメータ推定装置１０の機能構成について、図３を参照しながら説明する。図３は、本発明の実施の形態におけるパラメータ推定装置１０の機能構成の一例を示す図である。
【００５２】
図３に示すパラメータ推定装置１０は、推定部１１０と、記憶部１２０とを有する。推定部１１０は、パラメータ候補生成部１１１と、適合度計算部１１２と、パラメータ更新部１１３と、終了条件判定部１１４とで構成される。推定部１１０は、パラメータ推定プログラム１００がＣＰＵ１６に実行させる処理により実現される。記憶部１２０は、例えば補助記憶装置１８を用いて実現可能である。なお、記憶部１２０は、例えば、パラメータ推定装置１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００５３】
パラメータ候補生成部１１１は、パラメータαｍ及びβｍの候補値であるパラメータ候補αｍ´及びβｍ´を生成する。学習処理の初回実行時には、パラメータ候補生成部１１１は、予め決められた初期値が設定されたパラメータ候補αｍ´及びβｍ´を生成する。一方で、学習処理の２回目以降の実行時には、パラメータ候補生成部１１１は、記憶部１２０に記憶されているパラメータαｍ及びβｍと、後述する適合度計算部１１２により計算された勾配ベクトル∂Ｌ／∂αｍ及び∂Ｌ／∂βｍとを入力して、パラメータ候補αｍ´及びβｍ´を生成する。
【００５４】
より具体的には、パラメータ候補生成部１１１は、パラメータαｍを勾配ベクトル∂Ｌ／∂αｍに応じた値だけ増減させることでパラメータ候補αｍ´を生成し、パラメータβｍを勾配ベクトル∂Ｌ／∂βｍに応じた値だけ増減させることでパラメータ候補βｍ´を生成する。より詳細には、「Byrd, R. H.; Lu, P.; Nocedal, J.; Zhu, C. (1995). "A Limited Memory Algorithm for Bound Constrained Optimization". SIAM J. Sci. Comput. 16 (5): p1190 - p1208」及び「Kraft, D. A software package for sequential quadratic programming. (1988). Tech. Rep. DFVLR-FB 88-28, DLR German Aerospace Center Institute for Flight Mechanics, Koeln, Germany.」を参照されたい。
【００５５】
適合度計算部１１２は、入力データ（Ｎ，Ｔ）＝｛（Ｎ１，１，Ｔ１，１），・・・，（Ｎ１，Ｔ，Ｔ１，Ｔ），・・・，（Ｎｍ，１，Ｔｍ，１），・・・，（Ｎｍ，Ｔ，Ｔｍ，Ｔ）｝と、パラメータ候補生成部１１１により生成されたパラメータ候補αｍ´及びβｍ´とを入力して、上記の式６により適合度Ｌを計算する。ここで、式６のαｍ及びβｍは、パラメータ候補αｍ´及びβｍ´の値を用いる。
また、適合度計算部１１２は、上記の式７及び式８により、次の繰り返しにおけるパラメータ候補の生成に用いるための勾配ベクトル∂Ｌ／∂αｍ及び∂Ｌ／∂βｍを計算する。
【００５６】
パラメータ更新部１１３は、適合度計算部１１２により計算された適合度Ｌと、パラメータ候補生成部１１１により生成されたパラメータ候補αｍ´及びβｍ´と、勾配ベクトル∂Ｌ／∂αｍ及び∂Ｌ／∂βｍとを入力して、当該適合度Ｌが、記憶部１２０に記憶されている最大適合度Ｌｍａｘよりも大きいか否かを判定する。
【００５７】
そして、適合度Ｌが最大適合度Ｌｍａｘよりも大きいと判定した場合、パラメータ更新部１１３は、記憶部１２０に記憶されている最大適合度Ｌｍａｘの値を当該適合度Ｌの値に更新すると共に、記憶部１２０に記憶されているパラメータαｍ及びβｍの値をパラメータ候補αｍ´及びβｍ´の値にそれぞれ更新する。一方で、適合度Ｌが最大適合度Ｌｍａｘよりも大きくないと判定した場合、パラメータ更新部１１３は、何も行わない。なお、学習処理の初回実行時には、パラメータ更新部１１３は、入力した適合度Ｌを最大適合度Ｌｍａｘとして記憶部１２０に記憶させると共に、入力したパラメータ候補αｍ´及びβｍ´を記憶部１２０に記憶させる。
【００５８】
終了条件判定部１１４は、所定の終了条件を満たすか否かを判定する。所定の終了条件としては、例えば、適合度Ｌの向上が予め設定した閾値以下となる（言い換えれば、適合度Ｌの変化量が閾値以下に収束する）、所定の繰り返し回数に達する等である。
【００５９】
なお、適合度の向上が予め設定した閾値以下となることを終了条件とする場合には、パラメータ更新部１１３は、最大適合度Ｌｍａｘを更新する前に、入力された適合度Ｌと、記憶部１２０に記憶されている（更新前の）最大適合度Ｌｍａｘとの差を計算し、その計算結果を終了条件判定部１１４に出力する。これにより、終了条件判定部１１４は、入力された計算結果（適合度Ｌと、（更新前の）最大適合度Ｌｍａｘとの差）の絶対値が所定の閾値以下となったか否かを判定することができる。
【００６０】
また、所定の繰り返し回数に達することを終了条件とする場合には、例えば、学習処理の繰り返し回数をカウントするカウンタを保持しておけば良い。これにより、終了条件判定部１１４は、カウンタの値が所定の閾値以上となったか否かを判定することができる。
【００６１】
＜パラメータ推定装置１０が実行する学習処理＞
次に、本発明の実施の形態におけるパラメータ推定装置１０が実行する学習処理について、図４を参照しながら説明する。図４は、本発明の実施の形態におけるパラメータ推定装置１０が実行する学習処理の一例を示すフローチャートである。以降では、学習処理の繰り返し回数ｎとして、ｎ＝１から開始するものとする。
【００６２】
ステップＳ１０１：ｎ＝１（すなわち、初回実行）である場合、パラメータ候補生成部１１１は、予め決められた初期値が設定されたパラメータ候補αｍ´及びβｍ´を生成する。
【００６３】
また、ｎ≧２（すなわち、２回目以降の実行）である場合、パラメータ候補生成部１１１は、記憶部１２０に記憶されているパラメータαｍ及びβｍと、前回の実行時において適合度計算部１１２により計算された勾配ベクトル∂Ｌ／∂αｍ及び∂Ｌ／∂βｍとを入力して、パラメータ候補αｍ´及びβｍ´を生成する。
【００６４】
ステップＳ１０２：適合度計算部１１２は、入力データ（Ｎ，Ｔ）と、上記のステップＳ１０１で生成されたパラメータ候補αｍ´及びβｍ´とを入力して、上記の式６により適合度Ｌを計算する。また、適合度計算部１１２は、上記の式７及び式８により、次の繰り返しにおけるパラメータ候補の生成に用いるための勾配ベクトル∂Ｌ／∂αｍ及び∂Ｌ／∂βｍを計算する。
【００６５】
ステップＳ１０３：ｎ＝１である場合、パラメータ更新部１１３は、上記のステップＳ１０２で計算された適合度Ｌと、上記のステップＳ１０１で生成されたパラメータ候補αｍ´及びβｍ´とを入力して、入力した適合度Ｌを最大適合度Ｌｍａｘとして記憶部１２０に記憶させると共に、入力したパラメータ候補αｍ´及びβｍ´を記憶部１２０に記憶させる。
【００６６】
また、ｎ≧２である場合、パラメータ更新部１１３は、上記のステップＳ１０２で計算された適合度Ｌと、上記のステップＳ１０１で生成されたパラメータ候補αｍ´及びβｍ´とを入力して、当該適合度Ｌが、記憶部１２０に記憶されている最大適合度Ｌｍａｘよりも大きいか否かを判定する。
【００６７】
そして、適合度Ｌが最大適合度Ｌｍａｘよりも大きいと判定した場合、パラメータ更新部１１３は、記憶部１２０に記憶されている最大適合度Ｌｍａｘの値を当該適合度Ｌの値に更新すると共に、記憶部１２０に記憶されているパラメータαｍ及びβｍの値をパラメータ候補αｍ´及びβｍ´の値にそれぞれ更新する。一方で、適合度Ｌが最大適合度Ｌｍａｘよりも大きくないと判定した場合、パラメータ更新部１１３は、何も行わない。
【００６８】
ステップＳ１０４：終了条件判定部１１４は、所定の終了条件を満たすか否かを判定する。
【００６９】
そして、所定の終了条件を満たすと判定された場合、パラメータ推定プログラム１００は、学習処理を終了する。学習処理の終了時に記憶部１２０に記憶されているパラメータ候補αｍ´及びβｍ´が、多項線形モデルのパラメータαｍ及びβｍである。これにより、多項線形モデルのパラメータαｍ及びβｍのパラメータが推定される。
【００７０】
一方で、所定の終了条件を満たさないと判定された場合、パラメータ推定プログラム１００は、ｎに１を加算した上で、ステップＳ１０１に戻る。これにより、所定の終了条件を満たすまで、上記のステップＳ１０１〜ステップＳ１０３の処理が繰り返し実行される。
【００７１】
以上により、本発明の実施の形態におけるパラメータ推定装置１０は、論理的整合性の条件を満たすように線形モデルを拡張した確率モデル（多項線形モデル）のパラメータを効率的に推定することができる。この推定されたパラメータに基づいて、例えば、アトラクションｍの選択確率θｍ，ｔやアトラクションｍの許容限界を推定することができる。これにより、例えば、αｍが大きいほど魅力的なアトラクションであることが推定できるようになったり、許容限界を考慮してアトラクションの設計・運用を改善したりすることが可能となる。例えば、推定部１１０において、パラメータ候補生成部１１１と、適合度計算部１１２と、パラメータ更新部１１３と、終了条件判定部１１４とにより推定されたαｍが大きいほどアトラクションｍの魅力が高いことを示す指標値を出力したり、アトラクションｍの選択確率θｍ，ｔを出力したり、アトラクションｍの許容限界を出力したりする構成としても良い。
【００７２】
＜変形例＞
本実施形態では、具体例として、来園者がアトラクションを選択する場合について説明したが、これに限られない。本発明は、アトラクションの選択に限られず、複数の選択対象の中の何れかを選択する行動の予測に用いる確率モデル（多項線形モデル）に一般的に適用できる。
【００７３】
例えば、アトラクションの代わりに「商品」とすれば、店頭の商品の選択を予測する確率モデルにも適用可能である。商品選択のように待ち時間よりも価格に基づいて選択する場合は、Ｔｍ，ｔを「価格」とすれば良い。「待ち時間」や「価格」等の変数がない場合にはＴｍ，ｔを含む項を省略すれば良い。他にも、例えば、株式の購入行動を予測する場合には、アトラクションの代わりに「株式の銘柄」とすれば良い。これら以外にも、例えば、飲食店におけるメニューの選択等、複数の選択対象の中から何れかを選択する行動を予測する確率モデルに対して適用可能である。
【００７４】
要するに、本発明の多項線形モデルは、複数の選択主体の各々が、ある時刻において複数の選択対象のいずれかを選択するものとして、時刻ｔにおいて選択対象ｍを選択した動作主体の数Ｎｍ，ｔと、そのときの環境に対応した特徴量Ｔｍ，ｔとの組の集合からなる観測データから、各時刻ｔ（ｔ＝１，２，・・・，Ｔ）において各選択対象ｍ（ｍ＝１，２，・・・，Ｍ）を選択する確率θｍ，ｔを表す線形モデルを仮定し、このモデルのモデルパラメータを推定すれば良い。
【００７５】
このように、各時刻（定数でも良い）における各選択対象の選択人数（又は選択回数）の観測データの集合が用意できるものであれば、本発明を適用した予測が可能である。したがって、本発明によれば、これまでＭＮＬモデルやＭＣＩモデルが適用できなかったデータに対しても、人間の選択行動のモデルを構築することができるようになり、例えばマーケティング分野等における予測に活用することができる。
【００７６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７７】
１０        パラメータ推定装置
１００      パラメータ推定プログラム
１１０      推定部
１１１      パラメータ候補生成部
１１２      適合度計算部
１１３      パラメータ更新部
１１４      終了条件判定部
１２０      記憶部
【図１】
2019087146.tif 000014
【図２】
2019087146.tif 000015
【図３】
2019087146.tif 000016
【図４】
2019087146.tif 000017