(57)【要約】【課題】特徴選択を提供する。【解決手段】入力特徴を選択する方法は、電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を識別することを含んでいてもよい。本方法はまた、前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラをプロセッサによって生成することをも含んでいてもよい。本方法はさらに、前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定することを含んでいてもよい。前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含んでいてもよい。本方法は、プロセッサによって、前記第一の依存度が前記第二の依存度より大きいことに応答して前記入力特徴集合から前記第一の入力特徴を選択することを含んでいてもよい。【選択図】図１
2017021772.tif 000002
【特許請求の範囲】
【請求項１】
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラをプロセッサによって生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記プロセッサによって、前記入力特徴集合から前記第一の入力特徴を選択する段階とを含む、
方法。
【請求項２】
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とをさらに含む、
請求項１記載の方法。
【請求項３】
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とをさらに含む、
請求項２記載の方法。
【請求項４】
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
請求項１記載の方法。
【請求項５】
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
請求項１記載の方法。
【請求項６】
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度が前記プロセッサによってケンドールのτを使って決定される、請求項１記載の方法。
【請求項７】
前記第一の入力特徴と前記出力変数との間の関係が線形であり、前記第一の依存度が前記プロセッサによってスピアマンのρを使って決定される、請求項１記載の方法。
【請求項８】
メモリと前記メモリに動作上結合された処理装置とを有するシステムであって、前記処理装置は：
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラを生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記入力特徴集合から前記第一の入力特徴を選択する段階とを実行するよう構成されている、
システム。
【請求項９】
前記処理装置がさらに：
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とを実行するよう構成されている、
請求項８記載のシステム。
【請求項１０】
前記処理装置がさらに：
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とを実行するよう構成されている、
請求項９記載のシステム。
【請求項１１】
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
請求項８記載のシステム。
【請求項１２】
前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と出力との間の前記第一のコピュラを生成することを含む、
請求項８記載のシステム。
【請求項１３】
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度がケンドールのτを使って決定される、請求項８記載のシステム。
【請求項１４】
前記第一の入力特徴と前記出力変数との間の関係が線形であり、前記第一の依存度がスピアマンのρを使って決定される、請求項８記載のシステム。
【請求項１５】
プロセッサによって実行可能なプログラミング・コードがエンコードされている非一時的なコンピュータ可読媒体であって、前記プログラミング・コードは：
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラを生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記入力特徴集合から前記第一の入力特徴を選択する段階とを含む動作を実行するまたは該動作の実行を制御するためのものである、
非一時的なコンピュータ可読媒体。
【請求項１６】
前記動作がさらに：
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とをさらに含む、
請求項１５記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記動作がさらに：
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とをさらに含む、
請求項１６記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
請求項１５記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と出力との間の前記第一のコピュラを生成することを含む、
請求項１５記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度がケンドールのτを使って決定される、請求項１５記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本稿で論じられる実施形態はコピュラ理論に基づく特徴選択に関する。
【背景技術】
【０００２】
特徴選択はしばしば、データ・モデル化技法を改善するために使われる。特徴選択は典型的には、データ・モデル化において使うための関連する特徴の部分集合を選択するプロセスと称される。入力特徴集合における多くの入力特徴がデータ・モデル化のために利用可能であることがあるものの、入力特徴集合における入力特徴のいくつかは他の特徴よりもデータ・モデルの出力に対してより有意であることがありうる。さらに、いくつかの入力特徴は冗長であることがある。データ・モデルにおけるより高い精度を提供するため、出力に影響する入力特徴はデータ・モデルにおいて使用されうる一方、冗長なまたは関連しない入力特徴は、さほどの情報損失なしに除外されうる。
【０００３】
どの入力特徴がデータ・モデルの出力に関連するかを決定することは困難であることがある。いくつかの入力特徴選択アルゴリズムは、入力特徴の間の線形関係に依拠する相関解析に基づく。しかしながら、いくつかの特徴選択技法は、特徴の間の非線形関係を測るのに困難があることがある。さらに、多くの入力特徴は時間とともに変化することがあり、そのような特徴選択技法が入力特徴の間の関係を正確に理解することを一層難しくする。さらに、そのような特徴選択技法は、特徴間の関係を識別することに限定されることがあり、入力特徴と出力との間の依存性を識別しないことがある。
【０００４】
本願で特許請求される主題は、何らかの欠点を解決するまたは上記のような環境でのみ動作する実施形態に限定されるものではない。むしろ、この背景は、本稿に記載されるいくつかの実施形態が実施されうる一つの例示的な技術領域を例解するために与えられているだけである。
【発明の概要】
【課題を解決するための手段】
【０００５】
ある実施形態のある側面によれば、入力特徴を選択する方法は、電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を識別することを含んでいてもよい。本方法はまた、前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラを生成することをも含んでいてもよい。本方法はさらに、前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定することを含んでいてもよい。前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含んでいてもよい。本方法は、プロセッサによって、前記第一の依存度が前記第二の依存度より大きいことに応答して前記入力特徴集合から前記第一の入力特徴を選択することを含んでいてもよい。
【０００６】
前記実施形態の目的および利点は、少なくとも、請求項において具体的に指摘される要素、特徴および組み合わせによって、実現され、達成されるであろう。
【０００７】
上記の概括的な記述および以下の詳細な記述はいずれも例示および説明するものであり、特許請求される発明を制約するものではないことを理解しておくものとする。
【図面の簡単な説明】
【０００８】
例示的実施形態は、付属の図面の使用を通じて、さらなる具体性および詳細さをもって記述され、説明される。
【図１】コピュラ理論に基づく特徴選択を実装しうる例示的なコンピュータ・システムのブロック図である。
【図２】コピュラ理論に基づく特徴選択の例示的な方法の流れ図である。
【図３】入力特徴と出力変数との間のコピュラを決定する方法の流れ図である。
【図４】コピュラ理論に基づく特徴選択との関連での依存度生成の例示的方法の流れ図である。
【図５】コピュラ理論に基づく特徴選択のもう一つの例示的な方法の流れ図である。
【図６】みな本稿に記載される少なくとも一つの実施形態に基づいて構成されている、コピュラ理論に基づく特徴選択のために構成されている例示的なコンピューティング装置を示すブロック図である。
【発明を実施するための形態】
【０００９】
本稿に開示される方法およびシステムは、コピュラ理論に基づく特徴選択が、データ・モデル化における変数の間の関係を識別できるようにする。コピュラ理論に基づく特徴選択は、一つまたは複数の入力特徴と一つまたは複数の出力変数との間の依存性をモデル化するために使われてもよい。コピュラとは、ランダム変数の間の依存性を記述する関数である。コピュラを使うと、変数の周辺分布を知ることなくランダム変数の依存構造を決定することが可能になる。たとえば、ランダム・ベクトル(X1,X2,…,Xd)について、その周辺累積分布関数（CDF）Ui＝Fi(x)＝P(Xi≦x)（i＝1,2,…,d）は連続関数である。スクラーの定理によれば、(X1,X2,…,Xd)の同時CDF、H(X1,X2,…,Xd)＝P(X1≦x1,…,Xd≦xd)は、H(x1,x2,…,xd)＝C(F1(x1),…,Fd(xd))＝C(u1,…,ud)と表わされてもよい。ここで、関数Cは(X1,X2,…,Xd)のコピュラとして定義され、Hは同時CDFである。スクラーの定理は、Hが与えられると、コピュラCが一意的であることも述べる。このように、それぞれの一意的なコピュラは、入力特徴（または入力特徴の集合）の出力変数への相対的な依存性を決定するために使用されうる。
【００１０】
入力特徴選択のためにコピュラを使うことは、さまざまな利点を提供しうる。たとえば、本稿に開示される特徴選択技法は、各入力特徴の間の依存性（特徴と特徴の依存性）と入力特徴と一つまたは複数の出力変数との間の依存性（特徴と出力の依存性）の両方を考慮しうる。たとえば、コピュラは、周辺分布のパラメトリックまたは非パラメトリックなモデルに基づいて、
多様な依存構造を構築するために使われてもよく、それは、一つまたは複数の入力特徴と一つまたは複数の出力変数との間の関係の、他のいくつかの方法と比べてより正確な数学的表現を提供しうる。もう一つの利点は、他のいくつかの方法のもとでなされうるように同時CDFを計算することのない、特徴を記述する際のコピュラ理論の相対的な数学的単純さである。このように、コピュラ理論に基づく特徴選択は、データ・モデルの出力変数に関連する入力特徴を識別しうる。
【００１１】
いくつかの実施形態では、コピュラ理論に基づく特徴選択は、一つまたは複数の入力特徴と一つまたは複数の出力変数との間の関係を識別するために、パラメトリック・モデルと、特徴間の関係に関する履歴データとを使ってもよい。他の実施形態では、履歴データが利用可能でない場合、コピュラ理論に基づく特徴選択は、まず非パラメトリック・モデルを使って特徴自身の間の関係を識別し、次いで特徴間のそれらの関係を使って入力特徴と出力変数との間の関係を識別してもよい。ひとたびこれらの関係がわかれば、特徴選択システムは、関連する入力特徴を識別でき、該関連する入力特徴が、データ・モデルを生成するために使用されうる。本稿に記載される入力特徴選択技法は、入力特徴が動的に増大する一時的特徴集合に加えられる順序を克服するために、最高依存度の入力特徴集合を探索するために探索アルゴリズムを含んでいてもよい。たとえば、探索アルゴリズムは、一時的特徴集合をもって一般的アルゴリズムから出発してもよく、該一時的特徴集合を特徴選択の一環として更新してもよい。たとえば、一時的特徴集合における一つの一時的特徴は、特徴選択プロセスの間に調べられるべき特徴集合における別の特徴によってランダムに置換されてもよい。いくつかの実施形態では、その一時的特徴が、特徴選択プロセスの間によりよい結果を与えることがあり、その一時的特徴は入力特徴集合に追加されてもよい。コピュラ理論に基づく特徴選択は他のいくつかの技法に比べて変数の間の関係を識別するよりよい能力をもつので、コピュラ理論に基づく特徴選択は、より正確なデータ・モデルにもつながりうる。これらおよび他の実施形態は、付属の図面を参照して記述される。
【００１２】
コピュラ理論に基づく特徴選択はいかなる分野におけるデータ・モデル化において使われてもよい。よって、本稿で論じられるいくつかの実施形態は、リアルタイムの価格予測のフレームワークを含む。たとえば、種々の地域および種々のユーティリティー提供者（たとえば、CAISO、ERCOT、NYISOなど）についてのリアルタイムの電気価格は、発電、顧客構成、局所的な気象、インフラストラクチャーなどの差といった、さまざまな特徴によって影響されうる。よって、開示されるコピュラ理論に基づく特徴選択技法は、入力変数に関する絶えざる変化に適応しうるので、有益でありうる。
【００１３】
本稿で論じられる他の実施形態は、住居電気負荷セットの識別および分類のためのフレームワークを含みうる。たとえば、住居負荷についての識別器または分類器は、家庭の電気系統に接続されている消費者電子製品の絶えざる変化のため、頻繁に更新されうる。負荷識別のために、異なる負荷は異なる優勢な入力特徴をもつことがある。たとえば、テレビジョンの立ち上げ過渡波形は、テレビジョンには関連するが、他の電子製品については有意ではないことがありうる。各電子製品は、住居負荷に異なる仕方で貢献する異なる入力特徴をもちうる。いくつかの電子製品は、ある電子製品についての住居負荷に関連するのと同一の入力特徴をもつが、別の電子製品についてとはそうでないことがありうる。このように、種々の負荷について（たとえば、家庭内の種々の電子製品のそれぞれについて）、特定の優勢な入力特徴セット（単数または複数）を識別することが望ましいことがありうる。種々の負荷について特定の優勢な入力特徴セット（単数または複数）を識別するために、本稿に記載される技法は、出力とは独立な入力特徴どうしの間の関係を決定する代わりにおよび／またはそれに加えて、入力特徴と出力との間の関係を識別してもよい。
【００１４】
以下の記述では、開示される主題の議論を容易にするために例として詳細が記述される。開示される実施形態は、単に例として与えられるのであって、あらゆる可能な実施形態を網羅するものではない。いくつかの実施形態は、付属の図面を参照して説明される。
【００１５】
図１は、本稿に記載される少なくとも一つの実施形態に基づいて構成される、コピュラ理論に基づく特徴選択を実装しうる例示的なコンピュータ・システム１００のブロック図である。たとえば、コンピュータ・システム１００は、入力特徴と出力変数との間の関係を決定してもよい。図１に描かれるコンピュータ・システム１００は、コピュラ生成器１０２と、依存度生成器１０４と、特徴選択器１０６と、データ・モデル生成器１０８とを含んでいてもよい。
【００１６】
コンピュータ・システム１００は、プロセッサ、メモリおよびネットワーク通信機能を含むハードウェア・サーバーを含んでいてもよい。いくつかの実施形態では、コンピュータ・システム１００は、フィールド・プログラマブル・ゲート・アレイ（FPGA）または特定用途向け集積回路（ASIC）を含むハードウェアを使って実装されてもよい。他のいくつかの事例では、コンピュータ・システム１００は、ハードウェアとソフトウェアの組み合わせを使って実装されてもよい。
【００１７】
コンピュータ・システム１００では、入力特徴データ、関係データまたはそれらの一部ならびに他のメッセージおよび情報を含むデータ・セットが、コンピュータ装置とデータ記憶１５０との間で通信されてもよい。コンピュータ・システム１００は、データ記憶１５０に動作上結合されていてもよい。たとえば、データ記憶１５０は、コンピュータ・システム１００に固定結線されていてもよい。他の実施形態では、データ記憶１５０はコンピュータ・システム１００とネットワーク（図示せず）を通じてデータ通信してもよい。ネットワークは有線でも無線でもよく、星形構成、トークンリング構成または他の構成を含む数多くの構成をもちうる。ネットワークは、ローカル・エリア・ネットワーク（LAN）、広域ネットワーク（WAN）（たとえばインターネット）および／またはそれを通じて複数の装置が通信しうる他の相互接続されたデータ経路を含んでいてもよい。いくつかの実施形態では、ネットワークはピアツーピア・ネットワークであってもよい。ネットワークは、多様な異なる通信プロトコルにおけるデータの通信を可能にしうる電気通信ネットワークの諸部分に結合されていてもよく、またはそれを含んでいてもよい。いくつかの実施形態では、ネットワークは、ショート・メッセージング・サービス（SMS）、マルチメディア・メッセージング・サービス（MMS）、ハイパーテキスト転送プロトコル（HTTP）、直接データ接続、無線アプリケーション・プロトコル（WAP）、電子メールなどによりデータを送受信するための、ブルートゥース（登録商標）通信ネットワークおよび／またはセルラー通信ネットワークを含んでいてもよい。データ記憶１５０は、コンピュータ・システム１００に含められてもよいし、あるいはコンピュータ・システム１００とは別個であってもよい。
【００１８】
データ記憶１５０は、リムーバブル型記憶装置、非リムーバブル型記憶装置またはそれらの組み合わせであってもよい。リムーバブル型記憶装置および非リムーバブル型記憶装置の例は、少しだけ挙げれば、フレキシブル・ディスク・ドライブおよびハードディスク・ドライブ（HDD）のような磁気ディスク装置、コンパクト・ディスク（CD）ドライブまたはデジタル多用途ディスク（DVD）ドライブのような光学式ディスク・ドライブ、半導体ドライブ（SSD:  solid  state  drive）およびテープ・ドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報の記憶のために任意の方法または技術で実装される、揮発性および不揮発性、リムーバブル型および非リムーバブル型媒体を含んでいてもよい。いくつかの実施形態では、データ記憶１５０はリレーショナル・データベースを含み、各入力特徴およびそのそれぞれのコピュラ１２２および依存度１２４が、出力変数と関連付けてデータ記憶１５０において記憶される。たとえば、特定の出力変数に関し、三つの異なる入力特徴について依存度が生成されるとき、それら三つの異なる入力特徴およびそれぞれの依存度は、その特定の出力変数と関連付けて記憶されてもよい。
【００１９】
コンピュータ・システム１００では、コピュラ生成器１０２は、データ記憶１５０から入力特徴集合１２０を識別してもよい。入力特徴集合１２０は、いくつの特徴を含んでいてもよく、データ・セット全体またはデータ・セットの部分集合を含んでいてもよい。たとえば、予測される電気価格を出力とする電気価格予測モデルでは、入力特徴集合１２０は、時間に関係した入力特徴（たとえば季節、ウィークデー／週末、時間）、負荷に関係した入力特徴（たとえば、スパイク、負荷、リアルタイム負荷と予報された負荷との差）、価格に関係した入力特徴（たとえば、過去一時間についての価格、一日前市場の決済価格、前日同時刻の価格、過去一時間以内の価格変動）、位置に関係した入力特徴（たとえば、送電容量、ゾーン需要量）および他の入力特徴（たとえば、スパイク系列長、弾力的な電気需要、需要価格比）を含んでいてもよい。これらの入力特徴（およびその他）は、時間によっても変わりうる異なる仕方で予測される電気価格に影響しうる。コンピュータ・システム１００は、これらの入力特徴と予測される電気価格（たとえば、出力変数）との間の関係を識別してもよく、関連しないおよび／または冗長な入力特徴を除外する一方、電気価格を予測するために使うべき関連する入力特徴を選択してもよい。いくつかの実施形態では、入力特徴集合１２０は、システム管理者によって定義される。いくつかの実施形態では、入力特徴集合１２０は、特定の出力変数に関連すると以前に判定された特徴の集合を含んでいてもよい。たとえば、コンピュータ・システム１００は、多数のデータ・モデルを実行して、予測される電気価格へのキーとなる入力特徴を識別したことがあるかもしれない。もしたとえば、ある入力特徴がそれらのデータ・モデルのうちの閾値個数において強い関係をもつなら、その入力特徴は、電気価格を予測するためにその後の各データ・モデルにおいて使われるようマークされてもよい。いくつかの実施形態では、マークされた入力特徴は、システム管理者によって、あるいは該マークされた入力特徴を使わない閾値個数のデータ・モデルが生成されたあと自動的に、マーク解除されてもよい。
【００２０】
コピュラ生成器１０２は、入力特徴集合１２０においてある入力特徴を特定してもよく、その入力特徴を、該入力特徴と出力変数との間の依存構造をモデル化するためのコピュラ１２２を生成するために使ってもよい。たとえば、電気価格予測モデルでは、コピュラ生成器１０２は、入力特徴として「スパイク」を識別してもよく、スパイク・データおよび電気価格を使ってコピュラを生成してもよい。いくつかの実施形態では、Xiのコピュラは(X1,X2,…Xd)と表わされてもよい。コピュラ生成器１０２は、生成されたコピュラ１２２を、データ記憶１５０において記憶してもよい。
【００２１】
依存度生成器１０４は、コピュラ１２２を使って、該コピュラ１２２に基づく入力特徴と出力変数との間の依存度１２４を決定してもよい。依存度は、入力特徴と出力変数との間の関係の英数字表現を含みうる。依存度は、増大するまたは減少する依存性のスケールを表わしうる種々の英数字値を含みうる。たとえば、依存度は、十通りの可能な度合い1〜10のうちの一つを含んでいてもよい。ここで、1は、入力特徴と出力特徴との間の関連しない関係を表わす最低の値であり、10は入力特徴と出力特徴との間の関連する関係を表わす最高の値である。他の実施形態では、依存度は二値であってもよく、一方の二進値が関連性を示し、他方の二進値が入力特徴と出力変数との間の非関連性を示す。上記からの電気価格予測モデルの例を続けると、依存度生成器１０４は、スパイク・コピュラ１２２を使って、スパイク・コピュラ１２２と電気価格との間の依存度を決定してもよい。いくつかの実施形態では、依存度生成器１０４は、依存度１２４をデータ記憶１５０において記憶する。
【００２２】
いくつかの実施形態では、入力特徴集合１２０は複数の入力特徴を含む。そのような実施形態では、コピュラ生成器１０２は、入力特徴集合１２０内の各入力特徴の間のコピュラ１２２を推定してもよい。同様に、依存度生成器１０４は、それぞれのコピュラ１２２を使って、入力特徴集合１２０内の各入力特徴について依存度１２４を生成してもよい。コピュラ生成器１０２は、入力特徴集合１２０または入力特徴集合１２０の部分集合と出力変数との間のコピュラ１２２をも推定してもよい。依存度生成器１０４は、入力特徴集合１２０または入力特徴集合１２０の部分集合と出力変数との間で生成された各コピュラ１２２について依存度１２４を生成してもよい。コピュラ生成については、図２、図３および図５との関連でさらに述べる。依存度生成については、図２、図４および図５との関連でさらに述べる。
【００２３】
入力特徴集合１２０（または入力特徴集合１２０の部分集合）内の各入力特徴について各依存度が生成されたら、特徴選択器１０６が一つまたは複数の入力特徴を、それぞれの依存度に基づいて選択してもよい。特徴選択器１０６は、前記一つまたは複数の入力特徴を選択するときにいかなる選択基準を使ってもよい。いくつかの実施形態では、特徴選択器１０６は、閾値より上の依存度をもつすべての入力特徴を選択する。いくつかの実施形態では、特徴選択器１０６は、閾値個数の入力特徴をその依存度に基づいて選択する。たとえば、特徴選択器１０６は、上位5個の（または他の何らかの数の）依存度をもつ入力特徴を、あるいは閾値依存度より大きな依存度をもつすべての入力特徴を選択してもよく、あるいは他の仕方で入力特徴の依存度を使ってどの入力特徴を選択すべきかを決定してもよい。
【００２４】
データ・モデル生成器１０８は、選択された特徴を使って、出力変数についてのデータ・モデルを生成してもよい。データ・モデル生成に先立って実行される特徴選択動作に照らして、データ・モデル生成器１０８は、きわめて正確なデータ・モデルを提供しうる。出力変数に関連した特徴を使って生成されたからである。さらに、データ・モデル生成器１０８がデータ・モデルを生成するために入力特徴の全部は使わないことがありうるので、データ・モデル生成は、他のいくつかの方法より効率的でありうる。より少数の入力特徴は、より少数の資源（たとえば、プロセッサ、メモリ資源）がデータ・モデル生成のために使用されうることを意味しうる。よって、他のいくつかの方法に比べ、本稿に記載される実施形態は、コンピュータ・システム１００の処理速度を改善し、あるいは他の仕方で、たとえばプロセッサおよび／またはメモリ資源の消費を低減することによってコンピュータ・システム１００の機能を改善しうる。データ・モデルを生成するために入力特徴の全部は使用されないことがありうるからである。
【００２５】
さらに、いくつかの実施形態は、他のシステムまたは環境に適用可能であってもよい。図１に描かれたコンピュータ・システム１００はコピュラ理論に基づく特徴選択およびデータ・モデル化を含むが、コンピュータ・システム１００は、少なくとも部分的には本稿に記載されるようにコピュラを使って特徴が選択されうる環境の一つの具体例である。コピュラ理論に基づく特徴選択技法が実装されうる価格予報の例示的実施形態が記述された。あるいはまた、本稿に記載されるのと同様または同一のプロセスが、電気負荷、気象予報、中断しない負荷分類および識別、スマート・センサー・データに基づく人間挙動解析、再生可能エネルギー予報、顧客分類などといった、潜在的には複雑な相互関係をもつ複数の入力特徴がある環境において、コピュラ理論に基づく特徴選択のために使われてもよい。
【００２６】
本開示の範囲から外れることなく、コンピュータ・システム１００に修正、追加または省略がなされてもよい。たとえば、図１に描かれる実施形態は、一つのコピュラ生成器１０２、一つの依存度生成器１０４、一つの特徴選択器１０６、一つのデータ・モデル生成器１０８および一つのデータ記憶１５０を含んでいるが、本開示は、一つまたは複数のコピュラ生成器１０２、一つまたは複数の依存度生成器１０４、一つまたは複数のデータ・モデル生成器１０８、一つまたは複数のデータ記憶１５０またはそれらの組み合わせを含みうるシステムにも当てはまる。もう一つの例として、コピュラ生成器１０２、依存度生成器１０４、特徴選択器１０６、データ・モデル生成器１０８および／またはデータ記憶１５０はサーバーとして実装されてもよく、一方、一つまたは複数のクライアント装置が入力特徴集合１２０の一つまたは複数の特徴を供給してもよく、および／またはデータ・モデル１２８を受領してもよい。
【００２７】
さらに、本稿に記載される実施形態におけるさまざまな構成要素の分離は、その分離がすべての実施形態において行なわれることを示すことは意図されていない。本開示の恩恵があれば、記載される構成要素は単一の構成要素に一緒に統合されてもよく、あるいは複数の構成要素の分離されてもよいことは理解されうる。
【００２８】
図２〜図５は、コピュラ理論に基づく特徴選択に関係したさまざまな方法の流れ図である。これらの方法は、ハードウェア（たとえば回路、専用論理など）、ソフトウェア（汎用コンピュータ・システムまたは専用機において実行されるようなもの）または両者の組み合わせを含んでいてもよい処理論理によって実行されてもよく、該処理論理はコンピュータ・システム１００または別のコンピュータ・システムまたは装置に含まれてもよい。説明の簡単のため、本稿に記載される方法は、一連の工程として描かれ、記述される。しかしながら、本開示に基づく工程は、さまざまな順序でおよび／または同時並行して、あるいは本稿では呈示および記載されない他の工程とともに行なわれてもよい。さらに、図示したすべての工程が開示される主題に基づく方法を実装するために必要とされるとは限らない。さらに、当業者は、これらの方法は代替的に、状態図またはイベントを介して一連の相互に関係した状態として表現されることができることを理解するであろう。さらに、本明細書で開示される方法は、そのような方法をコンピューティング装置に輸送し、転送することを容易にするために、非一時的なコンピュータ可読媒体のような製造物に記憶されることができる。本稿で使われるところの製造物という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータ・プログラムを包含することが意図されている。図２〜図５との関連で図示され、記述される方法は、たとえば、図１のコンピュータ・システム１００のようなシステムによって実行されてもよい。呈示の明確のため、以下の記述は、これらの方法を記述するための例として、コンピュータ・システム１００を使うが、これらの方法を実行するために別のシステムまたはシステムの組み合わせが使われてもよい。
【００２９】
図２は、本稿に記載される少なくとも一つの実施形態に基づいて構成された、コピュラ理論に基づく特徴選択の例示的な方法２００の流れ図である。方法２００は、処理論理が前処理を実行するブロック２０５で始まってもよい。前処理の一環として、処理論理は任意のカウンタをリセットしてもよい。たとえば、処理論理はカウンタiをi＝1にリセットしてもよい。ブロック２１０では、処理論理は、入力特徴集合における入力特徴の数Nを決定してもよい。本稿に記載されるところでは、入力特徴集合には任意の数の特徴が含まれうる。処理論理は、入力特徴集合における特徴の数を、図１のデータ記憶１５０のようなデータ記憶に記憶してもよい。
【００３０】
ブロック２１５では、処理論理は、入力特徴Xiと出力変数Yとの間の依存関係をモデル化するコピュラを生成してもよい。方法２００の一部または全部が逐次反復的であってもよい。それにより、i＝1のとき、ブロック２１５は処理論理が第一の入力特徴X1と出力変数Yとの間の依存関係をモデル化する第一のコピュラを生成することを含んでいてもよい。第一のコピュラを生成することは、入力特徴集合において第一の入力特徴Xiを識別することを含んでいてもよい。処理論理は、第一のコピュラを生成するためにいかなる好適な技法（単数または複数）を使ってもよい。いくつかの実施形態では、処理論理は、入力特徴集合に関する事前データが利用可能であるときにはパラメトリックな推定技法を使ってもよく、あるいは入力特徴集合に関する事前データが利用可能でないときには非パラメトリックな推定技法を使ってもよい。これについては図３との関連でさらに述べる。処理論理は、コピュラを、図１のデータ記憶１５０のようなデータ記憶に記憶してもよい。
【００３１】
ブロック２２０では、処理論理は、第一のコピュラに基づいて、第一の入力特徴Xiと出力変数Yとの間の第一の依存度を決定する。ブロック２２５では、処理論理は、入力特徴Xiと出力変数Yとの間の第一の依存度を、図１のデータ記憶１５０のようなデータ記憶に記憶する。
【００３２】
ブロック２３０では、処理論理はカウンタiを1だけインクリメントする（たとえばi＝i＋1に設定する）。ブロック２３５では、処理論理はカウンタiが入力特徴集合における入力特徴の数Nに1を加えたものより少ないかどうかを判定し（たとえば、i＜N＋1か？）、iがN＋1より小さいときは（たとえば、ブロック２３５において「YES」）、処理論理はブロック２１５にループして、入力特徴集合における次のまたは別の入力特徴について依存度を決定してもよい。処理論理は、この前方へのたどりを、入力特徴集合における各入力特徴についてコピュラおよび依存度を決定してしまうまで、実行してもよい。
【００３３】
処理論理が入力特徴集合における各入力特徴について依存度を決定したのち（たとえばブロック２３５において「NO」）、ブロック２４０で、処理論理は、任意的に、各入力特徴を、それぞれの依存度に従ってランク付けしてもよい。たとえば、処理論理は、数字の逆順または数字の降順に数値的に依存度をランク付けしてもよい。それにより、最も大きな値をもつ依存度が最高にランク付けされる。たとえば、処理論理は、各依存度に数値ランクを割り当ててもよく、該ランクを、それぞれの入力特徴と関連付けて電子データ記憶装置に記憶してもよい。いくつかの実施形態では、処理論理は、いくつかの入力特徴を「非アクティブ」としてマークしてもよい。それにより、非アクティブとマークされた入力特徴は、出力変数について生成されるデータ・モデルにおける入力特徴として使用されなくなる。いくつかの実施形態では、処理論理は、最低閾値より下の依存度をもつ入力特徴を破棄してもよい。
【００３４】
ブロック２４５では、処理論理は、決定された依存度に基づいて一つまたは複数の入力特徴を選択する。たとえば、処理論理は、少なくとも、最高のランクの入力特徴、たとえば最高の依存度に対応する入力特徴を、その数値ランクが他の入力特徴の他の依存度より高いことに応答して選択してもよい。いくつかの実施形態では、処理論理は、選択された一つまたは複数の入力特徴を使って出力についてデータ・モデルを生成してもよい。他の実施形態では、処理論理は、選択された一つまたは複数の入力特徴を、その後のデータ・モデル生成のためにデータ・モデル生成器に送る。
【００３５】
図３は、少なくとも一つの実施形態に基づいて構成された、入力特徴と出力変数との間のコピュラを決定する方法の流れ図３００を示している。コピュラ理論に基づく特徴選択は、異なる実施形態に基づき変わりうる。いくつかの実施形態では、入力特徴集合が受け入れ可能なサイズに満たないとき、各特徴間の依存性があまり強くないときおよび／または各特徴間の依存性が出力変数に対して限られた影響をもつときなど、コピュラを決定するためにそれほど複雑でない方法が使われてもよい。該それほど複雑でない方法は、主として、諸特徴と出力変数との間の既知の関係を識別することに焦点を当ててもよい。他の実施形態では、処理論理は、コピュラ理論に基づく特徴選択のより複雑な方法を使ってもよい。コピュラ理論に基づく特徴選択の該より複雑な方法は、入力特徴集合中の入力特徴間の関係についてほとんどまたは何も知られていないときに使われてもよい。コピュラ理論に基づく特徴選択のこの第二の方法は、入力特徴と出力変数との間の関係のほか各特徴間の関係を識別するために使われてもよい。
【００３６】
方法３００は、ブロック３０５で始まってもよい。ここでは、処理論理は、入力特徴Xiに関する事前データへのアクセスがあるかどうかを判定する。事前データは、入力特徴Xiと一つまたは複数の他の入力特徴との間の既知の関係に関係していてもよい。
【００３７】
事前データが存在するとき（たとえばブロック３０５で「YES」）、ブロック３１０において、処理論理は、入力特徴Xiと出力変数との間のコピュラを、パラメトリック推定を使って決定する。パラメトリック推定とは、入力特徴集合（単数または複数）に対して事前の知識が適用されうるコピュラ生成へのアプローチをいうことがある。コピュラの二つの主要なファミリーがある。ガウス式とアルキメデス式である。各ファミリーのもとに、tスチューデントおよびブラウン式（いずれもガウス式）およびクレイトン（Clayton）またはガンベル（Gumbel）（いずれもアルキメデス式）など、多くの異なる型のコピュラ生成技法がある。これら異なる型のコピュラは異なる状況に適用されてもよい。たとえば、ブラウン式コピュラは価格予報において使用されてもよい。
【００３８】
事前データが存在しないとき（たとえばブロック３０５において「NO」）、ブロック３１５において、処理論理は、入力特徴Xiと出力変数との間のコピュラを、非パラメトリック推定を使って決定する。非パラメトリック推定とは、入力特徴集合について事前の知識が与えられない場合のコピュラ生成技法をいうことがある。たとえば、多変量データを調べるとき、根底にあるコピュラを調査することがある。たとえば、連続的なマージンをもつランダム・ベクトル（X1,X2,…,Xd）からの観察（X1i,X2i,…,Xdi）、i＝1,…,nがあるとする。対応する「真」のコピュラ観察は
【数１】
2017021772.tif 000003
と表わされてもよい。しかしながら、周辺分布関数Fiは通例わからない。よって、代わりに経験的な分布関数
【数２】
2017021772.tif 000004
を使うことによって擬似コピュラ観察を構築してもよい。すると、擬似コピュラ観察は
【数３】
2017021772.tif 000005
として定義されうる。すると、対応する経験的コピュラは
【数４】
2017021772.tif 000006
として定義されうる。擬似コピュラ・サンプルの成分は
【数５】
2017021772.tif 000007
と書かれてもよい。ここで、Rkiは観察Xkiのランク
【数６】
2017021772.tif 000008
である。よって、経験的コピュラは、ランク変換されたデータの経験的な分布と見ることができる。
【００３９】
パラメトリック推定は、多変数の分布が存在するときに使われてもよい。たとえば、ガウス・コピュラは、ガウス分布に基づくコピュラである。ガウス式コピュラは、単位立方体[0,1]dにわたる分布である。これは典型的には、確率積分変換を使うことによってRdにわたる多変量正規分布から構築される。所与の相関行列
【数７】
2017021772.tif 000009
について、パラメータ行列Rをもつガウス式コピュラは
【数８】
2017021772.tif 000010
と書かれてもよい。ここで、Φ-1は標準ノーマルの逆累積分布関数であり、ΦRは、平均ベクトルが0で、共分散行列が相関行列Rに等しい多変量正規分布〔ノーマル分布〕の同時累積分布関数である。密度は
【数９】
2017021772.tif 000011
と書かれてもよい。ここで、Iは恒等行列である。
【００４０】
図４は、本稿に記載される少なくとも一つの実施形態に基づく、コピュラ理論に基づく特徴選択との関連での依存度生成の例示的方法４００の流れ図である。
【００４１】
ブロック４０５では、処理論理は入力特徴Xiと出力変数との間の関係が線形であるかどうかを判定する。いくつかの実施形態では、処理論理は、特定の応用シナリオに基づいて線形関係を判定する。たとえば、ある種の型の応用は、風力予報シナリオにおける風速と風力など、線形関係を判別することが容易であることがある。価格と負荷の関係が指数関数的関係でありうる価格予報のように、いくつかの応用は非線形であることがある。一例では、典型的には、線形相関解析が二つの群のデータに適用されて、それらの関係を調べてもよい。線形回帰が適用されてもよく、仮説検定に合格する場合に、それら二つの群のデータが線形関係をもつと判定されてもよい。仮説検定は、R検定（R-test）または他の型の仮説検定を使ってもよい。
【００４２】
入力特徴Xiと出力変数との間の関係が線形であるとき（たとえば、ブロック４０５で「YES」）、ブロック４１０において、処理論理は、入力特徴Xiと出力Yとの間の依存度を、スピアマンのρを使って決定する。スピアマンのρは
【数１０】
2017021772.tif 000012
と表わせる。
【００４３】
入力特徴Xiと出力変数との間の関係が非線形であるとき（たとえばブロック４０５において「NO」）は、ブロック４１５において、処理論理は、入力特徴Xiと出力Yとの間の依存度を、ケンドールのτを使って決定する。ケンドールのτは
【数１１】
2017021772.tif 000013
と表わせる。
【００４４】
図５は、本稿に記載される少なくとも一つの実施形態に基づく、コピュラ理論に基づく特徴選択のもう一つの例示的な方法５００の流れ図である。ブロック５０５において、処理論理は前処理を実行する。前処理の一環として、処理論理はあらゆるカウンタをリセットしてもよい。たとえば、処理論理はカウンタiをi＝0にリセットしてもよい。処理論理は、入力特徴集合における入力特徴の数Nをも決定してもよい。本稿に記載されるように、任意の数の特徴が入力特徴内にあってもよい。処理論理は、入力特徴集合中の特徴数を、図１のデータ記憶１５０のようなデータ記憶に記憶してもよい。
【００４５】
ブロック５１０において、処理論理は空の入力特徴集合Fiを定義する。空の入力特徴集合Fiは一時的な特徴集合であってもよい。方法５００の実行の間に、処理論理は、Fiに入力特徴を逐次反復的に追加し、新たな入力特徴が加えられるたびにFiについてのコピュラを決定してもよい。
【００４６】
ブロック５１５では、処理論理はF−Fiを生成する。Fは全特徴集合である。Fiは選択特徴集合〔選択された特徴の集合〕であり、初期には0個の特徴を含んでいる。F−Fiは非選択特徴集合〔選択されていない特徴の集合〕である。
【００４７】
ブロック５２０では、処理論理は、新たな入力特徴Xd+1がFi内にあるかどうかを判定する。Xd+1がFi内にないとき（ブロック５２０において「NO」）、ブロック５２５において、処理論理はXd+1をFiに加える。Xd+1がFi内にあるとき（ブロック５２０において「YES」）、ブロック５３０において、処理論理はXd+1をF−Fiからの新たな入力特徴を使って置換する。
【００４８】
ブロック５３５では、処理論理は、Fi内の各入力特徴の間の第一のコピュラを推定または生成してもよい。これはC1と表わされてもよく、Xd+1の諸特徴（X1,X2,…,Xd）とのコピュラである。Fi内に一つの入力特徴しかない場合には、コピュラは計算されなくてもよい。Fi内の一つの入力特徴とは、アルゴリズムが初期化フェーズにあることを意味しうる。
【００４９】
ブロック５４０では、処理論理は、新たな入力Xd+1とFi内の各Xiとの間の依存度を決定する。処理論理は、図４との関連でさらに述べているように、（X1,X2,…,Xd,Xd+1）のYとの依存度をも計算してもよい。
【００５０】
ブロック５４５では、処理論理は、ブロック５４０で生成された依存度（単数または複数）が閾値より高いかどうかを判定してもよい。閾値はいかなる値であってもよく、システム管理者によって定義された所定の数であってもよい。
【００５１】
依存度が閾値より高くないとき（たとえばブロック５４５において「NO」）、ブロック５５０において、処理論理は、Fi内の各入力特徴と出力変数Yとの間の第二のコピュラを推定または生成してもよい。これはC2と表わされてもよく、（X1,X2,…,Xd,Xd+1）のYとのコピュラである。処理論理は、後述するブロック５６０に進んでもよい。
【００５２】
依存度が閾値より高いとき（たとえばブロック５４５において「YES」）、ブロック５５５において、処理論理は、依存度を使ってFiから入力特徴を除去する。いくつかの実施形態では、第一のコピュラおよび第二のコピュラが互いから閾値変動以内である（すなわち、類似性において近い）ときは、処理論理は、出力変数Yと、ブロック５２５または５３０において入力特徴集合に加えられた入力特徴との間の依存性が有意ではないと推論してもよい。処理論理は、入力特徴集合Fiから、任意の有意でない入力特徴を除去してもよい。たとえば、処理論理は、低い関係、依存度をもつ特徴または小さなコピュラの特徴を除去してもよい。Xd+1がYと高い関係をもたないときは、Xd+1はFiに加えられなくてもよい。処理論理は、下記の例に記述されるようにFから特徴を除去してもよい。
【００５３】
ブロック５６０では、処理論理は、F−Fiに何らかの入力特徴が残っているかどうかを判定する。F−Fiにまだ入力特徴がある場合（ブロック５６０で「YES」）には、処理論理はブロック５２５および５３０で述べたようにFiにもう一つの入力特徴を加えてもよい。このように、Fiのサイズは、処理論理がブロック５２０〜５６０を通じてループするにつれて増大し続けてもよい。各ループについて、処理論理はFiに一つのさらなる入力特徴を加えてもよい。各新しいFiについて、処理論理はブロック５３５および５４０で追加的なコピュラを生成してもよい。各異なるFiは、コピュラおよび各コピュラに対応する依存度の独自の一意的な集合を有することになる。たとえば、処理論理は、各入力特徴集合Fiについて、特徴と特徴のコピュラおよび特徴と出力変数のコピュラを生成してもよい。
【００５４】
F−Fiに入力特徴がない場合（ブロック５６０で「NO」）には、ブロック５６５において、処理論理は高い依存度をもつ入力特徴X*を選択する。いくつかの実施形態では、第二のコピュラの最高の依存度が選択されてもよく、Xd+1が入力特徴集合に加えられる。ブロック５７０では、処理論理は選択された入力特徴X*を入力特徴集合に加える（たとえば、Fi+1＝Fi＋X*）。
【００５５】
ブロック５７５では、処理論理はカウンタiを1インクリメントしてもよい（たとえばi＝i＋1と置く）。ブロック５８０では、処理論理はカウンタiが、入力特徴集合における入力特徴の数Nに1を加えたものより小さいかどうか（たとえばi＜N＋1か？）を判定する。iがN＋1より小さいとき（たとえばブロック５８０で「YES」）、処理論理はブロック５１５にループで戻り、F−Fiを再計算してもよい。iがN＋1以上であるとき（たとえばブロック５８０で「NO」）、ブロック５８５で、処理論理は本稿に記載されるように最高の依存度をもつ一つまたは複数の入力特徴を選択する。いくつかの実施形態では、処理論理は本稿に記載されるように低い依存度をもつ入力特徴を破棄する。処理論理は、選択された一つまたは複数の入力特徴を記憶してもよく、それが出力Yについてのデータ・モデルを生成するために使われてもよい。
【００５６】
方法５００の動作の一例では、F＝{a,b,c,d,e,f,g}、Fi＝{a,b,c}、F−Fi＝{d,e,f,g}である。ブロック５２０では、処理論理はFからのdをFiに加えてもよい。
【００５７】
ブロック５３５では、処理論理は、コピュラを使ってdとa,b,cとの間の関係を計算してもよい。ブロック５４０では、処理論理は前記コピュラを使って依存度を計算してもよい。ブロック５４５では、処理論理は、dがa、bもしくはcまたはそれらの組み合わせと似ている（たとえば、前記依存度が閾値より上）ため、dが選択されない（たとえばブロック５４５で「YES」）ことを決定してもよい。いくつかの実施形態では、dはFから除去される。依存度が閾値より下のとき（たとえば、ブロック５４５で「NO」）、ブロック５５０において、処理論理はもう一つのコピュラを、今度はdとY(a,b,c)との間で、計算してもよい。
【００５８】
ブロック５６５では、処理論理は、Fからeを選択してもよい。ブロック５２０では、処理論理はFからのeをFiに加えてもよい。ブロック５３５では、処理論理は、eとa,b,cとの間の関係を計算してもよく、コピュラC1を生成してもよい。ブロック５４０では、処理論理はeがa、bまたはcに似ているかどうかを判定するために依存度を計算してもよい。今の例では、eについての依存度は閾値より下であり、ブロック５５０において、処理論理はeとY(a,b,c)との間の関係を計算してもよく、コピュラC2を生成してもよい。処理論理は、コピュラC2に基づきeがa、b、cのいずれにも似ていないので、一時的にeを選択してもよい。特徴fおよぎgがまだF−Fiに残っており、よって処理論理はブロック５６５でfを選択する。
【００５９】
ブロック５２０において、処理論理はFからのfをFiに加えてもよい。ブロック５３５では、処理論理は、fとa,b,cとの間の関係を計算してもよく、コピュラC3を生成してもよい。ブロック５４０では、処理論理はfがa、bまたはcに似ているかどうかを判定するために依存度を計算してもよい。今の例では、fについての依存度は閾値より下であり、ブロック５５０において、処理論理はfとY(a,b,c)との間の関係を計算してもよく、コピュラC4を生成してもよい。ブロック５４５において、処理論理は、fがa、bまたはcに似ているかどうかを判定してもよい。処理論理は、コピュラC2に基づきeがa、b、cのいずれにも似ていないので、一時的にfを選択してもよい。処理論理はgについて同様の動作を実行してもよく、コピュラC5およびC6を生成してもよい。
【００６０】
ブロック５６５では、処理論理はeについてのC2、fについてのC4およびgについてのC6の三つのコピュラを使ってもよく、次いで最高のコピュラを選択してもよい。たとえば、C2が最高のコピュラであってもよく、処理論理はeを選択し、eをFiに加えてもよい。それにより新しいFi＝{a,b,c,e}となる。ブロック５１５では、処理論理は再びF−Fiを生成してもよく、これは{d,e,f,g}に等しくなる。処理論理はF−Fiが空集合に等しくなるまでまたはFi内の各特徴についてコピュラが生成済みになるときまでブロック５２０〜５６０を反復してもよい。
【００６１】
当業者は、この、および本稿に開示される他のプロセスおよび方法のために、該プロセスおよび方法において実行される機能が異なる順序で実装されてもよいことを理解するであろう。さらに、概説されたステップおよび動作は例として与えられているのみである。ステップおよび動作のいくつかは、開示される実装の本質を損なうことなく、任意的であったり、より少数のステップおよび動作に組み合わされたり、あるいは追加的なステップおよび動作に展開されたりしてもよい。
【００６２】
本稿に記載される実施形態は、のちにより詳細に論じるさまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含む特殊目的または汎用のコンピュータの使用を含んでいてもよい。
【００６３】
図６は、本稿に記載される少なくとも一つの実施形態に基づいて構成された、コピュラ理論に基づく特徴選択のために構成されている例示的なコンピューティング装置６００を示すブロック図である。基本的構成６０２では、コンピューティング装置６００は典型的には一つまたは複数のプロセッサ６０４およびシステム・メモリ６０６を含む。プロセッサ６０４とシステム・メモリ６０６との間で通信するためにメモリ・バス６０８が使用されてもよい。
【００６４】
所望される構成に依存して、プロセッサ６０４は、これに限られないが、マイクロプロセッサ（μP）、マイクロコントローラ（μC）、デジタル信号プロセッサ（DSP）またはそれらの任意の組み合わせを含む任意の型のものであってもよい。プロセッサ６０４は、レベル１キャッシュ６１０およびレベル２キャッシュ６１２のような一つまたは複数レベルのキャッシュ、プロセッサ・コア６１４およびレジスタ６１６を含んでいてもよい。プロセッサ・コア６１４は、算術論理ユニット（ALU:  arithmetic  logic  unit）、浮動小数点ユニット（FPU:  floating  point  unit）、デジタル信号処理コア（DSPコア）またはそれらの任意の組み合わせを含んでいてもよい。例示的なメモリ・コントローラ６１８は、プロセッサ６０４と一緒に使用されてもよいし、あるいはいくつかの実装では、メモリ・コントローラ６１８はプロセッサ６０４の内部の部分であってもよい。
【００６５】
所望される構成に依存して、システム・メモリ６０６は、これに限られないが、揮発性メモリ（RAMなど）、不揮発性メモリ（ROM、フラッシュ・メモリなど）またはそれらの任意の組み合わせを含む任意の型のものであってよい。システム・メモリ６０６は、オペレーティング・システム６２０、一つまたは複数のアプリケーション６２２およびプログラム・データ６２４を含んでいてもよい。アプリケーション６２２は、本稿に記載される入力特徴選択を実行するよう構成されている入力特徴選択アルゴリズム６２６を含んでいてもよい。プログラム・データ６２４は、本稿に記載される入力特徴データまたは他の入力特徴データを含んでいてもよい。いくつかの実施形態では、アプリケーション６２２は、本稿に記載されたようにそれぞれ図２、図３、図４および図５の方法２００、３００、４００および５００が提供されうるようオペレーティング・システム６２０上でプログラム・データ６２４とともに動作するよう構成されていてもよい。
【００６６】
コンピューティング装置６００は、基本的な構成６０２と関連する何らかの装置およびインターフェースとの間の通信を容易にするため、追加的な特徴または機能ならびに追加的なインターフェースを有していてもよい。たとえば、バス／インターフェース・コントローラ６３０が、記憶インターフェース・バス６３４を介して基本的な構成６０２と一つまたは複数のデータ記憶装置６３２との間の通信を容易にするために使われてもよい。データ記憶装置６３２はリムーバブル型記憶装置６３６、非リムーバブル型記憶装置６３８またはそれらの組み合わせであってもよい。リムーバブル型記憶装置および非リムーバブル型記憶装置の例は、少しだけ挙げれば、フレキシブル・ディスク・ドライブおよびハードディスク・ドライブ（HDD）のような磁気ディスク装置、コンパクト・ディスク（CD）ドライブまたはデジタル多用途ディスク（DVD）ドライブのような光学式ディスク・ドライブ、半導体ドライブ（SSD:  solid  state  drive）およびテープ・ドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報の記憶のために任意の方法または技術で実装される、揮発性および不揮発性、リムーバブル型および非リムーバブル型媒体を含んでいてもよい。
【００６７】
システム・メモリ６０６、リムーバブル型記憶装置６３６および非リムーバブル型記憶装置６３８はコンピュータ記憶媒体または非一時的なコンピュータ可読媒体の例である。コンピュータ記憶媒体または非一時的なコンピュータ可読媒体は、RAM、ROM、EEPROM、フラッシュ・メモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク（DVD）または他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置または所望される情報を記憶するために使用できコンピューティング装置６００によってアクセスできる他の任意の媒体を含む。そのような任意のコンピュータ記憶媒体または非一時的なコンピュータ可読媒体はコンピューティング装置６００の一部であってもよい。
【００６８】
コンピューティング装置６００は、さまざまなインターフェース装置（たとえば、出力装置６４２、周辺インターフェース６４４および通信装置６４６）から基本的な構成６０２への、バス／インターフェース・コントローラ６３０を介した通信を容易にするためにインターフェース・バス６４０をも含んでいてもよい。出力装置６４２は、グラフィック処理ユニット６４８およびオーディオ処理ユニット６５０を含む。これらは、一つまたは複数のA/Vポート６５２を介してディスプレイまたはスピーカーのようなさまざまな外部装置に通信するよう構成されていてもよい。周辺インターフェース６４４は、シリアル・インターフェース・コントローラ６５４またはパラレル・インターフェース・コントローラ６５６を含む。これらは、一つまたは複数のI/Oポート６５８を介して入力装置（たとえばキーボード、マウス、ペン、音声入力装置、タッチ入力装置など）、センサーまたは他の周辺装置（たとえばプリンタ、スキャナなど）のような外部装置と通信するよう構成されていてもよい。通信装置６４６はネットワーク・コントローラ６６０を含み、該ネットワーク・コントローラ６６０は、一つまたは複数の通信ポート６６４を介して、ネットワーク通信リンクを通じて、一つまたは複数の他のコンピューティング装置６６２との通信を容易にするよう構成されていてもよい。
【００６９】
ネットワーク通信リンクは、通信媒体の一例でありうる。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラム・モジュールまたは搬送波もしくは他の転送機構のような変調されたデータ信号の形の他のデータによって具現されてもよく、任意の情報送達媒体を含んでいてもよい。「変調されたデータ信号」は、その特性の一つまたは複数が、当該信号内に情報をエンコードするような仕方で設定または変更される信号であってもよい。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線（direct-wired）接続のような有線媒体および音響、電波周波数（RF:  radio  frequency）、マイクロ波、赤外線（IR）および他の無線媒体のような無線媒体を含んでいてもよい。本稿で使われる「コンピュータ可読媒体」の用語は、記憶媒体および通信媒体の両方を含みうる。
【００７０】
コンピューティング装置６００は、スマートフォン、携帯情報端末（PDA）または特定用途向けデバイスといった小型形状因子のポータブル（またはモバイル）電子装置の一部として実装されてもよい。コンピューティング装置６００はまた、ラップトップ・コンピュータおよび非ラップトップ・コンピュータの構成の両方を含むパーソナル・コンピュータとして、あるいはラックマウント式のサーバー・コンピュータおよびブレード・サーバー・コンピュータ構成の両方を含むサーバー・コンピュータとして実装されてもよい。
【００７１】
本稿に記載される実施形態は、コンピュータ実行可能命令またはデータ構造を担持するまたは記憶するコンピュータ可読媒体を使って実装されてもよい。そのようなコンピュータ可読媒体は、汎用または専用コンピュータによってアクセスされうるいかなる利用可能な媒体を含んでいてもよい。限定ではなく例として、そのようなコンピュータ可読媒体は非一時的なコンピュータ可読記憶媒体を含んでいてもよく、それは、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、電気的に消去可能なプログラム可能型読み出し専用メモリ（EEPROM）、コンパクト・ディスク読み出し専用メモリ（CD-ROM）または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス、フラッシュ・メモリ・デバイス（たとえば半導体メモリ・デバイス）またはコンピュータ実行可能命令またはデータ構造の形で所望されるプログラム・コードを担持または記憶するために使用されうる、汎用または専用コンピュータによってアクセスされうる他の任意の記憶媒体を含んでいてもよい。上記の組み合わせも、コンピュータ可読媒体の範囲内に含められてもよい。
【００７２】
コンピュータ実行可能命令はたとえば、汎用コンピュータ、専用コンピュータまたは専用処理装置（たとえば一つまたは複数のプロセッサ）に、ある機能または機能群を実行させる命令およびデータを含んでいてもよい。主題は構造的な特徴および／または方法論的な工程に固有の言辞で記述されてきたが、付属の請求項において定義される主題は必ずしも上記の個別的な特徴または工程に限定されないことは理解される。むしろ、上記の個別的な特徴および工程は、請求項を実装する例示的な形として開示されている。
【００７３】
本稿での用法では、用語「モジュール」または「コンポーネント」は、コンピューティング・システムの汎用ハードウェア（たとえばコンピュータ可読媒体、処理装置など）に記憶および／または実行されうるモジュールまたはコンポーネントおよび／またはソフトウェア・オブジェクトまたはソフトウェア・ルーチンの動作を実行するよう構成された個別的なハードウェア実装を指すことがありうる。いくつかの実施形態では、本稿に記載される種々のコンポーネント、モジュール、エンジンおよびサービスは、（たとえば別個のスレッドとして）コンピューティング・システム上で実行されるオブジェクトまたはプロセスとして実装されてもよい。本稿に記載されるシステムおよび方法のいくつかは一般に（汎用ハードウェアに記憶されるおよび／または実行される）ソフトウェアで実装されるものとして記述されるが、個別的なハードウェア実装またはソフトウェアおよび個別的ハードウェア実装の組み合わせも可能であり、考えられている。本稿において、「コンピューティング・エンティティ」は、本稿で先に定義した任意のコンピューティング・システムまたはコンピューティング・システム上で走る任意のモジュールまたはモジュレットの組み合わせであってよい。
【００７４】
本稿に記載されるすべての例および条件付きの言辞は、本発明および発明者によって当技術分野の発展のために寄与される概念の理解において読者を助ける教育目的を意図されており、そのような特定的に挙げられる例および条件に限定することなく解釈されるものとする。本発明の実施形態について詳細に述べてきたが、本発明の精神および範囲から外れることなく、これにさまざまな変化、代替および変更をなすことができることは理解しておくべきである。
【００７５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラをプロセッサによって生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記プロセッサによって、前記入力特徴集合から前記第一の入力特徴を選択する段階とを含む、
方法。
（付記２）
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とをさらに含む、
付記１記載の方法。
（付記３）
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とをさらに含む、
付記２記載の方法。
（付記４）
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
付記１記載の方法。
（付記５）
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
付記１記載の方法。
（付記６）
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度が前記プロセッサによってケンドールのτを使って決定される、付記１記載の方法。
（付記７）
前記第一の入力特徴と前記出力変数との間の関係が線形であり、前記第一の依存度が前記プロセッサによってスピアマンのρを使って決定される、付記１記載の方法。
（付記８）
メモリと前記メモリに動作上結合された処理装置とを有するシステムであって、前記処理装置は：
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラを生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記入力特徴集合から前記第一の入力特徴を選択する段階とを実行するよう構成されている、
システム。
（付記９）
前記処理装置がさらに：
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とを実行するよう構成されている、
付記８記載のシステム。
（付記１０）
前記処理装置がさらに：
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とを実行するよう構成されている、
付記９記載のシステム。
（付記１１）
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
付記８記載のシステム。
（付記１２）
前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と出力との間の前記第一のコピュラを生成することを含む、
付記８記載のシステム。
（付記１３）
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度がケンドールのτを使って決定される、付記８記載のシステム。
（付記１４）
前記第一の入力特徴と前記出力変数との間の関係が線形であり、前記第一の依存度がスピアマンのρを使って決定される、付記８記載のシステム。
（付記１５）
プロセッサによって実行可能なプログラミング・コードがエンコードされている非一時的なコンピュータ可読媒体であって、前記プログラミング・コードは：
電子データ記憶デバイスに記憶されている入力特徴集合から第一の入力特徴を特定する段階と；
前記第一の入力特徴と出力変数との間の依存構造をモデル化するよう第一のコピュラを生成する段階と；
前記第一の入力特徴と前記出力変数との間の第一の依存度を、前記第一のコピュラに基づいて決定する段階であって、前記入力特徴集合は、前記第一の依存度に比べより低い値をもつ第二の依存度をもつ第二の入力特徴を含む、段階と；
前記第一の依存度が前記第二の依存度より大きいことに応答して、前記入力特徴集合から前記第一の入力特徴を選択する段階とを含む動作を実行するまたは該動作の実行を制御するためのものである、
非一時的なコンピュータ可読媒体。
（付記１６）
前記動作がさらに：
前記第一の入力特徴と前記第二の入力特徴との間の第二のコピュラを生成する段階と；
前記第二のコピュラに基づいて前記第二の入力特徴と前記出力変数との間の前記第二の依存度を決定する段階とをさらに含む、
付記１５記載の非一時的なコンピュータ可読媒体。
（付記１７）
前記動作がさらに：
前記入力特徴集合に第三の入力特徴を加える段階と；
前記第一の入力特徴、前記第二の入力特徴および前記第三の入力特徴の間の第三のコピュラを生成する段階と；
前記第三のコピュラおよび前記出力変数に基づいて第三の依存度を決定する段階と；
前記第三の依存度が前記第一または第二の依存度と同じまたは類似しているときは前記第三の入力特徴を除去する段階とをさらに含む、
付記１６記載の非一時的なコンピュータ可読媒体。
（付記１８）
前記第一の入力特徴と出力との間の前記第一のコピュラを生成する段階が：
データ記憶にアクセスして、前記入力特徴集合に関する事前データを識別し；
前記事前データに基づいてパラメトリック推定を使って、前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成することを含む、
付記１５記載の非一時的なコンピュータ可読媒体。
（付記１９）
前記第一の入力特徴と前記出力変数との間の前記第一のコピュラを生成する段階が：
非パラメトリック推定を使って、前記第一の入力特徴と出力との間の前記第一のコピュラを生成することを含む、
付記１５記載の非一時的なコンピュータ可読媒体。
（付記２０）
前記第一の入力特徴と前記出力変数との間の関係が非線形であり、前記第一の依存度がケンドールのτを使って決定される、付記１５記載の非一時的なコンピュータ可読媒体。
【符号の説明】
【００７６】
１００  コンピュータ・システム
１０２  コピュラ生成器
１０４  依存度生成器
１０６  特徴選択器
１０８  データ・モデル生成器
１２０  入力特徴集合
１２２  コピュラ
１２４  依存度
１２６  選択された特徴
１２８  データ・モデル
１５０  データ記憶
２００  方法
２０５  前処理；i＝1にセット
２１０  特徴集合中の入力特徴の数Nを決定
２１５  入力特徴Xiと出力変数Yとの間のコピュラを生成
２２０  入力特徴Xiと出力変数Yとの間の依存度を決定
２２５  入力特徴Xiについての依存度を記憶
２３０  i＝1＋1にセット
２３５  i＜N＋1か？
２４０  各入力特徴を依存度に従ってランク付け
２４５  最高の依存度（単数または複数）をもつ入力特徴（単数または複数）を選択
３００  方法
３０５  入力特徴Xiに関する事前データ？
３１０  入力特徴Xiと出力との間のコピュラを、パラメトリック推定を使って決定
３１５  入力特徴Xiと出力との間のコピュラを、非パラメトリック推定を使って決定
４００  方法
４０５  入力特徴Xiと出力Yとの間の線形関係？
４１０  入力特徴Xiと出力Yとの間の依存度を、スピアマンのρを使って決定
４１５  入力特徴Xiと出力Yとの間の依存度を、ケンドールのτを使って決定
５００  方法
５０５  前処理；i＝0にセット；入力特徴の数Nを決定
５１０  空の特徴集合Fiを定義
５１５  F−Fiを生成
５２０  Xd+1がFi内にある？
５２５  Xd+1をFiに加える
５３０  Xd+1をF−Fiからの新たな入力特徴を使って置換
５３５  Fi内の各入力特徴の間の第一のコピュラを生成
５４０  第一のコピュラを使って依存度を決定
５４５  依存度が閾値より高いか？
５５０  Fi内の各入力特徴と出力Yとの間の第二のコピュラを生成
５５５  依存度を使ってFiから諸入力特徴を除去
５６０  F−Fiに残っている特徴あり？
５６５  高い依存度に関係した入力特徴（X*）を選択
５７０  Fi+1＝Fi＋X*とする
５７５  i＝i＋1とインクリメント
５８０  i＜N＋1か？
５８５  最高の依存度をもつ特徴集合を選択
６００  コンピューティング装置
６０２  基本的構成
６０４  プロセッサ
６０６  システム・メモリ
６０８  メモリ・バス
６１０  レベル1キャッシュ
６１２  レベル2キャッシュ
６１４  プロセッサ・コア
６１６  レジスタ
６１８  メモリ・コントローラ
６２０  オペレーティング・システム
６２２  アプリケーション
６２４  プログラム・データ
６２６  入力特徴選択アルゴリズム
６２８  入力特徴データ
６３０  バス／インターフェース・コントローラ
６３２  記憶装置
６３４  記憶インターフェース・バス
６３６  リムーバブル記憶（例：CD/DVD）
６３８  非リムーバブル記憶（例：HDD）
６４０  インターフェース・バス
６４２  出力装置
６４４  周辺インターフェース
６４６  通信装置
６４８  グラフィック処理ユニット
６５０  オーディオ処理ユニット
６５２  A/Vポート
６５４  シリアル・インターフェース・コントローラ
６５６  パラレル・インターフェース・コントローラ
６５８  I/Oポート
６６０  ネットワーク・コントローラ
６６２  他のコンピューティング装置
６６４  通信ポート
【図１】
2017021772.tif 000014
【図２】
2017021772.tif 000015
【図３】
2017021772.tif 000016
【図４】
2017021772.tif 000017
【図５】
2017021772.tif 000018
【図６】
2017021772.tif 000019