"フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成するパワーフィルタ適用工程と、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測する予測モデル適用工程と、前記フィルタパラメータを決定するフィルタパラメータ決定工程と、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測モデル適用工程で用いる予測モデルパラメータを決定する予測モデル学習工程と、をコンピュータが実行し、前記フィルタパラメータ決定工程では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワーフィルタ適用工程では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いることを特徴とする予測方法。ソフトウェアの各種情報からソフトウェアメトリクスの値を計測するメトリクス計測工程を、前記コンピュータが更に実行し、前記予測モデル学習工程では、ソフトウェアメトリクスの値にパワー変換を適用したものを説明変数とし、前記二値又は数値の過去の値を応答変数として予測モデルパラメータを決定することを特徴とする請求項1に記載の予測方法。前記フィルタパラメータ決定工程では、前記フィルタパラメータのとりうる値に制限をかけて前記フィルタパラメータを決定することを特徴とする請求項1又は2に記載の予測方法。前記二値は、障害の有無を示す二値を含むことを特徴とする請求項1~3のいずれか一項に記載の予測方法。前記数値は、前記ソフトウェアを変更する工数を含むことを特徴とする請求項1~3のいずれか一項に記載の予測方法。前記予測モデルとして、回帰分析を用いることを特徴とする請求項1~5のいずれか一項に記載の予測方法。前記予測モデルの評価値として、赤池情報量基準AICを用いることを特徴とする請求項1~6のいずれか一項に記載の予測方法。フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成し、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測し、前記説明変数を生成する処理で用いる前記フィルタパラメータを決定し、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測する処理で用いる予測モデルパラメータを決定する、処理をコンピュータに実行させ、前記フィルタパラメータを決定する処理では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワー変換では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いることを特徴とする予測プログラム。しかしながら、上述したような予測モデル式を探索するアプローチでは、関数空間を闇雲に探すことになるため探索空間が膨大となり、探索に長時間を要するおそれがある。また、予測性能も然程高くないなどの課題もある。これに対し、上述したようなフィルタリングで前処理するアプローチでは、計算時間のオーバヘッドがわずかでありながらその予測改善効果は高く、また、解釈が容易であるという利点がある。しかるに、フィルタリングで前処理するアプローチは、処理が単純なだけあってメトリクスの持つ情報を十分活かしきることができず、予測性能の向上は限定的であり、十分な性能を発揮するには至っていない。そこで本件は上記の課題に鑑みてなされたものであり、予測性能を向上することが可能な予測方法及び予測プログラムを提供することを目的とする。本明細書に記載の予測方法は、フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成するパワーフィルタ適用工程と、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測する予測モデル適用工程と、前記フィルタパラメータを決定するフィルタパラメータ決定工程と、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測モデル適用工程で用いる予測モデルパラメータを決定する予測モデル学習工程と、をコンピュータが実行し、前記フィルタパラメータ決定工程では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワーフィルタ適用工程では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いる予測方法である。本明細書に記載の予測プログラムは、フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成し、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測し、前記説明変数を生成する処理で用いる前記フィルタパラメータを決定し、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測する処理で用いる予測モデルパラメータを決定する、処理をコンピュータに実行させ、前記フィルタパラメータを決定する処理では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワー変換では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いる予測プログラムである。本明細書に記載の予測方法及び予測プログラムは、予測性能を向上することができるという効果を奏する。《第1の実施形態》以下、ソフトウェアの障害予測装置100の一実施形態について、図1~図18に基づいて詳細に説明する。図1には、ソフトウェアの障害予測装置100のハードウェア構成が示されている。図1に示すように、障害予測装置100は、CPU90、ROM92、RAM94、表示部93、入力部95、記憶部ここではHDDHardDiskDrive96、及び可搬型記憶媒体用ドライブ99等を備えており、障害予測装置100の構成各部は、バス98に接続されている。表示部93は、液晶ディスプレイ等を含み、入力部95は、キーボード、マウス等を含む。障害予測装置100では、ROM92あるいはHDD96に格納されているプログラム予測プログラム、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム予測プログラムをCPU90が実行することにより、図2の各部の機能が実現される。図2には障害予測装置100の機能ブロック図が示されている。なお、図2の矢印は、処理の流れ及びそれに伴うデータの流れを表すものである。図2に示すように、障害予測装置100は、CPU90が予測プログラムを実行することで、予測モデル作成手段10、及び予測手段20としての機能を実現している。なお、図2には、HDD96等に格納される過去ソースコードDB30、過去障害情報DB32、分析対象ソースコード34、及び障害予測結果36も図示されている。予測モデル作成手段10は、障害予測のための予測モデルを作成する準備段階の処理を実行する手段であり、予測手段20は、実際に障害予測する実施段階の処理を実行する手段である。ここで、本実施形態では、予測の単位をモジュールと呼ぶものとする。モジュールはソフトウェアの一部分であり、通常、ソースコード1本やクラス1つに相当する。なお、本実施形態では、モジュール1つがソースコード1本であるものとする。ここで、本実施形態の障害予測装置100は、従来のログフィルタを用いた障害予測装置図22参照と同様、入力されたソースコードから計測されたメトリクスにフィルタリングを行って、予測モデルの説明変数とする。ただし、本実施形態では、フィルタリングにパワーフィルタを用いる。ここで、ログフィルタで使用される対数関数はパラメータを有さないのに対し、パワーフィルタで使用されるパワー変換関数はパラメータを有しているなお、ログフィルタで使用される対数関数は、厳密には、底をパラメータとして持つが、底の変換は定数倍にしか過ぎず、回帰分析では、定数乗数は最終結果に影響を及ぼさないため、底はパラメータとして扱われることはない。このフィルタ及びパラメータの違いにより、本実施形態の障害予測装置100は、図22とは異なる構成となっている。予測モデル作成手段10は、図2に示すように、第1メトリクス計測手段12と、フィルタパラメータ決定手段14と、第1パワーフィルタ適用手段16と、予測モデル学習手段18と、を有する。また、予測手段20は、第2メトリクス計測手段22と、第2パワーフィルタ適用手段24と、予測モデル適用手段26と、を有する。なお、本実施形態では、第2パワーフィルタ適用手段24及び第1パワーフィルタ適用手段16において、パワーフィルタの技術を導入している。ここで、ソースコードの属性値例えばソースコード行数や循環的複雑度などを示すソフトウェアメトリクスの多くは、パワー変換別名べき変換を行うパワーフィルタによって障害との相関が向上するという性質がある。すなわち、本実施形態では、パワーフィルタを用いることで、より性能の高いソフトウェア障害予測を実現する。以下、パワーフィルタについて詳細に説明する。なお、以下においては、典型的な予測モデルであるロジスティック回帰分析にパワーフィルタを適用する場合を例にとり説明する。次式1はロジスティック回帰分析の予測モデル式である。上式1のうち、x1,x2,...xnは説明変数、nは説明変数の個数を表す。また、yは応答変数予測値である。また、a0,a1,a2,...anはモデルのパラメータであり、特に回帰分析では偏回帰係数と呼ばれる。expは指数関数である。ここで、予測とは、上記予測モデル式に説明変数x1,x2,...xnを代入し、予測値yを求めることをいう。また、予測モデルの学習とは、説明変数x1,x2,...xnとそれに対応する応答変数の実測値zの組の集合からなるサンプルデータが与えられたときに、yとzの差異を表す評価関数が最小になるようなyが出力されるように、パラメータ偏回帰係数a0,a1,a2,...anを決定することをいう。なお、一般的には、最尤推定法を用いて、パラメータa0,a1,a2,...anが決定される。ここで、メトリクスwiから説明変数xiを得るために用いられるフィルタfiを関数xi=fiで表すとすれば、上式1より、フィルタを用いたロジスティック回帰分析の予測モデル式は次式2で表すことができる。この場合、パワーフィルタに用いるパワー変換関数は、次式3で表される。上式3のうち、λはパワー係数、αはシフト係数、mは正規化係数である。シフト係数αは、上式3のwαの項を正値に保つために設けられている。このシフト係数αは、メトリクス値wの値域集合をWとしたとき、Wの最小値minWを用いて次式4で決定される。なお、εは適当な正の小さな値であるものとし、本実施形態ではεとして1を採用する。一方、正規化係数mは出力値の大小を調整するために設けられている。正規化係数mは、メトリクス値wの値域集合をWとし、Wの要素数を|W|とすると、次式5にて決定される。上式5からすれば、正規化係数mはシフトしたメトリクス値wαの相乗平均であるといえる。また、正規化係数mは、fwの中ではWが定まれば定まる乗数である。この場合、上式2から明らかなように、回帰式の偏回帰係数がfwに乗数として係るため、mが如何なる値になろうと最終的な出力である回帰式には変化を及ぼさない。そのため、本実施形態ではm=1と固定するものとする。なお、以下においては、パワー係数λとシフト係数αの組<λ,α>をパワーフィルタのフィルタパラメータと呼ぶものとする。パワー係数λはパワーフィルタの振る舞いを定めるパラメータである。次に、パワーフィルタの適用がソフトウェアの障害予測の予測性能向上にどのように寄与するかの概要について説明する。まず、回帰分析の前処理に置くフィルタに対する要請について説明する。予測問題は最適な予測式を関数空間から探索する探索問題である。探索範囲に良い予測を行える式があるか、探索量は実用的に計算可能な範囲に収まるか、の2点が高い性能を持つ予測を行うための要件である。したがって、フィルタを前処理として付加することはすなわちそのフィルタがメトリクスの情報を活かして予測に貢献し、計算量が現実的であるという要件を持つ。計算量が少ないというのは概ねパラメータが少ないことに等しい。すなわち、少ないパラメータでメトリクスと予測値の相関を最大化するような変換がフィルタとして理想的である。ここで、ログフィルタは、パラメータが0個であり、計算量の要件では満足するが、予測改善効果に乏しいという課題を持つ。これに対し、パワーフィルタはパラメータが上述の通り実質1個であり0個より多いものの、予測改善効果は高い。これについて、以下説明する。ソフトウェアメトリクスは、その多くが人工的に設計された測定量であり、値が大きいほど障害数や障害密度、難易度、工数などが増加するような意図を持って設計されているまれに逆のものもある。これは、自然界の測定量がある区間で最適となるものが多い例えば、培養地のpHを説明変数とした生存予測問題においてpHが6.3から7.5の範囲で予測生存率が一定以上になる、などことに比べ特徴的である。すなわち、メトリクスの多くが予測値に対し単調増加性まれに単調減少性を持つことがソフトウェアの予測問題の特徴である。しかし、メトリクスと予測値が単調性を持つとは言え、比例関係を持つとまでは一般的に言えない。例えば、図3には、あるソフトウェアにおけるメトリクスlocと障害発生率障害率との関係が示され、図4には、メトリクスuniqOpと障害発生率障害率の関係が示されている。なお、図3、図4中の各点はソースコード1000本の平均を示し、図中の曲線は全点の平滑曲線を示す。これらの曲線は、ともに単調増加の傾向を持つが、図3では、locが増加するとともに障害率の増加傾向は低下し、図4では、uniqOpが増加するとともに障害率の増加傾向は増大していくという異なる非線形な関係を持つ。上式1のように回帰分析の多くは説明変数の線形式を構成要素として含み、予測値または予測値の変形に対し線形関係にあることが仮定される。例えば、ロジスティック回帰では説明変数は対数オッズ比と線形関係にあることが仮定される。これは、この線形関係から外れると予測モデルの性能が低下することを意味する。そのため、説明変数に適切な変換を施して線形関係からの逸脱を防ぐこととすれば、予測モデルの性能低下を抑える効果が期待できる。ここで、パワー変換の性質に注目する。図5はシフト係数αを0、正規化係数mを1に固定してパワー係数λを0,1,2の3種に変化させたパワー変換の関数プロットである。図5から明らかなように、λを変化させることで単調増加の性質を保ちながら自由に増加傾向を変化させることができる。この性質により、パワー変換は1パラメータでありながら線形関係からの逸脱を防ぐことを目的として適切な変換を表現できる潜在力を持つ。ただし、パワーフィルタでは、説明変数ごとにパワー係数λを決定することが単純でないという課題がある。説明変数が複数になる場合は、ある説明変数のためのパワー係数が他の説明変数のためのパワー係数に相互に影響を及ぼすためである。なお、パワー変換そのものは既知であり、本発明とは別の応用が既にある。パワー変換は数値の集合の分布の歪度を変化させる性質を持つため、そこに利用価値が見出される場合がある。例えば、特開2006-228181号公報には、製品のバラつきが正規分布に従っていない場合に、正規分布を用いた品質管理手法を適用するため、パワー変換を適用して歪度を0にし、正規分布に近づける技術が開示されている。図2に戻り、予測モデル作成手段10及び予測手段20が有する各手段について、具体的に説明する。<予測モデル作成手段10の各手段について>まず、予測モデル作成手段10の各手段第1メトリクス計測手段12、フィルタパラメータ決定手段14、第1パワーフィルタ適用手段16、予測モデル学習手段18について詳細に説明する。第1メトリクス計測手段12は、過去ソースコードDB30からソースコード情報を取得し、当該ソースコード情報からモジュール単位で各種メトリクスを計測する。より具体的には、第1メトリクス計測手段12は、まず、過去ソースコードDB30から、モジュールに対応するソースコードを取得する。次いで、第1メトリクス計測手段12は、ソースコードの静的解析を行い、それぞれについてメトリクスを計測する。ここで、例えば、メトリクスlocはコメント行と空行を取り除いたソースコード行数と慣習的に定義されている。なお、各メトリクスの計測法は、それぞれ定められており、その詳細については、文献TJMcCabeAComplexityMeasureIEEETransactionsonSoftwareEngineeringVol2No4pp3083201976URLhttpdxdoiorg101109TSE1976233837や、文献MHHalsteadElementsofSoftwareScienceElsevier1977ISBN0444002057や、文献SRChidamberandCKKemererAMetricsSuiteforObjectOrientedDesignIEEETransactionsonSoftwareEngineeringVol20No6June1994URLhttpdxdoiorg10110932295895に記載されている。また、第1メトリクス計測手段12は、モジュールに対して計測されたメトリクスごとの数値をメトリクスデータとして、フィルタパラメータ決定手段14及び第1パワーフィルタ適用手段16に対して出力する。フィルタパラメータ決定手段14は、第1メトリクス計測手段12で計測された各種メトリクスと、予測モデル学習手段18の学習過程の中間結果とから、フィルタパラメータを決定する。フィルタパラメータ決定手段14では、フィルタパラメータを、第1パワーフィルタ適用手段16に随時出力するとともに、学習後の最終的なフィルタパラメータを予測手段20に対し出力する。ここで、図6には、フィルタパラメータ決定手段14と予測モデル学習手段18の、より詳細な構成が示されている。図6に示すように、フィルタパラメータ決定手段14は、シフト係数決定手段40と、モデル追加変数探索手段44と、モデル除去変数探索手段46と、パワー係数決定手段48と、を有している。また、フィルタパラメータ決定手段14は、内部メモリとして、メトリクス情報72と、フィルタパラメータ74と、を有する。ここで、メトリクス情報72は、図7に示すような表形式データである。具体的には、メトリクス情報72は、計測されたメトリクスの種類数の行数を有し、1行が計測されたメトリクスの名前の項目とそのメトリクスに対応するシフト係数の項目の2つの項を含む。なお、図7のメトリクス名loc,vg,n,...については、図8のような意味説明の欄参照を有している。また、フィルタパラメータ74は、図9に示すような表形式のデータである。具体的には、フィルタパラメータ74は、メトリクス名、そのメトリクスに対応するパワー係数λ、及びシフト係数αの3項からなる行を、フィルタリング対象のメトリクスの数だけ並べた表形式のデータ構造で表現される。シフト係数決定手段40は、第1メトリクス計測手段12から入力されるメトリクスデータを受け取ると、メトリクスごとのシフト係数αを決定し、メトリクス情報72を設定する。より具体的には、シフト係数決定手段40は、入力されたメトリクスデータのメトリクスごとに、入力されたメトリクス値の値域集合をWとして、上式4にてシフト係数αを求める。また、シフト係数決定手段40は、メトリクス情報72図7に新しい行を追加する処理を実行する。モデル追加変数探索手段44は、予測モデル学習手段18内の変数選択手段50からの要求により、予測モデルに追加することで予測モデルを改良可能な説明変数を探索する。また、モデル除去変数探索手段46は、予測モデル学習手段18内の変数選択手段50からの要求により、予測モデルから除去することで予測モデルを改良可能な説明変数を探索する。これら、説明変数の探索方法については、後に詳述する。パワー係数決定手段48は、モデル追加変数探索手段44及びモデル除去変数探索手段46からの要求により、パワー係数λを決定する。なお、パワー係数λの決定方法については、後に詳述する。図2に戻り、第1パワーフィルタ適用手段16は、各種メトリクスにフィルタを適用して説明変数とする。なお、第1パワーフィルタ適用手段16が用いるフィルタパワーフィルタは、フィルタパラメータ決定手段14で決定されたフィルタパラメータを利用したフィルタである。ここで、第1パワーフィルタ適用手段16の処理について、具体的に説明する。まず、第1パワーフィルタ適用手段16は、フィルタパラメータ決定手段14からフィルタパラメータを受け取る。また、第1パワーフィルタ適用手段16は、第1メトリクス計測手段12から、各メトリクスにつき数値データを受け取る。このとき、メトリクスの数は任意個であり、メトリクスごとの数値データの個数はモジュールの数と等しいものとする。なお、計測されたメトリクスのデータの一例を図10に示す。図10においては、各行は過去ソースコードDB30のモジュール1つに相当する。各行にはモジュールのIDのほかに計測されたメトリクスの値がそれぞれ格納される。ここで、前述のように、メトリクスのデータ値はwで表すものとし、第1パワーフィルタ適用手段16の出力値である説明変数をxで表すものとする。第1パワーフィルタ適用手段16は、フィルタパラメータの組<λα>が指定されているメトリクスについては、出力値xとして次式6式6は、式3のmを1としたもののfwの値を説明変数として出力する。また、第1パワーフィルタ適用手段16は、フィルタパラメータが指定されていないメトリクスに関しては、出力値xとしてwの値をそのまま説明変数データとして、予測モデル学習手段18に対して出力するものとする。予測モデル学習手段18は、過去障害情報DB32から取得した障害情報を応答変数とし、当該応答変数と、第1パワーフィルタ適用手段16から出力される説明変数とから予測モデルを学習する。なお、学習の過程においてはフィルタパラメータ決定手段14と連携するものとする。また、予測モデル学習手段18は、予測モデルの学習が完了した場合に、予測モデルパラメータを外部予測手段20に出力する。なお、この予測モデルパラメータの出力と同時に、フィルタパラメータ決定手段14からは、最終的なフィルタパラメータが外部予測手段20に出力される。ここで、予測モデル学習手段18は、図6に示すように、モデルパラメータ決定手段52と、変数選択手段50と、を有している。また、予測モデル学習手段18は、内部メモリとして、予測モデルパラメータ76を有している。モデルパラメータ決定手段52は、第1パワーフィルタ適用手段16から、メトリクスに対しフィルタが適用された出力値を説明変数データとして受け取る。また、過去障害情報DB32から、障害情報データ図11を応答変数データとして受け取る。図11の障害情報データはモジュールごとに1行、各行ごとにモジュールのIDの項目と障害の有無を示す項目の2項目を持つ表形式で表される。この図11の例では、defectsの項目が障害の有無TRUE=有り、FALSE=無しを示している。また、モデルパラメータ決定手段52は、フィルタパラメータ決定手段14内のパワー係数決定手段48からの要求により、偏回帰係数aiの決定を行う。そして、モデルパラメータ決定手段52は、学習後、最終的な予測モデルパラメータを予測手段20に対し出力する。ここで、予測モデルパラメータ76は、予測モデルを特定するためのパラメータであり、説明変数の個数に1を加えた行数からなる表形式のデータ構造で表現される図12参照。図12の各行は、ID、説明変数の元となるメトリクスの名前、対応する説明変数の偏回帰係数の3項からなる。IDが0の行は特定の説明変数には割り付けられず、上式2のα0の値を格納するために設けられているそのため、IDが0の行のメトリクス名の項目は使用されない。それ以外の行は、IDがiの行は上式2の偏回帰係数αiの値を格納する。変数選択手段50は、予測モデルに使用する説明変数を選択する。性能の高い予測を実現するためには、必ずしも全ての入力データを用いる必要は無い。すなわち、障害と相関が無く、予測に役立たないデータもあり、しばしば、用いると予測性能を落とすような悪影響を及ぼすデータもある。変数選択手段50はそのようなデータを取り除く。<予測手段20の各手段について>次に、図2に示す予測手段20の各手段第2メトリクス計測手段22、第2パワーフィルタ適用手段24、予測モデル適用手段26について詳細に説明する。第2メトリクス計測手段22は、分析対象ソースコード34からソースコードを取得し、当該ソースコードからモジュール単位で各種メトリクスを計測する。ここで、第2メトリクス計測手段22の機能は、上述した第1メトリクス計測手段12と同様である。ただし、第2メトリクス計測手段22は、予測モデルパラメータで指定された説明変数として使用されるメトリクスのリストを参照することで、障害予測に使用しないメトリクスを測定しないようにしてもよい。使用されるメトリクスのリストは、予測モデルパラメータのうち、メトリクス名の項に含まれるメトリクス名のリストである。図13は図12に対応した使用メトリクスリストの一例を示す図である。第2パワーフィルタ適用手段24は、予測モデル作成手段10から入力されたフィルタパラメータに基づいて、各種メトリクスにフィルタを適用して説明変数とする。より具体的には、第2パワーフィルタ適用手段24は、予測モデル作成手段10からフィルタパラメータを取得すると、各メトリクスにつき数値データを受け取る。このとき、メトリクスの数は任意個であり、メトリクスごとのデータの数も任意個である。計測されたメトリクスのデータは図10の表と同様の形式である。また、第2パワーフィルタ適用手段24は、フィルタパラメータ<λα>が指定されているメトリクスに基づいて、式6の説明変数x=fwの値を説明変数データとして出力する。なお、第2パワーフィルタ適用手段24は、フィルタパラメータが指定されていないメトリクスについては出力しないものとする。予測モデル適用手段26は、予測モデル作成手段10から入力された予測モデルパラメータで表現される予測モデルに対し説明変数を適用し、計算された応答変数を障害予測結果36として出力する。ここで、予測モデル作成手段10から取得される予測モデルパラメータで指定されたメトリクスの数をnとする。また、予測モデルパラメータのIDが0の行の偏回帰係数の値をa0と表記し、IDがkの行の偏回帰係数の値をakと表記する。また、予測モデル適用手段26が第2パワーフィルタ適用手段24から受け取る、モジュールSiに関して予測モデルパラメータで指定されたメトリクスごとの説明変数の値をx1,x2,...xnと表記する。この場合、予測モデル適用手段26は、上式1に基づく次式7を用いてyを計算し、yの値をモジュールSiの障害予測結果36の値として出力する。次に、フィルタパラメータ決定手段14及び予測モデル学習手段18の具体的な処理について、図14~図17のフローチャートに沿って説明する。図14のフローチャートは、既知の変数増減法にパワーフィルタのパラメータ決定を組み込めるよう改良した処理である。なお、既知の変数増減法については、文献WNVenablesandBDRipleyModernAppliedStatisticswithSFourtheditionSpringerISBN03879545702002に記載されている。図14の処理では、まず、ステップS1401において、図6の変数選択手段50が、予測モデルパラメータの初期値を設定することで、初期予測モデルを設定する。この初期予測モデルは、既知のフィルタリングを施さないロジスティック回帰分析に対して定石的に行われる変数増減法を実施することで求めることができる。また、予測モデルパラメータの初期値の設定は、初期予測モデルに使用された説明変数のメトリクスを予測モデルパラメータのメトリクス名の項目に設定することで行うことができる。この場合、偏回帰係数の項目は未設定のままで構わない。なお、別の方法として、初期予測モデルとして説明変数を全く用いないモデルを用いても良い。また、別の方法として、初期予測モデルとして全てのメトリクスを説明変数として用いるモデルを用いても良い。次いで、ステップS1402では、変数選択手段50が、モデル追加変数探索手段44に要求を送ることで、モデル追加変数探索手段44に、モデルを改良可能な、モデルに追加する説明変数の探索を行わせる。この場合、変数選択手段50は、モデル追加変数探索手段44からの応答を待つ。応答は変数のメトリクス名または無しのいずれかである。応答が無しでなければ改良されたモデルを表すデータ予測モデルパラメータと同形式も付加情報として応答に含まれる。モデル追加変数探索手段44では、変数選択手段50からの要求を受けて、図15のフローチャートに沿った処理を実行する。図15の処理では、まず、ステップS1501において、モデル追加変数探索手段44が、予測モデル学習手段18内の予測モデルパラメータ76で表されるモデルをコピーしてモデルAとする。このコピーは、予測モデルパラメータと同じデータ形式図12参照で表現される。また、モデル追加変数探索手段44は、モデルAに追加する候補となるメトリクスの説明変数のリストLを作成する。この場合、モデル追加変数探索手段44は、内部メモリのメトリクス情報72を調べ、モデルAに含まれていない説明変数のメトリクスをリストLの要素とする。次いで、ステップS1502では、モデル追加変数探索手段44が、メモリCを用意し、当該メモリCを空にする。更に、モデル追加変数探索手段44は、メモリEを用意し、当該メモリEに、フィルタパラメータ74をコピーする。次いで、ステップS1503では、モデル追加変数探索手段44が、メモリDを用意し、当該メモリDにモデルAの評価値を格納する。ここで、本実施形態では、モデルの評価値として、AICを用いることとする。モデルの最大尤度をL、モデルの自由度をfとした場合、AICは次式8で定義される。なお、モデルの自由度fは、である。次いで、ステップS1504では、モデル追加変数探索手段44が、リストLが空か否かを判断する。ここでの判断が否定された場合には、ステップS1505に移行する。ステップS1505に移行すると、モデル追加変数探索手段44は、リストLから1つ説明変数を取り出し、当該説明変数をモデルAに加えて、モデルBを作成する。モデルBは予測モデルパラメータ76と同じデータ形式で表現されるものである。次いで、ステップS1506では、モデル追加変数探索手段44が、パワー係数決定手段48に対してモデルBとともに要求を送る。これにより、パワー係数決定手段48において、パワー係数決定処理が実行される。モデル追加変数探索手段44では、パワー係数決定手段48からの応答を待つ。以下、パワー係数決定手段48による処理パワー係数決定処理について、図17のフローチャートに沿って詳細に説明する。図17の処理では、まず、ステップS1701において、パワー係数決定手段48が、フィルタパラメータ74を空に初期化する。また、パワー係数決定手段48は、送られてきたモデルBに含まれる説明変数のメトリクスごとにフィルタパラメータ74に行を追加し、メトリクス名の項を設定する。パワー係数λは仮の値として1に設定する。次いで、ステップS1702では、送られてきたモデルBに含まれる説明変数のメトリクスごとにメトリクス情報72から該当するシフト係数αを取得し、フィルタパラメータ74の該当行に設定する。次いで、ステップS1703では、パワー係数決定手段48が、パワー係数の算出処理を実行する。具体的には、以下の処理を行う。Aまず、パワー係数決定手段48は、フィルタパラメータ74を第1パワーフィルタ適用手段16に出力する。次いで、パワー係数決定手段48は、モデルパラメータ決定手段52に要求を送り、モデルパラメータを決定する。この際、モデル追加変数探索手段44から送信されてきたモデルモデルBのデータをモデルパラメータ決定手段52に送る。そして、パワー係数決定手段48は、モデルパラメータ決定手段52の応答を待つ。ここで、モデルパラメータ決定手段52は、以下の処理を行う。aモデルパラメータ決定手段52は、パワー係数決定手段48から、モデルBを表現するデータ予測モデルパラメータ76と同形式のデータを受け取る。b次いで、モデルパラメータ決定手段52は、第1パワーフィルタ適用手段16から、メトリクスに対しフィルタが適用された出力値を説明変数データとして受け取る。c次いで、モデルパラメータ決定手段52は、過去障害情報DB32から、障害情報データを応答変数データとして受け取る。d次いで、モデルパラメータ決定手段52は、予測モデルのパラメータを決定する。この場合、式1について、説明変数がn個あるとして、それらをx1~xnで表し、それに対応する偏回帰係数をa1~anで表し、切片をa0で表すとする。そして、モデルパラメータ決定手段52は、与えられた説明変数データと応答変数データから式1の偏回帰係数a0~anを既知の技術で求める。既知の技術としては、最尤推定法を用いることができる。すなわち、モデルの仮定の下で、応答変数の実測値が発生する確率尤度を最大にするよう、偏回帰係数a0~anを推定することができる。なお、最尤推定法の実施には反復再重み付け最小二乗法を用いるものとする。なお、IRLS法の詳細については、文献PJGreenIterativelyreweightedleastsquaresformaximumlikelihoodestimationandsomerobustandresistantalternativesJournalofRoyalStatisticalSocietyB461491921984URLhttpwwwjstororgpss2345503に記載されている。e次いで、モデルパラメータ決定手段52は、上記において定まる値各偏回帰係数a0~anの値を含む予測モデルパラメータ76と同形式のデータと、予測モデルの最大尤度を応答として、フィルタパラメータ決定手段14に返す。以上のようにして、モデルパラメータ決定手段52からの応答を受け取ると、パワー係数決定手段48は、次の処理に移行する。Bパワー係数決定手段48は、受け取った応答に基づいて、モデルBの評価値を計算する。この場合、パワー係数決定手段48は、モデルの評価値として、AICを用いることとする。AICは前述のように上式8で定義される。C次いで、パワー係数決定手段48は、パワー係数の変更によりモデルを改良可能であるか否かを判断する。ここでの判断方法について、以下説明する。フィルタパラメータ74にメトリクスがn個格納されているとし、i番目のメトリクスのパワー係数をλi=λ1~λnとする。このλ1~λnは、ステップS1703によりモデルパラメータ決定手段52の説明変数データに影響を及ぼし、上記Bの処理において得られるモデルの評価値に影響を及ぼす。すなわち、モデルの評価値をVとすると、上記A,Bの処理の系においてVは次式9で表されるようなλ1~λnの関数となる。すなわち、パワー係数の変更によりモデルを改良可能か判定するとは、上記評価値Vが、λ1~λnを変更することにより、より小さくできるかどうか、という意味である評価値が小さいほど予測モデルが良いことを示す場合を想定。したがって、評価値Vを小さくできる間は上記A、Bの処理を反復することになる。これは、すなわち、多変数関数最適化最小化問題である。つまり、ステップS1703は、収束判定と逐次更新を表しており、これには既知の多変数関数最適化アルゴリズムを使用することができる。なお、基本的には、λ1~λnの範囲に制約を与えない最適化アルゴリズムを用い、例えばBFGS法を用いて最適なλ1~λnを求める。なお、BFGS法の詳細については、例えば、文献JCNashCompactNumericalMethodsforComputersLinearAlgebraandFunctionMinimisationAdamHilger1990ISBN139780852743195に記載されている。上記Cの判断が肯定された場合、すなわち、パワー係数の変更によってモデルが改良できると判断された場合には、フィルタパラメータを更新し、上述したA,Bの処理を再度実行する。一方、上記Cの判断が否定された場合、すなわち、パワー係数の変更によってモデルが改良できないと判断された場合には、ステップS1704に移行する。なお、パワーフィルタリングの挙動を安定させたい場合には、パワー係数λ1~λnの範囲に制約を課すことが有効である。例えば、本実施形態では、-3≦λi≦3という制約を課してその制約内で最適なλ1~λnを求めることができる。この目的のためには、本実施形態では、LBFGSB法を用いることができる。なお、LBFGSB法の詳細については文献RHByrdPLuJNocedalandCZhuAlimitedmemoryalgorithmforboundconstrainedoptimizationSIAMJournalonScientificComputing16pp119012081995URLhttpdxdoiorg1011370916069に記載されている。なお、計算量を低減するためには、さらに強い制約を課す方法を採用しても良い。例えば、λの値の選択肢を-1,0,1,2の4つに絞ってその制約内で最適なλ1~λnを求める方法を採用しても良い。上記ステップS1703を経て、ステップS1704に移行すると、パワー係数決定手段48は、モデル追加変数探索手段44に対して、応答を返し、図17の全処理を終了する。なお、応答には、モデルBに対応する予測モデルパラメータ76と同形式のデータ、及びモデルBの評価値が含まれる。図15に戻り、次のステップS1507では、モデル追加変数探索手段44が、モデルBの評価値がメモリDの値より良い良いモデルの場合に小さい値となるモデル評価値の場合には、比較して小さいか否かを判断する。ここでの判断が否定された場合には、ステップS1504に戻るが、肯定された場合には、ステップS1508に移行する。ステップS1508に移行した場合、モデル追加変数探索手段44は、ステップS1505で取り出した変数のメトリクス名をメモリCに格納するとともに、モデルBの評価値AICをメモリDに格納する。また、モデル追加変数探索手段44は、モデルBをモデルAにコピーするとともに、フィルタパラメータ74をメモリEにコピーする。その後は、ステップS1504に戻る。一方、ステップS1504の判断が肯定された場合、すなわち、全説明変数についてのステップS1505~S1508の処理が終了した場合、ステップS1509に移行する。ステップS1509では、モデル追加変数探索手段44は、メモリCが空か否かを判断する。ここでの判断が肯定された場合、すなわち、ステップS1508の処理が一度も行われなかった場合には、ステップS1511に移行するが、否定された場合には、ステップS1510に移行する。ステップS1510に移行した場合、モデル追加変数探索手段44は、メモリCの指す説明変数を改良可能な追加変数として付加情報モデルBとともに、変数選択手段50に対して、応答する。一方、ステップS1511に移行した場合には、モデル追加変数探索手段44は、改良可能な追加変数は無しであることを、変数選択手段50に対して、応答する。上記のようにステップS1510又はステップS1511を経た後は、モデル追加変数探索手段44は、ステップS1512において、メモリEの内容をフィルタパラメータ74にコピーし、図15の全処理を終了する。なお、変数選択手段50は、モデル追加変数探索手段44からの応答を受け取った段階で、図14のステップS1403に移行する。ステップS1403では、変数選択手段50は、ステップS1402で得られた応答でモデルを改良可能な追加変数があれば、モデルに追加する。このモデルの追加は、具体的には、応答の付加情報のモデルを表すデータを予測モデルパラメータ76にコピーすることにより行われる。次いで、ステップS1404では、変数選択手段50が、モデル除去変数探索手段46に要求を送ることで、モデルを改良可能なモデルから除去する説明変数を探索する。そして、変数選択手段50は、モデル除去変数探索手段46からの応答を待つ。この場合の応答は、変数のメトリクス名又は無しのいずれかである。応答が無しでなければ、応答には、改良されたモデルを表すデータ予測モデルパラメータ76と同形式も付加情報として含まれる。また、応答には、偏回帰係数一式上式1のa0~anも含まれる。モデル除去変数探索手段46では、図16のフローチャートに沿った処理が実行される。なお、図16の処理は、図15の処理とほぼ同一の処理である図16において太線で示す処理が異なっている。より具体的には、ステップ1501のモデルAに追加する候補となる変数のリストLを作成が、ステップ1601においてモデルAに含まれる変数のリストLを作成となっている点、ステップS1505のリストLから1つ変数を取り出し、モデルAに加えたモデルBを作成が、ステップS1605においてリストLから1つ変数を取り出し、モデルAから除去したモデルBを作成となっている点、及び、ステップS1510、S1511の追加変数が、ステップS1610、S1611において除去変数となっている点が異なっている。図16の処理において、モデル除去変数探索手段46から変数選択手段50に対して応答が出されると、図14の次のステップS1405に移行する。ステップS1405では、変数選択手段50が、ステップS1404で得られた応答においてモデルを改良可能な除去変数があった場合に、その除去変数をモデルから除去する。次いで、ステップS1406では、変数選択手段50は、ステップS1403、S1405のいずれかまたは両方でモデルが変更されたか否かを判断する。ここでの判断が肯定された場合には、ステップS1402に戻り、上記と同様の処理を繰り返す。一方、ステップS1406の判断が否定された場合には、図14の全処理を終了する。このように、本実施形態では、モデルが改良できる間は、説明変数の追加又は削除を行いステップS1402~S1405の処理を繰返し、モデルが改良できなくなった段階で、図14の全処理を終了する。この図14の処理が終了した時点で、予測モデル学習手段18による学習が終了したことになる。このようにして学習が終了した段階で、予測モデル学習手段18からは、予測モデルパラメータが予測モデル適用手段26に対して出力される。また、フィルタパラメータ決定手段14からは、フィルタパラメータが第2パワーフィルタ適用手段24に対して出力される。そして、予測手段20においては、これら予測モデルパラメータとフィルタパラメータを用いた障害予測が実行されることになる。以上により、フィルタパラメータ決定手段14と予測モデル学習手段18の処理の説明を終了する。ここで、本第1の実施形態による障害予測の効果について、本第1の実施形態を用いた実際のデータに対する障害予測結果と、既存技術を用いた障害予測結果とを比較しつつ説明する。ここでは、評価データとして、実際のソフトウェアプロジェクトである、NASAMDPリポジトリに収められたデータセットCM1を用いることとする。なお、NASAMDPについては文献NASAIVVFacilityMetricsDataProgramhttpmdpivvnasagovや、文献GBoetticherTMenziesandTOstrandPROMISERepositoryofempiricalsoftwareengineeringdatahttppromisedataorgrepositoryWestVirginiaUniversityDepartmentofComputerScience2007から入手することが可能である。ここで、CM1はC言語で記述された機器制御アプリケーションである。モジュール数496からなるソフトウェアプロジェクトであり、それぞれのモジュールにつき21種のメトリクスが計測され、障害の有無の情報が与えられている。本比較では、第1の実施形態の障害予測方法を用いて、10分割交差検定を、異なる分割にて10回行った。その平均の結果を図18aに示す。また、比較対象の既存技術として、メトリクスlocに対しログフィルタリングを施したロジスティック回帰分析に対しても同様に行った。その平均の結果を図18bに示す。図18aでは、実際に障害があったモジュールのうち、予測で障害ありとされたものは42.5個、予測で障害無しとされたものが5.5個であったことを示す。同様に、実際に障害が無かったモジュールのうち、予測で障害ありとされたものは151.1個、予測で障害無しとされたものが296.9個であったことを示す。図18bも同様の内容のデータである。ここで、予測性能を示す指標として一般的に用いられるものに、精度Precisionと再現率Recallがある。精度は障害ありと予測されたもののうち、実際に障害であったものの割合であり、予測の正確さを示す指標である。再現率は、実際に障害であったもののうち、障害ありと予測されたものの割合であり、予測漏れの少なさを示す指標である。図18cに、図18a、図18bの結果から算出した、第1の実施形態と既存技術の精度と再現率を示し、また第1の実施形態による上昇倍率を示す。本第1の実施形態によれば、既存の障害予測技術の前段にパワーフィルタを挿入することにより、精度が1.13倍、再現率が1.10倍上昇していることが判る。以上、詳細に説明したように、本第1の実施形態によると、障害予測装置100では、第2パワーフィルタ適用手段24が、フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成し、予測モデル適用手段26が、説明変数と予測モデルとを用いて、二値の判別又は数値を予測する。また、障害予測装置100では、フィルタパラメータ決定手段14が、ソフトウェアメトリクスの過去の値に基づいて、フィルタパラメータを決定し、予測モデル学習手段18が、予測モデルの評価値を求め、当該評価値に基づいて、予測モデル適用手段26で用いる予測モデルパラメータを決定する。この場合、フィルタパラメータ決定手段14は、予測モデルの評価値が適正な方向に変化するように予測モデルが改良されるようにフィルタパラメータパワー係数λを更新する処理を繰り返す。また、第2パワーフィルタ適用手段24では、評価値が適正な方向に変化しなくなったときこれ以上予測モデルが改良されなくなったときのフィルタパラメータパワー係数λを用いる。このように、本第1の実施形態では、パワーフィルタを用いることとしているので、ソフトウェアメトリクスの障害との相関が向上し、これにより、予測性能を向上することができる。また、フィルタパラメータを評価値が適正な方向に変化するように更新する処理を繰り返すので、ある説明変数のためのパワー係数が他の説明変数のためのパワー係数に対して影響を及ぼすような場合でも、現実的な時間で適切なフィルタパラメータの計算が可能となる。また、パワーフィルタを用いることで、過学習に対して頑健で、解釈が容易になるという効果も生じる。また、本第1の実施形態では、第1メトリクス計測手段12が、ソフトウェアの各種情報からソフトウェアメトリクスの値を計測し、予測モデル学習手段18が、ソフトウェアメトリクスの値にパワー変換を適用したものを説明変数とし、過去障害情報を応答変数として予測モデルパラメータを決定する。これにより、本第1の実施形態では、パワーフィルタを考慮した適切な予測モデルパラメータの決定予測モデルの学習が可能となる。なお、上記第1の実施形態では、評価値が小さいほど予測モデルが良いことを示す場合を例にとり説明したが、これに限られるものではない。評価値としては、予測モデルが良いほど大きい値となるような評価値を採用することとしてもよい。この場合、ステップS1703において、パワー係数の変更によりモデルを改良可能か判定する際には、λ1~λnを変更することにより、評価値がより大きくなるか否かを判定することとすればよい。《第2の実施形態》以下、第2の実施形態について説明する。本第2の実施形態は、工数予測を行うための工数予測装置100’に関するものである。図19には、工数予測装置100’の構成機能ブロック図が概略的に示されている。図19の工数予測装置100’は、上述した第1の実施形態の障害予測装置100と比較して、以下のA~Cの差異を有している。A予測モデル学習手段に入力する応答変数のためのデータとして、外部の過去工数情報DB32’から工数情報データを受け取る。工数情報データは、図20に示すように、モジュールごとに1行、各行ごとにモジュールのIDの項目と工数の実数値manhourの項目の2項目を持つ表形式で表される。B予測モデルが異なる。上記第1の実施形態では式1に示すようなロジスティック回帰分析を用いたが、本第2の実施形態では対数線形回帰分析を用いる。すなわち、式1を次式10に、式2を次式11に、式7を次式12に置き換える。C予測結果が異なる。工数予測では、工数予測結果manhour36’が出力される。その他については、第1の実施形態と同一となっている。以上説明したように、本第2の実施形態では、上記第1の実施形態と同様の構成を有しているため、工数予測において上記第1の実施形態と同様の効果予測性能の向上等を得ることができる。なお、上記各実施形態では、説明変数となるメトリクスをソースコードに対して計測する場合について説明したが、これに限られるものではない。メトリクスは、例えば、ソフトウェアを構成するデータやそのソフトウェアを開発保守しているプロジェクトの活動情報に対しても計測することができる。なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVDDigitalVersatileDisc、CD-ROMCompactDiscReadOnlyMemoryなどの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。なお、以上の説明に関して更に以下の付記を開示する。付記1フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成するパワーフィルタ適用工程と、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測する予測モデル適用工程と、前記フィルタパラメータを決定するフィルタパラメータ決定工程と、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測モデル適用工程で用いる予測モデルパラメータを決定する予測モデル学習工程と、をコンピュータが実行し、前記フィルタパラメータ決定工程では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワーフィルタ適用工程では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いることを特徴とする予測方法。付記2ソフトウェアの各種情報からソフトウェアメトリクスの値を計測するメトリクス計測工程を、前記コンピュータが更に実行し、前記予測モデル学習工程では、ソフトウェアメトリクスの値にパワー変換を適用したものを説明変数とし、前記二値又は数値の過去の値を応答変数として予測モデルパラメータを決定することを特徴とする付記1に記載の予測方法。付記3前記フィルタパラメータ決定工程では、前記フィルタパラメータのとりうる値に制限をかけて前記フィルタパラメータを決定することを特徴とする付記1又は2に記載の予測方法。付記4前記二値は、障害の有無を示す二値を含むことを特徴とする付記1~3のいずれかに記載の予測方法。付記5前記数値は、前記ソフトウェアを変更する工数を含むことを特徴とする付記1~3のいずれかに記載の予測方法。付記6前記予測モデルとして回帰分析を用いることを特徴とする付記1~5のいずれかに記載の予測方法。付記7前記予測モデルの評価値として、赤池情報量基準AICを用いることを特徴とする付記1~6のいずれかに記載の予測方法。付記8フィルタパラメータに基づいて、ソフトウェアメトリクスの値にパワー変換を適用して、説明変数を生成し、前記説明変数と予測モデルとを用いて、二値の判別又は数値を予測し、前記説明変数を生成する処理で用いる前記フィルタパラメータを決定し、前記予測モデルの評価値を求め、当該評価値に基づいて、前記予測する処理で用いる予測モデルパラメータを決定する、処理をコンピュータに実行させ、前記フィルタパラメータを決定する処理では、前記予測モデルの評価値が適正な方向に変化するようにフィルタパラメータを更新する処理を繰り返し、前記パワー変換では、前記評価値が適正な方向に変化しなくなったときのフィルタパラメータを用いることを特徴とする予測プログラム。付記9ソフトウェアの各種情報からソフトウェアメトリクスの値を計測する処理を、前記コンピュータに更に実行させ、前記予測モデルパラメータを決定する処理では、ソフトウェアメトリクスの値にパワー変換を適用したものを説明変数とし、前記二値又は数値の過去の値を応答変数として予測モデルパラメータを決定することを特徴とする付記8に記載の予測プログラム。付記10前記フィルタパラメータを決定する処理では、前記フィルタパラメータのとりうる値に制限をかけて前記フィルタパラメータを決定することを特徴とする付記8又は9に記載の予測プログラム。付記11前記二値は、障害の有無を示す二値を含むことを特徴とする付記8~10のいずれかに記載の予測プログラム。付記12前記数値は、前記ソフトウェアを変更する工数を含むことを特徴とする付記8~10のいずれかに記載の予測プログラム。付記13前記予測モデルとして回帰分析を用いることを特徴とする付記8~12のいずれかに記載の予測プログラム。付記14前記予測モデルの評価値として、赤池情報量基準AICを用いることを特徴とする付記8~13のいずれかに記載の予測プログラム。"