(57)【特許請求の範囲】
【請求項１】
入力された時系列データに適合する時系列モデルを判定するモデル判定装置であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する複数の丸め単位を決定し、丸め単位毎に、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理手段と、
丸め単位毎に、前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定手段と、
丸め単位毎に、前記時系列モデル推定手段により推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用手段とを備え、
適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力する
ことを特徴とするモデル判定装置。
【請求項２】
前記時系列モデル推定手段において、前記丸め処理後の時系列データが非定常であると判定された場合において、当該丸め処理後の時系列データに対して、時系列変換を実行する時系列変換手段を備え、
前記時系列変換が実行された場合に、前記時系列モデル推定手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル推定処理を実行し、前記時系列モデル適用手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル適用処理を実行する
ことを特徴とする請求項１に記載のモデル判定装置。
【請求項３】
前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合の中から、前記時系列データに適用する丸め単位を抽出する
ことを特徴とする請求項１又は２に記載のモデル判定装置。
【請求項４】
前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合と、前記サンプリング間隔に対して予め定められた丸め単位候補集合との論理積により得られる丸め単位を、前記時系列データに適用する丸め単位として抽出する
ことを特徴とする請求項３に記載のモデル判定装置。
【請求項５】
前記時系列モデル適用手段により決定されたパラメータを持つ時系列モデルを使用して将来予測を実行する予測手段と、
前記予測手段により得られた予測値と、実測値とを比較することにより、異常検知を行う異常判定手段と
を備えることを特徴とする請求項１ないし４のうちいずれか１項に記載のモデル判定装置。
【請求項６】
入力された時系列データに適合する時系列モデルを判定するモデル判定装置が実行するモデル判定方法であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する複数の丸め単位を決定し、丸め単位毎に、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理ステップと、
丸め単位毎に、前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定ステップと、
丸め単位毎に、前記時系列モデル推定ステップにより推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用ステップと、
適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力するステップと
を備えることを特徴とするモデル判定方法。
【請求項７】
コンピュータを、請求項１ないし５のうちいずれか１項に記載のモデル判定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された時系列データに適合した時系列モデルを決定する技術に関連するものである。
【背景技術】
【０００２】
時系列データの特性を計算する手法や、時系列データを再現するための時系列モデルについては古くから研究がされており、様々なものが考案されている。また、時系列データ解析用の関数を提供するアプリケーションがデータ解析用に広く使用されている。
【０００３】
このようなアプリケーションを使用することで、比較的簡単に時系列データの特性の計算を行うことができる。また、時系列データと任意の次数を時系列モデルの関数に入力すると、時系列データとの適合具合を計算することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平07-114531号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
時系列データに適合した時系列モデルを決定することを、以下で説明するとおり、従来は人（分析者）の判断により行っていた。
【０００６】
具体的には、時系列データの特性（周期性（季節性）の有無、トレンドの有無、定常性、自己相関関数の形、偏自己相関関数の形等）によって適用できる時系列モデルが決まるため、分析者は、時系列データの特性を計算し、周期性（季節性）の有無や自己相関関数のグラフの形状などを目で見て判断し、適応する時系列モデルを選択する。
【０００７】
また、時系列データが例えば指数関数的に増加している場合は、時系列データを対数変換して対数系列を作る前処理を行わなければ、適用できる時系列モデルが存在しない場合がある。また、時系列データが周期的な変動を示している場合は、時系列データを差分変換して差分系列を作る方が、より適合度の良い時系列モデルを決定できる場合がある。このように、時系列データに変換を加える必要性についても、時系列データのグラフの形状を分析者の目で見て判断することが多い。
【０００８】
時系列データはノイズが多く含まれる場合や、サンプリング間隔にばらつきがある場合があり、ある時間単位でデータを丸めて入力データを作る必要がある。丸め単位を長くするとノイズの影響が小さくなり、適合度の高い時系列モデルが得られる一方、長くしすぎると時系列モデル化によって得たい時系列データの特性が消えてしまう他、予測粒度が荒くなるという問題もある。よって、ノイズの影響を受けない、適合度の高い時系列モデルを得るためには、長くも短くもない最適な丸め単位を決めることが重要である。また、データの丸め単位によって、時系列データの特性が変わるため、適応する時系列モデルが変わる。そのため、現状では最もよく時系列データに合う時系列モデルを作成するために、分析者がデータの丸め単位と適応する時系列モデルを試行錯誤しながら計算する必要があり、非常に手間暇がかかる。
【０００９】
上記のように、時系列データに適合した時系列モデルを決定するモデル化の作業は、難しい作業であり、時間がかかるものである。
【００１０】
本発明は上記の点に鑑みてなされたものであり、時系列データに適合する時系列モデルを複数の丸め単位で決定し、適合度で比較することを、容易に可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の実施の形態によれば、入力された時系列データに適合する時系列モデルを判定するモデル判定装置であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する複数の丸め単位を決定し、丸め単位毎に、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理手段と、
丸め単位毎に、前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定手段と、
丸め単位毎に、前記時系列モデル推定手段により推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用手段とを備え、
適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力する
ことを特徴とするモデル判定装置が提供される。
【００１２】
また、本発明の実施の形態によれば、入力された時系列データに適合する時系列モデルを判定するモデル判定装置が実行するモデル判定方法であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する複数の丸め単位を決定し、丸め単位毎に、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理ステップと、
丸め単位毎に、前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定ステップと、
丸め単位毎に、前記時系列モデル推定ステップにより推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用ステップと、
適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力するステップと
を備えることを特徴とするモデル判定方法が提供される。
【発明の効果】
【００１３】
本発明の実施の形態によれば、時系列データに適合する時系列モデルを複数の丸め単位で決定し、適合度で比較することを、容易に可能とする技術が提供される。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態におけるモデル判定装置１００の機能構成図である。
【図２】モデル判定装置１００の全体の処理手順を示すフローチャートである。
【図３】データ期間分析・丸め処理を説明するための図である。
【図４】データ期間分析・丸め処理を説明するための図である。
【図５】データ期間分析・丸め処理を説明するための図である。
【図６】データ期間分析・丸め処理の手順を示すフローチャートである。
【図７】時系列モデル推定処理の手順を示すフローチャートである。
【図８】時系列モデル推定処理の手順を示すフローチャートである。
【図９】自己相関のグラフの例を示す図である。
【図１０】時系列変換処理の手順を示すフローチャートである。
【図１１】時系列モデル適用処理の手順を示すフローチャートである。
【図１２】時系列モデル適用処理の手順を示すフローチャートである。
【図１３】時系列モデル比較処理の手順を示すフローチャートである。
【図１４】評価指標のグラフの例を示す図である。
【図１５】モデル判定装置１００の他の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１６】
（装置構成）
図１に、本実施の形態におけるモデル判定装置１００の構成例を示す。図１に示すように、モデル判定装置１００は、入力部１０１、データ記憶部１０２、データ期間分析・丸め処理部１０３、時系列モデル推定部１０４、時系列変換部１０５、時系列モデル適用部１０６、時系列モデル比較部１０７、及び出力部１０８を備える。各部の概要は以下のとおりである。
【００１７】
入力部１０１は、時系列モデル化の対象となる時系列データを入力する。データ記憶部１０２は、入力された時系列データ、各機能部により得られた結果等を格納する。データ期間分析・丸め処理部１０３は、入力された時系列データに適した複数種類の丸め単位を決定し、決定した丸め単位毎に時系列データに対する丸め処理を行う。
【００１８】
時系列モデル推定部１０４は、丸め単位毎に、丸め処理を経た時系列データに適した時系列モデルを推定（決定）する。また、時系列変換部１０５は、時系列モデル推定部１０４において時系列変換処理が必要であると判定された場合に、時系列変換処理を実行する。
【００１９】
時系列モデル適用部１０６は、丸め単位毎・時系列変換毎に得られた時系列データに関し、時系列モデル推定部１０４において決定された時系列モデルについて、パラメータ（係数と次数）を変えながら時系列データとの適合度を計算し、適合度が最良のパラメータを最適なパラメータとして決定する。
【００２０】
時系列モデル比較部１０７は、時系列モデル適用部１０６にて、丸め単位毎・時系列変換毎に決定された最適なパラメータを用いて計算された時系列モデルを、得られた適合度順に並べるとともに、各時系列モデルと時系列データの妥当性を判断するための評価指標を計算し、グラフ化する。更に、時系列モデル比較部１０７は、各時系列モデルによる予測を行う。出力部１０８は、時系列モデル比較部１０７における処理結果（並べられた時系列モデルの情報、グラフ等）を出力する。
【００２１】
本実施の形態に係るモデル判定装置１００（図１、図１５）は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、モデル判定装置１００が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、モデル判定装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００２２】
上記のプログラムは、例えば、各種の統計処理を行う関数（モジュール）の集合を含む。当該関数（モジュール）の集合を提供するアプリケーションとして、本実施の形態では、統計分析ソフトである「Ｒ」を使用しているが、これは例であり、例えば、既存の統計分析ソフトを利用せずに、各関数のプログラムを構築して利用することとしてもよい。
【００２３】
以下、モデル判定装置１００の動作例についてシーケンス図等を参照して説明する。
【００２４】
（全体処理手順）
図２は、モデル判定装置１００により実行される処理の全体の流れを示すフローチャートである。図２に示すように、まず、時系列モデル化の対象となる時系列データが入力部１０１から入力される（ステップＳ１００）。
【００２５】
次に、データ期間分析・丸め処理部１０３が、入力された時系列データに適した複数種類の丸め単位を決定し、決定した丸め単位毎に時系列データに対する丸め処理を行う（ステップＳ２００）。そして、時系列モデル推定部１０４は、丸め単位毎に、丸め処理を経た時系列データに適した時系列モデルを推定する（ステップＳ３００）。また、必要に応じて、時系列変換部１０５が時系列変換処理を実行する（ステップＳ４００）。
【００２６】
続いて、時系列モデル適用部１０６は、丸め単位毎・時系列変換毎に、時系列モデル推定部１０４において決定された時系列モデルについて、パラメータ（係数と次数）を変えながら時系列データとの適合度を計算し、適合度が最良のパラメータを最適なパラメータとして決定する（ステップＳ５００）。
【００２７】
そして、時系列モデル比較部１０７は、丸め単位毎・時系列変換毎に得られた適合度順に、時系列モデルの情報を並べるとともに、各時系列モデルと時系列データの妥当性を判断するための評価指標を計算し、グラフ化し、更に、各時系列モデルによる予測を行い、出力部１０８を介して結果を出力する（ステップＳ６００）。
【００２８】
以下、ステップＳ２００〜Ｓ６００の処理をより詳細に説明する。なお、以下では各種の閾値を使用しているが、当該閾値は例であり、これに限定されるわけではない。
【００２９】
（Ｓ２００：データ期間分析・丸め処理）
本実施の形態では、データ期間分析・丸め処理部１０３が、入力された時系列データのサンプリング間隔とデータの取得期間とから、最大４つ、最少１つの推奨丸め単位を自動で計算し、全ての推奨丸め単位で時系列データの丸め処理を行い、丸め単位毎の時系列データを出力する。
【００３０】
データ期間分析・丸め処理部１０３が実行する丸め処理の方法を図３〜図５を参照して説明する。
【００３１】
図３の中のグラフは、入力される時系列データのイメージを示している。図３に示されるとおり、Ｉはデータのサンプリング間隔を示す。また、Ｌはデータ期間であり、入力データ全体の期間を示す。例えば、１年分のデータであればＬは１年になる。Ｒは丸め単位を示す。データ期間分析・丸め処理部１０３は、時系列データのサンプリング間隔Ｉの平均を求める等して、Ｉを自動的に計算してもよいし、ユーザからＩを入力してもらうこととしてもよい。また、データ期間Ｌについても、時系列データの開始と終了から計算してもよいし、ユーザからＬを入力してもらうこととしてもよい。
【００３２】
図３（ａ）、（ｃ）に示すように、本実施の形態では、ＩとＬのそれぞれについて、所定の間隔の区分に分けられている。例えば、図３（ａ）の例において、Ｉの区分の３は、Ｉが１分以上、１時間以下であることを示す。また、図３（ｂ）に示すように、選択する対象である丸め単位についても、予め区分に分けられている。
【００３３】
また、Ｉ≦Ｒ＜Ｌという関係と、経験則とから、ＩとＲの取り得る組み合わせとして図４（ａ）中の〇で示す組み合わせが予め決められ、ＲとＬの取り得る組み合わせとして図４（ｂ）中の〇で示す組み合わせが予め決められており、これらの組み合わせを示すデータがデータ記憶部１０２に格納されている。
【００３４】
図４（ａ）に示す組み合わせは、Ｉ≦Ｒの関係から必然的に得られる。例えば、Ｉの区分３（１min＜Ｉ≦１hour）の場合、丸め単位は、１時間以上の区分になる。図４（ｂ）に示す組み合わせにおいては、Ｒ＜Ｌの関係から必然的に決まる点と、経験則で決めた点がある。Ｒ＜Ｌの関係から必然的に決まる点は、例えば、Ｌの区分６において、Ｒを１週間以下とする点である。また、Ｌの区分６において、Ｒの区分１（１秒）、区分２（１分）は組み合わせに含められていないが、これは、経験則から、Ｌの区分６に対し、１秒での丸め処理や、１分での丸め処理を行っても、あまり効果がないことがわかっているためである。
【００３５】
データ期間分析・丸め処理部１０３は、図４（ａ）に示す組み合わせのうち、時系列データのＩに対応するＲの集合と、図４（ｂ）に示す組み合わせのうち、時系列データのＬに対応するＲの集合との論理積を当該時系列データに対して使用するＲの集合として決定する。図５は、Ｉの区分とＬの区分の組み合わせ毎のＲの区分を示す図である。
【００３６】
例えば、時系列データのＩの区分が３（１min＜Ｉ≦１hour）であり、Ｌの区分が５（１week＜Ｌ≦１month）である場合、図４（ａ）に示す組み合わせから、Ｒの集合として３〜８が得られる。また、図４（ｂ）に示す組み合わせから、Ｒの集合として２〜５が得られる。よって、当該時系列データに対して使用する丸め単位Ｒとして、３〜８と２〜５の論理積をとって３、４、５が得られる。この場合、Ｒ＝１hour、６hour、１dayのそれぞれを用いて、時系列データの丸め処理を行う。つまり、この場合、３つの丸め処理後の時系列データが生成される。なお、丸める際の手法として、丸め区間毎にデータを加算する方法や、平均をとる方法などがある。この方法については、ユーザが選択して入力することとしてもよいし、各方法で丸め処理を行ってもよい。各方法で丸め処理を行う場合、その分だけ、丸め処理後の時系列データが生成される。例えば、Ｒが３種類で、丸め処理方法が２種類の場合、６種類の丸め処理後の時系列データが生成される。
【００３７】
図６は、データ期間分析・丸め処理部１０３が実行する処理の手順を示すフローチャートである。図６に示すとおり、まず、丸め手法が選択され、入力される（ステップＳ２０１）。データ期間分析・丸め処理部１０３は、例えば、時系列データを解析することにより、時系列データのデータ期間（Ｌの区分）、及びサンプリング間隔（Ｉの区分）を決定する（ステップＳ２０２、Ｓ２０３）。
【００３８】
そして、データ期間分析・丸め処理部１０３は、上述した方法により、時系列データに対する１つ又は複数の丸め単位を決定し、各丸め単位を用いて時系列データに対して丸め処理を実行する。丸め処理が施された各時系列データは、データ記憶部１０２に格納され、次の処理において読み出される。
【００３９】
（Ｓ３００：時系列モデル推定処理、Ｓ４００：時系列変換処理）
次に、時系列モデル推定処理と時系列変換処理を図７〜図１０を参照して詳細に説明する。以下では、ある丸め単位の丸め処理で得られた１つの時系列データに関する処理を説明する。以下で説明する処理が、各丸め単位（また、必要に応じて各時系列変更後）の時系列データに対して実行される。以下、時系列データ解析用の関数を提供するアプリケーション"Ｒ"に実装されている関数を例に説明する。
【００４０】
図７のステップＳ３０１において、まず、時系列モデル推定部１０４が、時系列データ（図中のdata）に対してfrequency関数を適用することで、周期性の計算を行う。計算結果はfreq.dataに入れられる。なお、freq.dataが１以外の場合に周期性ありと判定する。次に、時系列モデル推定部１０４は、時系列データにaggregate関数を適用することにより、時系列データのトレンドの有無を判定する（ステップＳ３０２、Ｓ３０３）。本例では、グラフの傾きの絶対値が０．１以上である場合に、トレンドが有りと判定し、trend.dataに１を設定する。
【００４１】
続いて、時系列モデル推定部１０４は、CADFtest関数を適用することにより、定常性の判定を行う（ステップＳ３０５）。ここでは、パラメータの１つとしてステップＳ３０１で求めた周期性の値が用いられる。ステップＳ３０５の計算の結果、得られたｐ値（帰無仮説が成立する確率）が０．０５より小さければ定常であると判定し（ステップＳ３０６、Ｓ３０７）、閾値０．０５より小さくなければ非定常であると判定する（ステップＳ３０６、Ｓ３０８）。
【００４２】
定常と判定した場合、ステップＳ３０９に進み、時系列変換がなされているかどうかを判定する（ステップＳ３０９）。時系列変換処理については後述する。時系列変換がなされている場合はステップＳ３１０に進み、トレンドの有無で場合に分かれる。トレンドが有る場合（ステップＳ３１０のＮｏ）、モデルをSARIMA（seasonal autoregressive integrated moving average）と決定する（ステップＳ３１１）。トレンドが無い場合（ステップＳ３１０のＹｅｓ）、モデルをARIMA（autoregressive integrated moving average）と決定する（ステップＳ３１２）。
【００４３】
ステップＳ３０９でＮｏの場合、ステップＳ３１３に進み、acf関数を適用することにより自己相関検定を行う。なお、自己相関とは、ある時点でのデータが異なる時点のデータと相関関係を持っているか否かを表す指標であり、時点間の差をラグと呼ぶ。自己相関があれば、ある時点でのデータを異なる時点のデータを用いて説明できるということになり、時系列モデルを推定するのに非常に重要な情報となる。
【００４４】
ステップＳ３１３の計算の結果、得られたｐ値が０．０５より小さくなければ自己相関なしと判定し（ステップＳ３１４のＮｏ、Ｓ３１５）、閾値０．０５より小さければ自己相関ありと判定する（ステップＳ３１４のＹｅｓ、Ｓ３２２）。
【００４５】
自己相関なしの場合、期待値と自己共分散を計算し（ステップＳ３１６）、「期待値＝０かつ自己共分散＝０（０以外のラグにおいて）」かどうかを判定する（ステップＳ３１７）。
【００４６】
ステップＳ３１７の判定結果がＮｏであれば、モデルの推定不可として処理を終了する（ステップＳ３１８）。ステップＳ３１７の判定結果がＹｅｓであれば、時系列変換の有無を判定し（ステップＳ３１９）、Ｙｅｓであればモデルをランダムウォークと決定する（ステップＳ３２０）。Ｎｏであればモデルをホワイトノイズと決定する（ステップＳ３２１）。
【００４７】
一方、自己相関ありの場合（ステップＳ３２２）、acf関数を適用することで自己相関強度判定を行う（ステップＳ３２３）。
【００４８】
図８のステップＳ３２４において、０以外の各ラグにおけるacfの値が０．２以上かどうかを判定する。図９は、acfの値が０．２以上である場合のグラフの一例を示す図である。図８のステップＳ３２４の判定結果がＹｅｓであれば、強い自己相関があると判定し（ステップＳ３２５）、acf.weakが１かどうか判定する（ステップＳ３２６）。acf.weakは、初期値は０であり、弱い自己相関があった時に１になる変数である。ここでは元々強い自己相関があるのか、それとも一度弱い自己相関と判定されたものが二乗変換により強い自己相関を持つようになったのかを判定している。ステップＳ３２６での判定結果がＹｅｓであれば、モデルをGARCH（generalized ARCH（(autoregressive conditional heteroskedasticity））と決定する（ステップＳ３２７）。
【００４９】
ステップＳ３２６での判定結果がＮｏの場合、ステップＳ３２８に進み、自己相関切断判定を行う。ここでは、acfの値が０．０５以下のラグが、ラグ２からラグ３０の間に１０以上連続する場合に、自己相関切断有りとする。自己相関切断有りの場合（ステップＳ３２９のＹｅｓの場合）、pacf関数を適用することで偏自己相関切断判定を行う（ステップＳ３３０）。ここでも、pacfの値が０．０５以下のラグが、ラグ２からラグ３０の間に１０以上連続する場合に、偏自己相関切断有りとする。偏自己相関切断無しの場合（ステップＳ３３１のＮｏの場合）、モデルをＭＡ（moving average）と決定する（ステップＳ３３２）。偏自己相関切断有りの場合（ステップＳ３３１のＹｅｓの場合）、推定不可であるが、ARMA（autoregressive moving average）モデルを適用できる可能性があるため、モデルをARMAと決定する（ステップＳ３３４）。
【００５０】
ステップＳ３２９の判定結果がＮｏの場合、ステップＳ３３５に進み、偏自己相関切断判定を行う（ステップＳ３３５）。ここでも、pacfの値が０．０５以下のラグが、ラグ２からラグ３０の間に１０以上連続する場合に、偏自己相関切断有りとする。偏自己相関切断有りの場合（ステップＳ３３６のＹｅｓの場合）、モデルをARMAと決定する（ステップＳ３３４）。Ｎｏの場合、モデルをＡＲ（Autoregressive）と決定する（ステップＳ３３７）。
【００５１】
一方、ステップＳ３２４での判定結果がＮｏの場合、弱い自己相関と判定し（ステップＳ３３８）、acf.weakが０でなければ、つまり一度弱い自己相関と判定されて二乗変換され、再び弱い自己相関と判定された場合、ステップＳ３２８に進んで既に説明した処理を実行する。acf.weakが０の場合は、acf.weakを１とし（ステップＳ３４０）、時系列データの二乗変換を行って（ステップＳ３４１、Ｓ３４２）、ステップＳ３２３に戻る。
【００５２】
図７の定常性の判定（ステップＳ３０６）の結果、非定常であると判定した場合（ステップＳ３０８）、時系列変換部１０５が、図１０に示す時系列変換処理を実行する。図１０において、log、difflog、diff、ndiffはそれぞれ、初期値は０であり、対数変換、対数差分変換、１階差分変換、n階差分変換を行った場合に１となる変数である。
【００５３】
ステップＳ４０１において、上記のいずれかを行っていると判定された場合（Ｎｏの場合）、変換を無限に繰り返すことを避けるため、推定不可として処理を終了する。
【００５４】
ステップＳ４０１の判定がＹｅｓの場合、例えば、まず、対数変換（Ｓ４０３〜Ｓ４０５）を行い、変換後の時系列データに対してＳ３０１からの処理を行って、定常（ステップＳ３０６のＹｅｓ）であれば、これまでに説明した処理により、モデルの判定がなされる。次に、再び、時系列変換を行っていない時系列データ（上記の対数変換を行う前の段階のデータと同じもの）について、対数差分変換（Ｓ４０３〜Ｓ４０５）を行い、定常（ステップＳ３０６のＹｅｓ）であれば、これまでに説明した処理により、モデルの判定がなされる。次に、再び、時系列変換を行っていない時系列データ（上記の対数変換を行う前の段階のデータと同じもの）について、１階差分変換又はｎ階差分変換（Ｓ４１２により場合分けで、Ｓ４０９〜Ｓ４１１、Ｓ４１３〜Ｓ４１５）を行い、定常（ステップＳ３０６のＹｅｓ）であれば、これまでに説明した処理により、モデルの判定がなされる。このような処理により、仮に３つの変換を行う場合、変換後の時系列データが３つ得られることになる。なお、このような処理に代えて、図１０の対数変換、対数差分変換、１階差分変換、ｎ階差分変換をこの順で順番に行って、時系列変換により定常と判断された段階で、他の時系列変換を行わないこととしてもよい。
【００５５】
（Ｓ５００：時系列モデル適用処理）
次に、時系列モデル適用部１０６が実行する時系列モデル適用処理について、図１１、図１２を参照して説明する。
【００５６】
時系列モデル適用処理においては、各時系列データ毎に、これまでの処理で決定された適用する時系列モデルのパラメータ（係数と次数）を変えながら、時系列データとの適合度（赤池情報量規準：ＡＩＣ）を計算する。適合度を計算する対象となる時系列データは、該当する丸め処理がなされたデータである。また、時系列変換がなされている場合には、更に当該時系列変換がなされたデータである。本実施の形態では、適合度の計算を赤池情報量規準（ＡＩＣ）を用いて行っているが、これ以外の規準を用いて行うこととしてもよい。
【００５７】
具体的な処理内容は、図１１、図１２に示すとおりである。すなわち、時系列モデル推定処理で得られた推定結果が、推定不可、ホワイトノイズ、ランダムウォークである場合、いずれもモデル化不可能とし、ＡＩＣを9999に設定する（ステップＳ５０１〜Ｓ５０６）。これら以外の場合、パラメータを変えながら該当の時系列モデルを時系列データに適用して、ＡＩＣが最小となるパラメータ（係数と次数）を最適なパラメータとして決定する（ステップＳ５０７〜Ｓ５１８）。
【００５８】
例えば、最初に入力された時系列データに対して、４種類の丸め処理（Ａ、Ｂ，Ｃ，Ｄ）が実施され、そのうちのＢについて２種類の時系列変換（Ｈ１、Ｈ２とする）がなされたとすると、この時点で、以下に示す５種類のデータが得られることになる。
【００５９】
（データ１）丸め単位Ａ、Ａを施した時系列データ、適用時系列モデル、ＡＩＣを最小にするパラメータ、ＡＩＣ。
【００６０】
（データ２）丸め単位Ｂ、時系列変換Ｈ１、ＢとＨ１を施した時系列データ、適用時系列モデル、ＡＩＣを最小にするパラメータ、ＡＩＣ。
【００６１】
（データ３）丸め単位Ｂ、時系列変換Ｈ２、ＢとＨ２を施した時系列データ、適用時系列モデル、ＡＩＣを最小にするパラメータ、ＡＩＣ。
【００６２】
（データ４）丸め単位Ｃ、Ｃを施した時系列データ、適用時系列モデル、ＡＩＣを最小にするパラメータ、ＡＩＣ。
【００６３】
（データ５）丸め単位Ｄ、Ｄを施した時系列データ、適用時系列モデル、ＡＩＣを最小にするパラメータ、ＡＩＣ。
【００６４】
（Ｓ６００：時系列モデル比較処理）
次に、時系列モデル比較部１０７が実行する時系列モデル比較処理について図１３のフローチャートを参照して説明する。
【００６５】
時系列モデル比較処理部１０７は、ステップＳ５００で得られたデータをＡＩＣの昇順（最小のものを先頭）に並べたリストを作成し、当該リストを出力部１０８から出力する（ステップＳ６０１）。例えば、上記の例で、ＡＩＣの大きさが、「データ２＜データ３＜データ１＜データ５＜データ４」となった場合、この順番で並べられたデータを出力する。出力された各データは、例えばディスプレイに表示される。なお、ここでは、ＡＩＣが最小のもののみを出力することとしてもよい。
【００６６】
また、時系列モデル比較処理部１０７は、ステップＳ５００で得られた各データについて、各モデルと各データの妥当性を判断するための評価指標を計算しグラフ化し、出力部１０８から出力する（ステップＳ６０２）。評価指標は特定のものに限られないが、例えば、以下（１）〜（３）の評価指標を使用することができる。
【００６７】
（１）時系列データと時系列モデルの残差（モデル予測値−実測値）
（２）時系列データと時系列モデルの残差の自己相関
（３）時系列データと時系列モデルの残差がホワイトノイズと見なせるかの検定
図１４（ａ）は、時系列データと時系列モデルの残差の一例を示す。図１４（ｂ）は、時系列データと時系列モデルの残差の自己相関の一例を示す。図１４（ｃ）は、残差がホワイトノイズになっているかの検定プロットを示す。点線を下回らなければホワイトノイズとみなせる。このような出力・表示を行うことは、必須ではないが、このような出力・表示を行うことで、ユーザは、モデルがどの程度、実測値に適合しているかを容易に把握できる。
【００６８】
また、時系列モデル比較処理部１０７は、ステップＳ５００で得られた各データについて、適用モデルの予測（例：１００期先まで）グラフを作成し、出力する（ステップＳ６０３）。
【００６９】
（応用例）
本実施の形態におけるモデル判定装置１００は、様々な分野に適用可能である。例えば、サーバによるネットワークを介したサービス提供等の通信サービス分野において、ユーザ端末からサーバへのアクセス数のログ（学習データ）に対し、これまでに説明した時系列モデル判定技術を適用し、時系列モデルを決定し、当該時系列モデルを用いて、将来のアクセス数の予測を行うことができる。また、時系列モデルの予測値と、実測値とを比べたときに、実測値が予測値と大きく上回る、または下回った場合には、異常（攻撃、故障、アクセスの集中など）が起きていると判定することもできる。
【００７０】
図１５に、上記の応用例に対応するモデル判定装置１００の機能構成図を示す。図１５に示すモデル判定装置１００は、モデル判定部１５１、予測部１５２、異常判定部１５３を備える。
【００７１】
モデル判定部１５１は、図１に示したモデル判定装置１００の構成を有しており、これまでに説明した時系列モデル判定処理を実施する。例えば、モデル判定部１５１は、入力データとして、上記のアクセスログのデータを受信し、当該アクセスログデータに適合する最適な時系列モデルを決定する。より具体的には、例えば、ＡＩＣを最小にする時系列モデルとパラメータを決定し、出力する。
【００７２】
予測部１５２は、モデル判定部１５１により決定された時系列モデルから将来の予測値を算出する。異常判定部１５３には、現在のログ（アクセス数）が入力されるとともに、予測部１５２から、現在に対応する予測値（予測アクセス数）とが入力される。異常判定部１５３は、例えば、予測アクセス数とアクセス数との差分の絶対値が予め定めた閾値よりも大きい場合に、「異常」を示す結果を出力する。
【００７３】
また、上記の例の他に、過去のアクセスログから不正アクセスを特定し、当該アクセスログを学習データとして、これまでに説明した時系列モデル判定技術を適用し、不正アクセスのアクセスパターンの時系列モデルを決定し、当該時系列モデルを用いて、当該時系列モデルに近いアクセスパターンでアクセスしてきたユーザに対しては、不正アクセスと判定することも可能である。不正アクセスと判定された場合には、例えば、当該ユーザをブロックしたり、サービスを使えなくするなどの対策をとることが可能となる。
【００７４】
このような処理についても、図１５に示すモデル判定装置１００が実行できる。この場合、モデル判定部１５１が、不正アクセスのアクセスパターンの時系列モデルを決定し、予測部１５２が、当該時系列モデルを用いて不正アクセスの将来のアクセスパターンを予測し、異常判定部１５３が、当該予測値と実測値（各ユーザの現在のアクセスパターン）とを比較して、予測値に近い実測値を持つユーザを特定する。そして、例えば、異常判定部１５３は、例えば、当該ユーザからのアクセスをブロックするよう、アクセス装置への指示を実行する。
【００７５】
（実施の形態の効果）
従来技術では、時系列データに適合する時系列モデルの決定を行う際に、丸め処理、時系列変換、時系列モデルの絞込みを人の判断をたよりに繰り返し試行錯誤しながら行っていたが、本実施の形態では、自動的に時系列データに適した丸め処理や時系列変換を行い、それぞれの処理後の入力データに対して最適な時系列モデルと適合度を計算し、時系列モデルのリストを提示することができる。これにより、時系列データの解析について学術的な知識のない人でも、簡便にモデル化を行うことが可能となる。
【００７６】
（実施の形態のまとめ）
以上、説明したように、本実施の形態により、入力された時系列データに適合する時系列モデルを判定するモデル判定装置であって、前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する丸め単位を決定し、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理手段と、前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定手段と、前記時系列モデル推定手段により推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用手段とを備えることを特徴とするモデル判定装置が提供される。なお、上記の特性値は、例えば、周期性（季節性）の有無、トレンドの有無、定常性、自己相関関数の形、偏自己相関関数の形等であるが、これらに限られるわけではない。
【００７７】
前記丸め処理手段は、複数の丸め単位を決定し、丸め単位毎に、丸め処理を実行して丸め処理後の時系列データを取得し、前記時系列モデル推定手段は、丸め単位毎に、丸め処理後の時系列データに適した時系列モデルを推定し、前記時系列モデル適用手段は、丸め単位毎に、前記適合度を最良とするパラメータを決定し、前記モデル判定装置は、適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力することとしてもよい。なお、情報のリストには更にパラメータが含まれていてもよい。
【００７８】
前記時系列モデル推定手段において、前記丸め処理後の時系列データが非定常であると判定された場合において、当該丸め処理後の時系列データに対して、時系列変換を実行する時系列変換手段を備えてもよく、前記時系列変換が実行された場合に、前記時系列モデル推定手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル推定処理を実行し、前記時系列モデル適用手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル適用処理を実行する。
【００７９】
前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合の中から、前記時系列データに適用する丸め単位を抽出することとしてもよい。また、前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合と、前記サンプリング間隔に対して予め定められた丸め単位候補集合との論理積により得られる丸め単位を、前記時系列データに適用する丸め単位として抽出することとしてもよい。
【００８０】
また、前記モデル判定装置は、前記時系列モデル適用手段により決定されたパラメータを持つ時系列モデルを使用して将来予測を実行する予測手段と、前記予測手段により得られた予測値と、実測値とを比較することにより、異常検知を行う異常判定手段とを備えることとしてもよい。
【００８１】
（第１項）
入力された時系列データに適合する時系列モデルを判定するモデル判定装置であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する丸め単位を決定し、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理手段と、
前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定手段と、
前記時系列モデル推定手段により推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用手段と
を備えることを特徴とするモデル判定装置。
（第２項）
前記丸め処理手段は、複数の丸め単位を決定し、丸め単位毎に、丸め処理を実行して丸め処理後の時系列データを取得し、
前記時系列モデル推定手段は、丸め単位毎に、丸め処理後の時系列データに適した時系列モデルを推定し、
前記時系列モデル適用手段は、丸め単位毎に、前記適合度を最良とするパラメータを決定し、
前記モデル判定装置は、適合度の良い順番に並べられた、丸め単位と時系列モデルとを含む情報のリストを出力する
ことを特徴とする第１項に記載のモデル判定装置。
（第３項）
前記時系列モデル推定手段において、前記丸め処理後の時系列データが非定常であると判定された場合において、当該丸め処理後の時系列データに対して、時系列変換を実行する時系列変換手段を備え、
前記時系列変換が実行された場合に、前記時系列モデル推定手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル推定処理を実行し、前記時系列モデル適用手段は、前記時系列変換が実行された後の時系列データを前記丸め処理後の時系列データとして時系列モデル適用処理を実行する
ことを特徴とする第１項又は第２項に記載のモデル判定装置。
（第４項）
前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合の中から、前記時系列データに適用する丸め単位を抽出する
ことを特徴とする第１項ないし第３項のうちいずれか１項に記載のモデル判定装置。
（第５項）
前記丸め処理手段は、前記データ期間に対して予め定められた丸め単位候補集合と、前記サンプリング間隔に対して予め定められた丸め単位候補集合との論理積により得られる丸め単位を、前記時系列データに適用する丸め単位として抽出する
ことを特徴とする第４項に記載のモデル判定装置。
（第６項）
前記時系列モデル適用手段により決定されたパラメータを持つ時系列モデルを使用して将来予測を実行する予測手段と、
前記予測手段により得られた予測値と、実測値とを比較することにより、異常検知を行う異常判定手段と
を備えることを特徴とする第１項ないし第５項のうちいずれか１項に記載のモデル判定装置。
（第７項）
入力された時系列データに適合する時系列モデルを判定するモデル判定装置が実行するモデル判定方法であって、
前記時系列データのサンプリング間隔とデータ期間とに基づいて、当該時系列データに適用する丸め単位を決定し、当該時系列データに対して当該丸め単位での丸め処理を実行し、丸め処理後の時系列データを取得する丸め処理ステップと、
前記丸め処理後の時系列データの特性値を計算し、当該特性値と所定の閾値とを比較することにより、前記丸め処理後の時系列データに適した時系列モデルを推定する時系列モデル推定ステップと、
前記時系列モデル推定ステップにより推定された時系列モデルを前記丸め処理後の時系列データに適用することにより、前記時系列モデルと前記丸め処理後の時系列データとの適合度を最良とするパラメータを決定する時系列モデル適用ステップと
を備えることを特徴とするモデル判定方法。
（第８項）
コンピュータを、第１項ないし第６項のうちいずれか１項に記載のモデル判定装置における各手段として機能させるためのプログラム。
以上、本実施の形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８２】
１００  モデル判定装置
１０１  入力部
１０２  データ記憶部
１０３  データ期間分析・丸め処理部
１０４  時系列モデル推定部
１０５  時系列変換部
１０６  時系列モデル適用部
１０７  時系列モデル比較部
１０８  出力部
１５１  モデル判定部
１５２  予測部
１５３  異常判定部
【図１】
0006563357.tif 000002
【図２】
0006563357.tif 000003
【図３】
0006563357.tif 000004
【図４】
0006563357.tif 000005
【図５】
0006563357.tif 000006
【図６】
0006563357.tif 000007
【図７】
0006563357.tif 000008
【図８】
0006563357.tif 000009
【図９】
0006563357.tif 000010
【図１０】
0006563357.tif 000011
【図１１】
0006563357.tif 000012
【図１２】
0006563357.tif 000013
【図１３】
0006563357.tif 000014
【図１４】
0006563357.tif 000015
【図１５】
0006563357.tif 000016