JP7693375B2 - Arithmetic method, arithmetic device - Google Patents
Arithmetic method, arithmetic device Download PDFInfo
- Publication number
- JP7693375B2 JP7693375B2 JP2021070139A JP2021070139A JP7693375B2 JP 7693375 B2 JP7693375 B2 JP 7693375B2 JP 2021070139 A JP2021070139 A JP 2021070139A JP 2021070139 A JP2021070139 A JP 2021070139A JP 7693375 B2 JP7693375 B2 JP 7693375B2
- Authority
- JP
- Japan
- Prior art keywords
- measurement
- data
- time
- measurement data
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
本発明は、演算方法、および演算装置に関する。 The present invention relates to a calculation method and a calculation device.
膨大なデータを用いた演算は産業界や自然科学分野で活用されている。技術の進歩により演算装置の処理能力は向上しているが、演算リソースの節約や処理速度の向上のためには処理対象のデータサイズは小さいことが望ましい。特許文献1には、有限であるM種類のイベントからなる、イベント群の一部を時系列に示す部分順序集合であるイベント系列のリスク評価値を算出して表示する装置で実行することが可能な方法であって、イベント系列に基づきM次元の疎な順序行列を生成し、生成した疎な順序行列の要素間を補間して密な順序行列を算出するステップと、算出した密な順序行列に基づいて、イベント系列間の類似関係を、二次元空間又は三次元空間に埋め込み手法で写像する写像行列を算出するステップと、算出した写像行列を用いて、各イベント系列の二次元空間又は三次元空間上の対応点を算出し、算出した対応点を二次元空間又は三次元空間に表示出力するステップとを含む方法が開示されている。
Calculations using huge amounts of data are used in industry and the field of natural science. Although the processing power of calculation devices has improved due to technological advances, it is desirable for the size of the data to be processed to be small in order to save calculation resources and improve processing speed.
特許文献1に記載されている発明では、データサイズが大きくなる。
The invention described in
本発明の第1の態様による演算方法は、演算装置が実行する演算方法であって、不統一な測定時刻および測定値の組み合わせを複数のセンサについて含む独立測定データを取得する取得ステップと、前記測定時刻ごとに、前記測定値の有無を示す数値であるマスクデータおよび前記測定値に基づく数値である測定データを作成して、全ての前記測定時刻ごとの前記複数のセンサの測定データおよび前記マスクデータを含む前処理表を作成する前処理ステップと、前記前処理表における前記測定データに対して埋め込み処理を行い、少なくとも前記測定データの類似度に基づき、複数の前記測定データを統合し、かつ複数の前記マスクデータを統合した縮小済埋込表を作成する次元削減ステップとを含む。
本発明の第2の態様による演算装置は、不統一な測定時刻および測定値の組み合わせを複数のセンサについて含む独立測定データを取得する取得部と、前記測定時刻ごとに、前記測定値の有無を示す数値であるマスクデータおよび前記測定値に基づく数値である測定データを作成して、全ての前記測定時刻ごとの前記複数のセンサの測定データおよび前記マスクデータを含む前処理表を作成する前処理部と、前記前処理表における前記測定データに対して埋め込み処理を行い、少なくとも前記測定データの類似度に基づき、複数の前記測定データを統合し、かつ複数の前記マスクデータを統合した縮小済埋込表を作成する次元削減部とを備える。
A calculation method according to a first aspect of the present invention is a calculation method executed by a calculation device, and includes an acquisition step of acquiring independent measurement data including combinations of inconsistent measurement times and measurement values for a plurality of sensors; a preprocessing step of creating, for each measurement time, mask data that is a numerical value indicating the presence or absence of the measurement value and measurement data that is a numerical value based on the measurement value, and creating a preprocessing table including the measurement data and the mask data of the plurality of sensors for all of the measurement times; and a dimensionality reduction step of performing an embedding process on the measurement data in the preprocessing table, integrating the plurality of measurement data based on at least the similarity of the measurement data, and creating a reduced embedding table that integrates the plurality of mask data.
A calculation device according to a second aspect of the present invention includes an acquisition unit that acquires independent measurement data including combinations of inconsistent measurement times and measurement values for multiple sensors, a pre-processing unit that creates, for each measurement time, mask data that is a numerical value indicating the presence or absence of the measurement value and measurement data that is a numerical value based on the measurement value, and creates a pre-processing table including the measurement data and the mask data of the multiple sensors for all of the measurement times, and a dimensionality reduction unit that performs an embedding process on the measurement data in the pre-processing table, and creates a reduced embedding table that integrates the multiple measurement data and the multiple mask data based on at least the similarity of the measurement data.
本発明によれば、類似するデータが統合されるのでデータサイズを小さくできる。 According to the present invention, similar data is integrated, thereby reducing data size.
―第1の実施の形態―
以下、図1~図12を参照して、演算装置の第1の実施の形態を説明する。
-First embodiment-
A first embodiment of a computing device will be described below with reference to FIGS.
(ハードウエア構成)
図1は、本発明に係る演算装置のハードウエア構成図である。演算装置1は、中央演算装置であるCPU2、読み出し専用の記憶装置であるROM3、および読み書き可能な記憶装置であるRAM4、記憶装置5、ユーザインタフェース6、および通信モジュール7を備える。CPU2がROM3に格納されるプログラムをRAM4に展開して実行することで後述する演算を行う。
(Hardware configuration)
1 is a hardware configuration diagram of a computing device according to the present invention. The
演算装置1は、CPU2、ROM3、およびRAM4の組み合わせの代わりに書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)や特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)により実現されてもよい。また演算装置1は、CPU2、ROM3、およびRAM4の組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU2、ROM3、RAM4とFPGAの組み合わせにより実現されてもよい。
The
記憶装置5は、読み書きが可能な不揮発性の記憶装置、たとえばハードディスクドライブである。ユーザインタフェース6は、演算装置1を扱う人間との情報をやり取りするインタフェース装置であり、たとえば液晶ディスプレイとポインティングディバイスが一体化されたタッチパネルである。ユーザインタフェース6は、液晶ディスプレイとポインティングの組み合わせにより実現されてもよい。通信モジュール7は、無線通信または有線通信により他の演算装置やセンサとの通信を行う。
The
(機能構成)
図2は、演算装置1の機能構成図である。演算装置1はその機能として、取得部11と、前処理部12と、対話部13と、パラメータ算出部14と、次元削減部15とを備える。また演算装置1は、RAM4および記憶装置5のいずれかに、独立測定データ16と、前処理表17Aと、時刻正規化表17Bと、埋込表17Cと、縮小済埋込表17Dとが格納される。ただし本実施の形態では、記載を簡潔にするために、上述した情報は全てRAM4に格納されるとして説明する。詳しくは後述するが、前処理表17A、時刻正規化表17B、埋込表17C、および縮小済埋込表17Dには、独立測定データ16に含まれる情報そのもの、または独立測定データ16に含まれる情報を加工した情報が含まれる。
(Functional configuration)
2 is a functional configuration diagram of the
取得部11は、それぞれのセンサから測定値を取得してRAM4に独立測定データ16として格納する。なお取得部11は、センサから測定値と時刻とを受信してRAM4に格納してもよいし、取得部11はセンサから測定値を受信し、受信した際の現在時刻と受信した測定値とをRAM4に格納してもよい。なお取得部11は、図1に示した演算装置1の外部に存在するセンサの出力だけでなく、演算装置1に含まれる不図示の演算プログラムの出力も収集してよい。
The
前処理部12は、独立測定データ16を読み込んで前処理表17Aを作成する。対話部13は、ユーザインタフェース6を利用してユーザに入力を促し、演算結果をユーザに提示する。パラメータ算出部14は、前処理表17Aおよびユーザが入力した2つのパラメータを読み込み、縮小済埋込表17Dの作成に必要な別の1つのパラメータを算出する。またパラメータ算出部14は、処理の過程で時刻正規化表17Bを作成する。次元削減部15は、ユーザの入力に基づき縮小済埋込表17Dを作成し、処理の過程で埋込表17Cを作成する。
The preprocessing
独立測定データ16には、各センサが測定した測定値と測定時刻の組合せが格納される。各センサが測定するタイミングは同期されておらずバラバラである。たとえばセンサS1の測定値が時刻t1に測定されていた場合でも、時刻t1にはセンサS2の測定値が独立測定データ16には記録されていないことがありえる。
The
前処理表17Aには、独立測定データ16に格納される測定値に基づく測定データと、測定値の有無を示すマスクデータとが、全ての測定時刻について格納される。マスクデータは、それぞれの測定データと1:1で対応するように作成される。前処理表17Aには、独立測定データ16に含まれる情報はすべて含まれる。たとえば演算装置1が10個のセンサからそれぞれ10の測定値を受信し、全ての測定値に紐づく測定時刻が異なる場合には、前処理表17Aは「20x100」のサイズとなる。この内訳は、測定データとマスクデータがそれぞれ「10」なので合計で「20」となり、時系列では「10」x「10」で「100」である。
In the preprocessing table 17A, measurement data based on the measurement values stored in the
時刻正規化表17Bは、パラメータ算出部14が前処理表17Aをタイムステップに従って時系列で複数のデータを統合したものである。このタイムステップは、ユーザが指定した値、またはユーザが指定した他のパラメータに基づきパラメータ算出部14が算出した値である。ただしタイムステップが非常に細かい場合には、時刻正規化表17Bは前処理表17Aと同一となる。
Time normalization table 17B is obtained by integrating multiple data in a time series according to the time step of preprocessing table 17A by
埋込表17Cは、次元削減部15により埋込表17Cに基づき作成される。縮小済埋込表17Dは、次元削減部15により埋込表17Cに基づき作成される。縮小済埋込表17Dは、埋込表17Cのいくつかの測定データおよびマスクデータを統合したものである。たとえばセンサS1のセンサS2の測定データが統合される場合には、センサS1のマスクデータとセンサS2のマスクデータも統合される。縮小済埋込表17Dは、本実施の形態におけるいわゆる成果物であり、独立測定データ16の特徴を残しつつデータ量が削減されている。本実施の形態では記載しないが、縮小済埋込表17Dは様々なアプリケーションに利用でき、たとえばNeural ODE(Ricky T. Q. Chen et al., Neural Ordinary Differential Equations, 2018)で利用できる。
The embedding table 17C is created by the
(前処理表)
図3は、独立測定データ16と前処理表17Aの関係を示す図である。図3の上部には独立測定データ16の一例が示され、図3の下部には前処理表17Aの一例が示されている。図3ではセンサS1とセンサS2の出力を用いて説明するが、独立測定データ16には数百、数千、数万のセンサの出力が含まれることも想定される。
(Pretreatment table)
Fig. 3 is a diagram showing the relationship between the
センサS1とセンサS2は独立して動作し、不定期に測定して測定値を出力する。ただしそれぞれを「センサ」と呼んでいるのは便宜のためにすぎず、それぞれの「センサ」がセンシングのためのハードウエアを備える必要はなく、出力する情報が測定値そのものではなく演算結果や異常検出信号であってもよい。異常検出信号を出力する場合には、異常がない場合には出力を行わず、異常が検出された場合にたとえば「1」の値を出力する仕様であってもよい。ここではセンサS1およびセンサS2の出力は+10~-10のいずれかの整数である。 Sensors S1 and S2 operate independently, measuring at irregular intervals and outputting measured values. However, they are referred to as "sensors" merely for convenience, and each "sensor" does not need to be equipped with sensing hardware, and the information output may not be the measurement value itself but a calculation result or an abnormality detection signal. When an abnormality detection signal is output, it may be designed so that no output is made if there is no abnormality, and a value of "1", for example, is output if an abnormality is detected. Here, the output of sensors S1 and S2 is an integer between +10 and -10.
図3に示す例では、センサS1が時刻t1に「5」、時刻t8に「2」を測定し、センサS2は時刻t3に「0」、時刻t8に「3」を測定した旨の独立測定データ16が示されている。独立測定データ16では、各センサの出力が独立した表として表現されているが、次にこの2つの表の統合を試みる。2つの表で時刻t8は共通しているので、統合する表の時刻はt1、t2、t8の3つである。そして、各時刻における測定値を記載すると図3の中段の表(以下、「中間表」と呼ぶ)ようになる。ただし中間表では、測定値が存在しない欄、具体的には時刻t1におけるセンサS2の値、および時刻t2におけるセンサS1の値は数値が存在しないことを示す「NaN」(Not a Number;欠損値)としている。
In the example shown in FIG. 3, the
中間表には測定値がそのまま記載され、測定値が存在しない欄は「NaN」を格納することで他と明確に区別されているので誤解が生じない。しかしデータ処理の観点からは何らかの数値を格納すれば、測定値の有無によらず一括の処理が可能となり扱いが容易となる。そこで本実施の形態では、測定値に対応する「測定データ」という概念を導入し、測定データが測定値そのものであるか否かを示す「マスクデータ」の概念も併せて導入する。すなわち測定データとマスクデータは1:1で存在し、それぞれの測定データは対応するマスクデータを有するともいえる。 The intermediate table lists the measured values as they are, and columns with no measured values are clearly distinguished from others by storing "NaN" to avoid any misunderstandings. However, from the perspective of data processing, storing any numerical value allows batch processing regardless of whether there is a measured value or not, making it easier to handle. Therefore, in this embodiment, the concept of "measurement data" that corresponds to the measured value is introduced, and also the concept of "mask data" that indicates whether the measurement data is the measured value itself. In other words, measurement data and mask data exist in a 1:1 ratio, and it can be said that each measurement data has corresponding mask data.
たとえば、マスクデータの「1」は対応する測定データが測定値であることを示し、マスクデータの「0」は対応する測定データが測定値ではないことを示す。図3に示す例では、センサS1に対応するマスクデータの名称を「M1」、センサS2に対応するマスクデータの名称を「M2」としている。中間表において、マスクM1の時刻t1の欄は、対応する測定値「5」が存在するので「1」が設定される。またマスクM1の時刻t2の欄は、対応する測定値が「NaN」すなわち存在しないので「0」が設定される。 For example, a "1" in the mask data indicates that the corresponding measurement data is a measured value, and a "0" in the mask data indicates that the corresponding measurement data is not a measured value. In the example shown in FIG. 3, the name of the mask data corresponding to sensor S1 is "M1", and the name of the mask data corresponding to sensor S2 is "M2". In the intermediate table, the column for time t1 of mask M1 is set to "1" because there is a corresponding measured value of "5". Also, the column for time t2 of mask M1 is set to "0" because the corresponding measured value is "NaN", i.e., does not exist.
このマスクベクトルで測定の有無を明確にしたうえで、図3の下段に示すように前処理表17Aでは中間表の「NaN」を任意の数値、ここでは「0」に置換する。この置換により全データが数値で表され、データ処理が容易となる。なおこの場合には、前処理表17Aの測定データだけを見ると、測定値が「0」であったのか、そもそも測定が行われていないのかが判別不可能であるが、対応するマスクデータを参照することでこの判別が可能となる。 After clarifying whether a measurement has been performed using this mask vector, as shown in the lower part of Figure 3, in preprocessing table 17A, the "NaN" in the intermediate table is replaced with an arbitrary numerical value, in this case "0". This replacement allows all data to be represented as numerical values, making data processing easier. In this case, it is impossible to tell if the measurement value was "0" or if no measurement was performed at all by looking only at the measurement data in preprocessing table 17A, but this can be determined by looking at the corresponding mask data.
なお図3では作図の都合により時刻を「t1」などのように非常に簡潔に記載したが、実際には「2021年2月3日04:05:06」などのように具体的な日時が記載される。また時刻の粒度は任意であり、たとえば1時間単位、1分単位、1秒単位、100分の1秒単位のいずれでもよい。また、センサごとや測定ごとに時刻の粒度が異なってもよい。また以下では、特定のセンサに対応する全ての時系列のマスクデータを「マスク情報」と呼ぶ。たとえば図3には、マスクM1のマスク情報とマスクM2のマスク情報とが含まれる。 In FIG. 3, for convenience of drawing, the time is written very simply as "t1", but in reality, a specific date and time is written, such as "February 3, 2021 04:05:06". The granularity of the time is arbitrary, and may be, for example, in units of one hour, one minute, one second, or one hundredth of a second. The granularity of the time may also differ for each sensor or measurement. In the following, all the time-series mask data corresponding to a specific sensor will be referred to as "mask information". For example, FIG. 3 includes mask information for mask M1 and mask information for mask M2.
(処理)
図4は、演算装置1による最適化処理の全体を示すフローチャートである。演算装置1は、まずステップS30において前処理部12が前処理を行い複数のセンサの出力を1つのテーブルにまとめる。前処理については後に詳述する。続くステップS31において対話部13はユーザインタフェース6を用いて画面表示を行い、ユーザからの入力を待つ。ユーザは、次元数、データ利用率、およびタイムステップの3つのうち2つを入力する。
(process)
4 is a flowchart showing the entire optimization process by the
図5はステップS31においてユーザインタフェース6が表示する画面の一例を示す図である。図5には前述の3つ、すなわち次元数、データ利用率、およびタイムステップを指定する入力インタフェースを有する。ユーザがこの3つのうち2つを設定すると、パラメータ算出部14が後述するように残り1つを計算して画面に表示する。図4に戻って説明を続ける。
Figure 5 shows an example of a screen displayed by the
続くステップS32ではパラメータ算出部14は、ユーザの入力に基づき演算装置1が算出すべき項目を特定する。具体的にはパラメータ算出部14は、データ利用率およびタイムステップが設定されたので次元数を算出すると判断する場合はステップS33に進む。またパラメータ算出部14は、タイムステップおよび次元数が設定されたのでデータ利用率を算出すると判断する場合はステップS34に進む。さらにパラメータ算出部14は、次元数およびデータ利用率が設定されたのでタイムステップを算出すると判断する場合はステップS35に進む。
In the following step S32, the
ステップS33ではパラメータ算出部14は、後述する次元数算出処理を実行してステップS36に進む。ステップS34ではパラメータ算出部14は、後述するデータ利用率算出処理を実行してステップS36に進む。ステップS35ではパラメータ算出部14は、後述するタイムステップ算出処理を実行してステップS36に進む。ステップS36では対話部13は、ステップS33~S35のいずれかで算出した項目をさらに画面に表示してステップS37に進む。ステップS37では次元削減部15は、後述するように次元削減処理を実行して図4に示す処理を終了する。
In step S33, the
図6は、前処理部12による前処理を示すフローチャートであり、図4のステップS30の詳細を示す図である。演算装置1は、まずステップS301において処理対象の全データを読み込み、記載されている全ての時刻をソート、たとえば昇順にソートする。このソート処理では、全く同一の時刻が存在する場合には1つを残して削除する。たとえば図Cに示す例では、センサS1のデータには時刻t1と時刻t8が記録され、センサS2のデータには時刻t2と時刻t8が記録されているが、両者では時刻t8が重複するので一報が削除され、ソート結果はt1、t2、t8となる。
Figure 6 is a flowchart showing the preprocessing by the preprocessing
続くステップS302では演算装置1は、横幅がセンサ数の2倍、縦がユニークな時刻数であるテーブルを作成する。図Cに示す例ではセンサが「2」で、ユニークな時刻数が前述のt1、t2、t8の「3」なので、横幅が「2」の2倍の「4」で縦が「3」のテーブルが作成される。
In the next step S302, the
続くステップS303では演算装置1は、各センサの測定値をステップS302において作成したテーブルの左半分に転記し、測定値が存在しない欄には「NaN」を記入する。ただしテーブルの縦方向は昇順の時刻を示し、左詰めで横方向はセンサの種別を示す。続くステップS304では演算装置1は、ステップS302において作成したテーブルの右半分にマスクデータを書き込む。このとき演算装置1は、対応する測定データが「NaN」であるマスクデータを「0」に設定し、対応する測定データが「NaN」以外、すなわち何らかの測定値が存在するマスクデータを任意の値に設定する。この任意の値は「0」および「1」のいずれでもよい。
In the next step S303, the
続くステップS305では演算装置1は、ステップS303において書き込んだ「NaN」を「0」に置換して図6に示す処理を終了する。すなわち本ステップの処理が完了すると、図Cに示す例において最下段に示す前処理表17Aが完成する。
In the next step S305, the
図7は、パラメータ算出部14による次元数算出処理を示すフローチャートであり、図4のステップS33の詳細を示す図である。まずステップS331では演算装置1は、ユーザにより指定されたタイムステップとデータ利用率の値を読み込む。なお以下では、ユーザにより指定されたタイムステップを「タイムステップDS」と呼び、ユーザにより指定されたデータ利用率を「データ利用率DU」と呼ぶ。
Figure 7 is a flowchart showing the dimensionality calculation process by the
続くステップS332では演算装置1は、前処理表の時刻をユーザにより指定されたタイムステップに従って修正する。具体的には、前処理表に記載されたそれぞれの時刻をタイムステップDSで除算して、四捨五入や切り捨てした結果を新たな時刻情報とする。たとえばタイムステップDSが60秒の場合には、時刻情報から秒単位の情報を削除することで対応してもよい。この場合には「2020年3月4日5時45分23秒」が「2020年3月4日5時45分」に変更される。なおこの処理により前処理表の時刻に重複が生じる場合には次のステップにより処理される。
In the next step S332, the
続くステップS333では演算装置1は、同一時刻となった前処理表の情報同士を次のように統合する。すなわち、センサの測定値は平均値を算出し、マスクの値はビット演算であるOR演算を行う。ただし対応するマスクの値が「0」の場合には測定が行われていないので、そのセンサの測定値は無視して平均値の母数に含めなくてもよい。本ステップの処理により、前処理表の時系列データの数、すなわちテーブルの縦方向の数は維持または減少する。本ステップによる処理の具体例を、図面を参照して説明する。
In the next step S333, the
図8は、ステップS333の具体例を示す図である。図8の上部は前処理表の一部を抜粋して記載しており、説明の便宜のために左端にレコード番号を記載している。図8に示す例では、センサS1およびセンサS2のいずれも時刻情報は1秒単位で記録している。レコード「52」は、2020年3月4日5時45分23秒の測定値であり、マスクの値からわかるように、センサS2の測定値のみが記録されている。レコード「53」は、2020年3月4日5時45分48秒の測定値であり、マスクの値からわかるように、センサS1およびセンサS2の測定値が記録されている。 Figure 8 is a diagram showing a specific example of step S333. An excerpt of a portion of the preprocessing table is shown at the top of Figure 8, and record numbers are shown on the left side for ease of explanation. In the example shown in Figure 8, time information is recorded in one-second units for both sensor S1 and sensor S2. Record "52" is a measurement value at 5:45:23 on March 4, 2020, and as can be seen from the mask value, only the measurement value of sensor S2 is recorded. Record "53" is a measurement value at 5:45:48 on March 4, 2020, and as can be seen from the mask value, the measurement values of sensors S1 and S2 are recorded.
ここで、タイムステップDSが60秒に設定されると秒単位の情報が省かれて、レコード「52」とレコード「53」が同時刻として扱われる。この場合に、レコード「52」とレコード「53」のM1の値が「0」と「1」なので、「1」に対応するS1の「2」の値がそのまま統合されたレコードのS1の値に設定される。レコード「52」とレコード「53」のM2の値はいずれも「1」なので、統合されたレコードのS2の値は「8」と「6」の平均である「7」に設定される。図7に戻って説明を続ける。 Here, if the time step DS is set to 60 seconds, the information in seconds is omitted, and records "52" and "53" are treated as having the same time. In this case, the M1 values of records "52" and "53" are "0" and "1", respectively, so the value of S1, "2", which corresponds to "1", is set as the S1 value of the merged record. The M2 values of records "52" and "53" are both "1", so the S2 value of the merged record is set to "7", which is the average of "8" and "6". Let's return to Figure 7 and continue the explanation.
続くステップS334では演算装置1は、ステップS333により加工された後の前処理表17Aを対象として、マスクデータに含まれるそれぞれの時系列の情報であるマスク情報のパターンを集計する。続くステップS335では演算装置1は、ステップS334において集計したパターンを件数が多い順にソートする。続くステップS336では演算装置1は、指定されたデータ利用率を上回る最小のパターン数Pを特定する。ここでステップS334~S336の処理を具体例とともに詳述する。
In the next step S334, the
図9はステップS334~S336の動作を説明する図である。この具体例では、ステップS333により加工された後の前処理表の時刻情報が800個、対象とするセンサが1000個存在する場合を想定する。この場合に、各センサの出力に対応するマスク情報をベクトルデータとして扱うと800次元のベクトルデータであり、この800次元のベクトルデータはセンサと同数の1000個存在する。図9に示す表では、具体的なベクトルの値を該当数が多い順に上から並べ、「順位」の欄も設けている。さらに図9では便宜のために、その順位までの累計数を右端に記載している。 Figure 9 is a diagram explaining the operation of steps S334 to S336. In this specific example, it is assumed that there are 800 pieces of time information in the preprocessing table after processing in step S333, and 1000 target sensors. In this case, if the mask information corresponding to the output of each sensor is treated as vector data, it becomes 800-dimensional vector data, and there are 1000 of these 800-dimensional vector data, the same number as the number of sensors. In the table shown in Figure 9, the specific vector values are arranged from top to bottom in descending order of the number of hits, and a "rank" column is also provided. Furthermore, for convenience in Figure 9, the cumulative number up to that rank is listed at the right end.
上述したように、ステップS334の処理によりマスク情報のパターンが集計されるので、ステップS334が完了すると図9に示す「ベクトル」と「カウント数」とが紐づけられた状態となる。ただしこの状態ではまだ図9に示すようなソートはされていない。続くステップS335が完了すると、図9に示すようにソートがされた状態となる。ここで、ユーザにより指定されたデータ利用率が「85%」であった場合には、順位「123」までの累計は「847」件なので1000件の85%である850件には及ばない。そのため、次の順位「124」までを含めることで指定された85%を超えるため、ステップS336において特定すべき最小のパターン数Pは「124」と特定される。図7に戻って説明を続ける。 As described above, the mask information patterns are tallied by the processing of step S334, and when step S334 is completed, the "vectors" and "counts" shown in FIG. 9 are linked. However, in this state, sorting as shown in FIG. 9 has not yet been performed. When the following step S335 is completed, the data is sorted as shown in FIG. 9. If the data usage rate specified by the user is "85%", the cumulative total up to rank "123" is "847", which is less than 850, which is 85% of 1000. Therefore, since the number of patterns P to be identified in step S336 exceeds the specified 85% by including the next rank "124", the minimum number of patterns P to be identified is "124". Returning to FIG. 7, the explanation will continue.
ステップS336の次に実行されるステップS337では演算装置1は、次元数ceil(log2P)を算出して図7に示す処理を終了する。なお以下では、本ステップにおいて算出した次元数を「次元数D」と呼ぶ。関数ceilは、引数である実数の切り上げ処理を行う関数であり、引数が小数の場合は切り上げ処理をした結果を出力し、引数が整数の場合はその整数を出力する。ステップS337において算出される値が、本フローチャートが目的としている次元数である。
In step S337, which is executed after step S336, the
図10は、データ利用率算出処理を示すフローチャートであり、図4のステップS34の詳細を示す図である。図10では、図7と共通する処理には同一のステップ番号を付しており、以下ではそれらのステップの説明を省略する。まずステップS341では演算装置1は、ユーザにより指定されたタイムステップと次元数の値を読み込む。なお以下では、ユーザにより指定されたタイムステップを「タイムステップDS」と呼び、ユーザにより指定された次元数を「次元数D」と呼ぶ。
Figure 10 is a flowchart showing the data utilization calculation process, and shows details of step S34 in Figure 4. In Figure 10, the same steps as in Figure 7 are given the same step numbers, and the description of these steps will be omitted below. First, in step S341, the
ステップS341の後に実行されるステップS332~S335は、ステップS341において読み込んだタイムステップDSを用いた処理であり、図7を参照して説明したとおりなのでここでは説明を省略する。続くステップS346では演算装置1は、ソートした上位2のD乗パターンの合計件数と全件との比率をデータ利用率として算出し、図10に示す処理を終了する。ステップS346において算出される値が、本フローチャートが目的としているデータ利用率である。
Steps S332 to S335 executed after step S341 are processes using the time step DS read in step S341, and as they have been explained with reference to FIG. 7, explanations will be omitted here. In the following step S346, the
ここでは、指定された次元数Dが「3」、ソートしたパターン数が前述の図9のとおりの場合を例に具体的に説明する。2の3乗は「8」であり図9において上位「8」パターンの合計は「150」である。そして図9における全件は「1000」件なので、データ利用率は「15%」と算出される。 Here, we will explain in detail the case where the specified number of dimensions D is "3" and the number of sorted patterns is as shown in Figure 9 above. The cube of 2 is "8", and the total number of the top "8" patterns in Figure 9 is "150". And since the total number of items in Figure 9 is "1000", the data utilization rate is calculated to be "15%".
図11は、タイムステップ算出処理を示すフローチャートであり、図4のステップS35の詳細を示す図である。まずステップS351では演算装置1は、ユーザにより指定されたデータ利用率と次元数の値を読み込む。なお以下では、ユーザにより指定されたデータ利用率を「データ利用率DU」と呼び、ユーザにより指定された次元数を「次元数D」と呼ぶ。続くステップS352では演算装置1は、指定可能なタイムステップの上限値Tmaxと下限値Tminを読み込む。これらの情報は、他の装置から読み込んでもよいし、あらかじめ記憶装置5に格納されていた値を読み込んでもよい。
Figure 11 is a flowchart showing the time step calculation process, and shows details of step S35 in Figure 4. First, in step S351, the
続くステップS353では演算装置1は、TtmpをTminとTmaxの平均値に設定する。続くステップS354では演算装置1は、Tmin,Tmax,Ttmpのそれぞれと、指定された次元数Dの組み合わせでステップS34、すなわち図10に示した処理を実行してUmin、Umax、Utmpのそれぞれを算出する。換言するとステップS354では、図10に示した処理をタイムステップのパラメータだけを変更して3回実行する。次に演算装置1はステップS355に進む。
In the following step S353, the
ステップS355では演算装置1は、算出されたUtmpの値が指定されたデータ利用率Duよりも大きいか否かを判断する。演算装置1は、算出されたUtmpの値が指定されたデータ利用率Duよりも大きいと判断する場合はステップS356に進み、算出されたUtmpの値が指定されたデータ利用率Du以下であると判断する場合はステップS357に進む。ステップS356では演算装置1は、UminにUtmpを代入し、UtmpにTtmpとTmaxの平均値を代入し、ステップS351において指定された次元数Dと本ステップにおいて更新したDtmpを用いて図10の処理を実行してUtmpを更新し、ステップS355に戻る。
In step S355, the
ステップS357では演算装置1は、算出されたUtmpの値が指定されたデータ利用率Duよりも小さいか否かを判断する。演算装置1は、算出されたUtmpの値が指定されたデータ利用率Duよりも小さいと判断する場合はステップS358に進み、算出されたUtmpの値が指定されたデータ利用率Duよりも小さくない、すなわち指定されたデータ利用率Duに等しいと判断する場合はステップS359に進む。ステップS358では演算装置1は、UmaxにUtmpを代入し、UtmpにTtmpとTminの平均値を代入し、ステップS351において指定された次元数Dと本ステップにおいて更新したDtmpを用いて図10の処理を実行してUtmpを更新し、ステップS355に戻る。
In step S357, the
ステップS359では演算装置1は、直前に算出されたTtmpの値をタイムステップとして用いて図7に示したステップS332およびS333の処理を実行し、図11に示す処理を終了する。本ステップの処理により前処理表が更新される。本ステップにおいて用いた値が、本フローチャートが目的としているタイムステップである。図11に示した処理を概略すると、次元数を指定された値に固定してタイムステップをつぎつぎに変更し、指定されたデータ利用率に一致するタイムステップの値を探すものである。
In step S359, the
図12は、次元削減算出処理を示すフローチャートであり、図4のステップS37の詳細を示す図である。図4に示したように、ステップS37が実行される前にステップS34~35のいずれかが実行されており、どのステップが実行された場合でも、指定されたタイムステップまたは算出されたタイムステップを用いて、前処理表17Aに基づき時刻正規化表17Bが作成されている。 Figure 12 is a flowchart showing the dimensionality reduction calculation process, and shows details of step S37 in Figure 4. As shown in Figure 4, any one of steps S34 to S35 is executed before step S37 is executed, and regardless of which step is executed, a time normalization table 17B is created based on preprocessing table 17A using the specified time step or the calculated time step.
ステップS370では演算装置1は、時刻正規化表17Bの測定データを対象として次元削減を目的とする公知の埋め込み処理を行い、低次元空間のベクトルにマッピングすることで埋込表17Cを作成する。この埋め込み手法はたとえば、Wangらの手法(Jizhe Wang, et.al., Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba, 2018)、Nalmpantisらの手法(Christoforos Nalmpantis, et.al., Signal2Vec: Time Series Embedding Representation, 2019)、およびKazemiらの手法(Seyed Mehran Kazemi, et.al., Time2Vec: Learning a Vector Representation of Time, 2019)が知られている。
In step S370, the
続くステップS371では演算装置1は、埋込表17Cにおける測定データ同士のコサイン類似度を算出してステップS372に進む。ステップS372以降では、埋込表17Cに加工を施して縮小済埋込表17Dを作成する。すなわち図12に示す処理が完了するまでは縮小済埋込表17Dは完成していないが、以下では便宜的に作成中であっても縮小済埋込表17Dと呼ぶ。縮小済埋込表17Dの初期状態は、ステップS370において作成された埋込表17Cそのものである。
In the next step S371, the
ステップS372では演算装置1は、現在の縮小済埋込表17Dにおける測定データの種別数は、指定された、または算出された次元数Dよりも大きいか否かを判断する。演算装置1は、現在の縮小済埋込表17Dにおける測定データの種別数は、指定された、または算出された次元数Dよりも大きいと判断する場合はステップS373に進む。演算装置1は、現在の縮小済埋込表17Dにおける測定データの種別数は、指定された、または算出された次元数Dよりも大きくないと判断する場合は、現在の縮小済埋込表17Dが最終的な縮小済埋込表17Dであると判断して図12に示す処理を終了する。
In step S372, the
ステップS373では演算装置1は、ステップS371において算出したコサイン類似度のうち、統合されていない測定データのうちでコサイン類似度が最も高い複数の測定データを特定してステップS374に進む。ステップS374では演算装置1は、ステップS373において特定した測定データにおいて、未処理の最も古い時刻を選択する。続くステップS375では演算装置1は、ステップS373において特定した測定データであって、ステップS374において選択した時刻の測定データに対応するマスクデータの値が「1」である数をカウントする。演算装置1は、「1」のマスクデータの値がゼロと判断する場合はステップS376に進み、「1」と判断する場合はステップS377に進み、「2」以上であると判断する場合はステップS378に進む。
In step S373, the
ステップS376では演算装置1は、統合する測定データの値をゼロに設定してステップS379に進む。ステップS377では演算装置1は、対応するマスクデータが「1」である測定データの値を、統合する測定データの値に設定してステップS379に進む。ステップS378では演算装置1は、対応するマスクデータが「1」である測定データの平均値、または論理和を、統合する測定データの値に設定してステップS379に進む。なおステップS376~S378のそれぞれにおいて、マスクデータは統合対象の論理和の値を用いる。
In step S376, the
ステップS379では演算装置1は、ステップS373において特定した複数の測定データについて、全ての時刻のデータを処理したか否かを判断し、全ての時刻のデータを処理したと判断する場合はステップS372に戻り、全ての時刻のデータの処理が完了していないと判断する場合はステップS374に戻る。以上が図12の説明である。
In step S379, the
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)演算装置1が実行する演算方法は、不統一な測定時刻および測定値の組み合わせを複数のセンサについて含む独立測定データを読み込む、取得部11が実行する取得ステップと、測定時刻ごとに、測定値の有無を示す数値であるマスクデータおよび測定値に基づく数値である測定データを作成して、全ての測定時刻ごとの複数のセンサの測定データおよびマスクデータを含む前処理表17Aを作成する、前処理部12が実行する前処理ステップと、前処理表17Aにおける測定データに対して埋め込み処理を行い、少なくとも測定データの類似度に基づき、複数の測定データを統合し、かつ複数のマスクデータを統合した縮小済埋込表17Dを作成する、次元削減部15が実行する次元削減ステップとを含む。そのため、次元削減部15が実行する次元削減ステップにより縮小済埋込表17Dは前処理表17Aよりも縮小されているので、データサイズが小さくなり、縮小済埋込表17Dを用いた演算は要求リソースの低減と処理負荷の向上が見込まれる。
According to the above-described first embodiment, the following advantageous effects can be obtained.
(1) The calculation method executed by the
(2)次元削減部15が実行する次元削減ステップは、測定データのコサイン類似度に基づき統合する複数の測定値を決定する。そのため、効率的に測定データを統合できる。
(2) The dimension reduction step performed by the
(3)演算装置1が実行する演算方法は、時間幅であるタイムステップにしたがって前処理表17Aにおける異なる測定時刻に組み合わされる複数の測定値および複数のマスクデータを統合する時間統合ステップ(図7、図10、図11のS332およびS333)を含む。そのため測定データが所定のタイムステップの時間単位に整えられるので、統一的な処理が可能となる。
(3) The calculation method executed by the
(4)演算装置1が実行する演算方法は、統合する時間幅であるタイムステップ、測定データの利用率であるデータ利用率、およびデータ数である次元数の3つのうち2つの指定を受け付ける入力ステップ(図4のステップS31)と、3つのうち指定されていない1つを算出する、パラメータ算出部14によるパラメータ算出ステップと、タイムステップにしたがって前処理表17Aにおける異なる測定時刻に組み合わされる複数の測定値および複数のマスクデータを統合する時間統合ステップと、を含む。そのため、互いに関連する3つのパラメータを矛盾なく定めることができる。
(4) The calculation method executed by the
(5)前処理ステップは、センサごとに測定値が存在しない測定時刻におけるマスクデータをゼロに設定し、存在しない測定値に対応する測定データをゼロに設定する。 (5) The preprocessing step involves setting mask data for each sensor at measurement times when no measurement values exist to zero, and setting measurement data corresponding to nonexistent measurements to zero.
(変形例1)
第1の実施の形態ではマスクデータは、測定値の有無と測定値がゼロであることを判別する目的で設定された。すなわち第1の実施の形態では、センサベクトルの値が「0」の場合に、測定値が「0」であるのか、それとも測定が行われていないかを判別するためにマスクデータが作成された。そのため測定データが「0」以外の場合にはマスクデータの値は任意に設定できた。しかし、マスクデータの設計思想が第1の実施の形態とは異なってもよい。
(Variation 1)
In the first embodiment, the mask data was set for the purpose of determining whether a measurement value is present or absent and whether the measurement value is zero. That is, in the first embodiment, when the value of the sensor vector is "0", the mask data was created to determine whether the measurement value is "0" or whether the measurement has not been performed. Therefore, when the measurement data is other than "0", the value of the mask data could be set arbitrarily. However, the design concept of the mask data may be different from that of the first embodiment.
すなわち、マスクデータを測定値の有無の判別のために用いてもよい。たとえばマスクデータの「1」は対応する測定値が存在する、すなわち測定が行われたことを示し、マスクデータの「0」は対応する測定値が存在しない、すなわち測定が行われていないことを示すようにマスクデータを作成してもよい。この場合には、マスクデータの「0」に対応するセンサデータの値は任意に設定可能である。 That is, the mask data may be used to determine whether or not a measurement value exists. For example, the mask data may be created so that a "1" in the mask data indicates that a corresponding measurement value exists, i.e., a measurement has been performed, and a "0" in the mask data indicates that a corresponding measurement value does not exist, i.e., a measurement has not been performed. In this case, the value of the sensor data corresponding to a "0" in the mask data can be set arbitrarily.
図13は、前処理表17Aを作成する第2の方法を示すフローチャートである。このフローチャートは、図2に比べてステップS304およびS305がステップS304AおよびS305Aに置き換わっている点が異なる。以下ではこの相違点を説明する。 Figure 13 is a flowchart showing a second method for creating preprocessing table 17A. This flowchart differs from Figure 2 in that steps S304 and S305 are replaced with steps S304A and S305A. This difference is explained below.
ステップS304Aでは演算装置1は、ステップS302において作成したテーブルの右半分にマスクデータを書き込む。このとき演算装置1は、対応する測定データが「NaN」であるマスクデータを「0」に設定し、対応する測定データが「NaN」以外、すなわち何らかの測定値が存在するマスクデータを「1」に設定する。続くステップS305Aでは演算装置1は、ステップS303において書き込んだ「NaN」を任意の値に置換して図6に示す処理を終了する。この任意の値は、所定の数値範囲の実数であればよく、少なくとも測定値の最小値から最大値の間の値をとることができる。
In step S304A, the
この変形例1では次の作用効果が得られる。
(6)前処理ステップは、センサごとに測定値が存在しない測定時刻におけるマスクデータをゼロに設定し、センサごとに測定値が存在する測定時刻におけるマスクデータを「1」に設定する。そのため、縮小済埋込表17Dを処理するアプリケーションにおけるマスクデータの扱いにあわせて、第1の方法の代わりに第2の方法でマスクデータを作成できる。
The following advantageous effects can be obtained in this first modified example.
(6) In the pre-processing step, the mask data at the measurement time when there is no measurement value for each sensor is set to zero, and the mask data at the measurement time when there is a measurement value for each sensor is set to 1. Therefore, the mask data can be created by the second method instead of the first method in accordance with the handling of the mask data in the application that processes the reduced embedding table 17D.
(変形例2)
第1の実施の形態において説明した第1の手法と、変形例1において説明した第2の手法は前処理表の設計思想が異なるが、両者に対応するように前処理表を作成してもよい。
(Variation 2)
Although the first technique described in the first embodiment and the second technique described in the first modified example have different design concepts for the preprocessing table, a preprocessing table may be created to accommodate both of them.
図14は、第1の方法と第2の方法の両方に対応する前処理表の作成方法を示すフローチャートである。このフローチャートは、図6に対してステップS304をステップS304Aに変更したとも言えるし、図13に対してステップS305AをステップS305に変更したとも言える。図14に示す手法で前処理表を作成することで、第1の手法と第2の手法の両方に対応する前処理表を作成できる。 Figure 14 is a flowchart showing a method for creating a preprocessing table that corresponds to both the first method and the second method. This flowchart can be said to have step S304 in Figure 6 changed to step S304A, and step S305A in Figure 13 changed to step S305. By creating a preprocessing table using the method shown in Figure 14, it is possible to create a preprocessing table that corresponds to both the first method and the second method.
(変形例3)
次元削減部15の処理を次のように変更してもよい。図15は、変形例3における次元削減部15の処理を示すフローチャートである。図15は、図12に比べてステップS370およびS371がステップS370AおよびS371Aに変更されている点が異なる。ステップS370Aでは次元削減部15は、測定データだけでなくマスクデータに対しても埋め込み処理を行う。続くステップS371Aでは次元削減部15は、それぞれの測定データとマスクデータを連結し、コサイン類似度を算出する。たとえばセンサS1の測定データと、これに対応するマスクM1のマスクデータを連結して1つのベクトルとし、センサS2の測定データとマスクM2のマスクデータを連結したベクトルとのコサイン類似度を算出する。ステップS372以降の処理は第1の実施の形態と同様なので説明を省略する。
(Variation 3)
The processing of the
この変形例3によれば、次の作用効果が得られる。
(7)次元削減部15が実行する次元削減ステップは、測定データおよびマスクデータのコサイン類似度に基づき統合する複数の測定値を決定する。そのため、測定データ同士だけのコサイン類似度を算出する場合に比べて、より厳密な比較が可能となる。
According to the third modification, the following advantageous effects can be obtained.
(7) The dimension reduction step performed by the
(変形例4)
演算装置1は、それぞれのセンサと直接に通信を行わなくてもよい。たとえば演算装置1は、他の1または複数の装置を介してセンサと通信を行って測定値を受信してもよいし、他の装置が受信した各センサの過去の測定値を読み込んでもよい。演算装置1は、過去の測定値を通信モジュール7を介して受信してもよいし、記憶媒体に格納された過去の測定値を不図示の媒体読み取り装置を介して読み込んでもよい。すなわち取得部11の機能は、記憶媒体からのデータ読み取りでもよい。
(Variation 4)
The
(変形例5)
第1の実施の形態において演算装置1が実行する処理は、複数のハードウエア装置によって実現されてもよい。すなわち、システム全体として演算装置1が備える機能を備えていればよく、機能を実現する装置の数は任意である。
(Variation 5)
In the first embodiment, the processing executed by the
―第2の実施の形態―
図16~図21を参照して、演算装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、第1の実施の形態の処理に加えて分析を行う点で、第1の実施の形態と異なる。
--Second embodiment--
A second embodiment of the arithmetic device will be described with reference to Figures 16 to 21. In the following description, the same components as in the first embodiment are given the same reference numerals, and differences will be mainly described. Points that are not specifically described are the same as in the first embodiment. This embodiment differs from the first embodiment mainly in that analysis is performed in addition to the processing of the first embodiment.
図16は、第2の実施の形態における演算装置1Aの機能構成図である。演算装置1Aは、第1の実施の形態における演算装置1の構成に加えて、分析部19と対応表18とをさらに有する。分析部19は、縮小済埋込表17Dを読み込んで、目的変数に対応する説明変数を特定する。目的変数は、分析部19が動作するたびにユーザから指定されてもよいし、あらかじめ指定されていてもよい。対応表18は、前処理表17Aと縮小済埋込表17Dにおけるセンサ種別の対応が格納される。なお演算装置1Aのハードウエア構成は第1の実施の形態と同様なので説明を省略する。
Figure 16 is a functional configuration diagram of the
図17は、対応表18の一例を示す図である。対応表18には、次元削減処理による測定データの削減前と削減後の対応、換言すると、前処理表17Aと縮小済埋込表17Dとの対応が示されている。図17に示す例では、前処理表17Aや埋込表17Cにおけるセンサ3、センサ6、およびセンサ9が縮小済埋込表17Dでは左から3番目に統合されたことが示されている。
Figure 17 is a diagram showing an example of correspondence table 18. Correspondence table 18 shows the correspondence between measurement data before and after reduction by dimensionality reduction processing, in other words, the correspondence between preprocessing table 17A and reduced embedding table 17D. The example shown in Figure 17 shows that
図18は、第2の実施の形態における演算装置1Aによる最適化処理の全体を示すフローチャートである。第11の実施の形態との相違点は、画面表示を含むステップS31がS31Aに変更されている点、ステップS41が追加されている点、および次元削減処理であるステップS37がステップS37Aに変更されている点である。これらについて詳しく説明する。
Figure 18 is a flowchart showing the overall optimization process by the
図19は、第2の実施の形態における画面表示例を示す図である。図19では、第1の実施の形態に比べて、コンテキスト期間範囲を設定可能である点が異なる。すなわち本実施の形態では、コンテキスト期間範囲、タイムステップ、次元数、およびデータ利用率の4つのパラメータを有する。そして本実施の形態では、ユーザによるコンテキスト期間範囲の指定は必須であり、ユーザがタイムステップ、次元数、およびデータ利用率の3つのうち2つを指定する点は第1の実施の形態と同様である。 Figure 19 is a diagram showing an example of a screen display in the second embodiment. Figure 19 differs from the first embodiment in that the context period range can be set. That is, this embodiment has four parameters: context period range, time step, number of dimensions, and data utilization rate. And in this embodiment, it is essential for the user to specify the context period range, and like the first embodiment, the user specifies two of the three parameters: time step, number of dimensions, and data utilization rate.
図20は、前処理表をコンテキスト期間範囲に限定する限定処理を示すフローチャートである。ステップS411では演算装置1は、コンテキスト期間の基準となるいずれかの測定データである基準データを特定する。基準データは、ユーザによりその都度指定されてもよいし、あらかじめ指定されていてもよい。続くステップS412では演算装置1は、前処理表17Aまたは独立測定データ16を参照してステップS411において特定した基準データの発生間隔を算出する。
Figure 20 is a flowchart showing the limiting process for limiting the preprocessing table to the context period range. In step S411, the
続くステップS413では演算装置1は、ユーザに指定された割合を満たす時間を算出する。たとえば、基準データの発生間隔が平均で「2時間」であり、ユーザから指定されたコンテキスト期間に相当する割合が「1σ」であった場合には、「2時間」の68%である「1時間22分」が算出される。続くステップS414では演算装置1は、前処理表から不要な行、すなわち基準データの発生時刻からステップS413において算出した期間以外のデータを削除して図20に示す処理を終了する。
In the next step S413, the
たとえば基準データがS1であり、ステップS413において算出された時間が「1時間22分」である場合には次のように削除する行を決定する。すなわち演算装置1は、前処理表17AにおいてセンサS1の測定データがゼロでない、またはセンサS1のマスクデータがゼロでない時刻のデータ、およびその時刻から「1時間22分」だけ前の時刻までのデータを残存対象とし、それ以外のデータを削除する。
For example, if the reference data is S1 and the time calculated in step S413 is "1
図21は、第2の実施の形態における次元削減処理を示す図である。図21は、第1の実施の形態における図12と比較すると、ステップS373とステップS374との間にステップS421が追加されている点が異なる。ステップS421では演算装置1は、ステップS373において特定した複数のセンサデータを対応表18に記載してステップS374に進む。具体的には演算装置1は、ステップS373において特定されたセンサデータを測定したセンサの名称と、統合後のデータの位置、たとえば左から何番目の値かを示す情報とを対応表18に追記する。ステップS374以降の処理は第1の実施の形態と同様なので説明を省略する。
Figure 21 is a diagram showing the dimension reduction process in the second embodiment. Compared to Figure 12 in the first embodiment, Figure 21 differs in that step S421 is added between step S373 and step S374. In step S421, the
図22は、分析部19による分析処理を示すフローチャートである。分析部19はまずステップS431において、縮小済埋込表17Dを読み込む。続くステップS432では分析部19は、測定されていない測定データを特定する。測定されていない測定値とは、図3において「NaN」と記載されていた欄の値であり、図6に示す手法により前処理表17Aが作成された場合には、目的変数であるセンサデータが「0」かつ対応するマスクデータが「0」であるセンサデータの欄の値である。なお目的変数が他のセンサデータとともに統合されている場合には、対応表18を参照して目的変数が含まれるデータ列を特定する。
Figure 22 is a flowchart showing the analysis process by the
続くステップS433では分析部19は、ステップS432において特定した測定値を推定する。この推定には、公知である様々な技術を利用でき、たとえばWord2Vecにおける補間が利用できる。続くステップS434では分析部19は、目的変数に対する説明変数を推定する。ただし縮小済埋込表17Dの作成過程でセンサデータが統合されている場合には、本ステップでは説明変数の特定には至らず、たとえば左から4番目のデータ列、という特定に留まる。
In the next step S433, the
続くステップS435では分析部19は、対応表18を参照してステップS434において特定したデータ列に含まれるデータの名称を特定する。ただしステップS434において特定した説明変数が他のセンサデータと統合されていない場合には本ステップの処理は省略可能である。続くステップS436では、ステップS436において特定した変数を画面に表示して図22に示す処理を終了する。
In the following step S435, the
また本実施の形態では、図12に示した次元削減処理を以下のように変更する。すなわちステップS373において、特定した複数のセンサデータの名称、および統合したデータの格納位置を対応表18に格納する。 In addition, in this embodiment, the dimensionality reduction process shown in FIG. 12 is modified as follows. That is, in step S373, the names of the identified multiple sensor data and the storage location of the integrated data are stored in the correspondence table 18.
上述した第2の実施の形態によれば、次の作用効果が得られる。
(8)縮小済埋込表17Dを読み込み、所定のセンサの測定値と相関が強い他の測定値を有するセンサを特定する分析ステップを含む。分析ステップは、前処理表17Aと縮小済埋込表17Dとの対応を示す対応表18を参照して所定のセンサおよび他の測定値を有するセンサを特定する。そのため演算装置1Aは、縮小済埋込表17Dを読み込んで分析を行うので、少ないリソースでの分析が可能となる。
According to the above-described second embodiment, the following advantageous effects can be obtained.
(8) An analysis step includes reading reduced embedding table 17D and identifying sensors having other measurement values that are highly correlated with the measurement value of a predetermined sensor. The analysis step identifies the predetermined sensor and sensors having other measurement values by referring to correspondence table 18 that shows the correspondence between preprocessing table 17A and reduced embedding table 17D. Therefore, since
(第2の実施の形態の変形例1)
第2の実施の形態では、次元削減部15の処理を次のように変更してもよい。図23は、第2の実施の形態の変形例1における次元削減部15の処理を示す図である。ステップS441では次元削減部15は、埋込表17Cにおける測定データ同士の共起確率を算出する。続くステップS442では次元削減部15は、ステップS441において算出した共起確率が所定値以上である測定データ同士、およびこれらに対応するマスクデータ同士を統合対象に決定する。
(
In the second embodiment, the processing of the
続くステップS443では次元削減部15は、埋込表17Cにおけるマスクデータ同士の共起確率を算出する。続くステップS444では次元削減部15は、ステップS443において算出した共起確率が所定値以上であるマスクデータ同士、およびこれらに対応する測定データ同士を統合対象に決定する。続くステップS445では次元削減部15は、統合対象となった測定データおよびマスクデータに対して、測定データの平均値とマスクデータの論理和を統合後の値とする。
In the next step S443, the
(第2の実施の形態の変形例1)
分析部19による補間処理、すなわち図22のステップS433における測定値の推定は、pythonにおけるライブラリ「pandas」の「interpolate」関数または「fillna」関数を利用してもよい。
(
The interpolation process by the
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。 In each of the above-described embodiments and variations, the functional block configurations are merely examples. Some functional configurations shown as separate functional blocks may be configured together, or a configuration shown in a single functional block diagram may be divided into two or more functions. In addition, some of the functions of each functional block may be provided by other functional blocks.
上述した各実施の形態および変形例において、演算装置1のプログラムは不図示のROMに格納されるとしたが、プログラムは記憶装置5に格納されていてもよい。また、演算装置1が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと演算装置1が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
In each of the above-described embodiments and modifications, the program of the
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。 The above-mentioned embodiments and modifications may be combined with each other. Although various embodiments and modifications have been described above, the present invention is not limited to these. Other aspects that are conceivable within the scope of the technical concept of the present invention are also included within the scope of the present invention.
1、1A…演算装置
11…取得部
12…前処理部
13…対話部
14…パラメータ算出部
15…次元削減部
16…独立測定データ
17A…前処理表
17B…時刻正規化表
17C…埋込表
17D…縮小済埋込表
18…対応表
19…分析部
Claims (9)
不統一な測定時刻および測定値の組み合わせを複数のセンサについて含む独立測定データを取得する取得ステップと、
前記測定時刻ごとに、前記測定値の有無を示す数値であるマスクデータおよび前記測定値に基づく数値である測定データを作成して、全ての前記測定時刻ごとの前記複数のセンサの測定データおよび前記マスクデータを含む前処理表を作成する前処理ステップと、
前記前処理表における前記測定データに対して埋め込み処理を行い、少なくとも前記測定データの類似度に基づき、複数の前記測定データを統合し、かつ複数の前記マスクデータを統合した縮小済埋込表を作成する次元削減ステップとを含む演算方法。 A computing method executed by a computing device, comprising:
acquiring independent measurement data including non-uniform measurement time and measurement value combinations for a plurality of sensors;
a pre-processing step of creating, for each of the measurement times, mask data which is a numerical value indicating the presence or absence of the measurement values and measurement data which is a numerical value based on the measurement values, and creating a pre-processing table including the measurement data and the mask data of the plurality of sensors for all of the measurement times;
and a dimensionality reduction step of performing an embedding process on the measurement data in the preprocessing table, integrating a plurality of the measurement data based on at least the similarity of the measurement data, and creating a reduced embedding table that integrates a plurality of the mask data.
前記次元削減ステップは、前記測定データのコサイン類似度に基づき統合する前記複数の測定データを決定する、演算方法。 2. The method according to claim 1,
The dimension reduction step determines the plurality of measurement data to be integrated based on a cosine similarity of the measurement data.
前記次元削減ステップは、前記測定データおよび前記マスクデータのコサイン類似度に基づき統合する前記複数の測定データを決定する、演算方法。 2. The method according to claim 1,
A computation method, wherein the dimensionality reduction step determines the plurality of measurement data to be integrated based on a cosine similarity between the measurement data and the mask data.
時間幅であるタイムステップにしたがって前記前処理表における異なる測定時刻に組み合わされる複数の前記測定値および複数の前記マスクデータを統合する時間統合ステップをさらに含む、演算方法。 2. The method according to claim 1,
The calculation method further includes a time integration step of integrating the plurality of measurement values and the plurality of mask data combined at different measurement times in the pre-processing table according to a time step that is a time width.
統合する時間幅であるタイムステップ、測定データの利用率であるデータ利用率、およびデータ数である次元数の3つのうち2つの指定を受け付ける入力ステップと、
前記3つのうち指定されていない1つを算出するパラメータ算出ステップと、
前記タイムステップにしたがって前記前処理表における異なる測定時刻に組み合わされる複数の前記測定値および複数の前記マスクデータを統合する時間統合ステップと、をさらに含む演算方法。 2. The method according to claim 1,
An input step that accepts the specification of two of the following three items: a time step, which is the time width to be integrated; a data utilization rate, which is the utilization rate of the measurement data; and a number of dimensions, which is the number of data.
a parameter calculation step of calculating one of the three parameters that is not specified;
The calculation method further includes a time integration step of integrating the plurality of measurement values and the plurality of mask data combined at different measurement times in the pre-processing table according to the time step.
前記前処理ステップは、センサごとに前記測定値が存在しない前記測定時刻における前記マスクデータをゼロに設定し、存在しない前記測定値に対応する前記測定データをゼロに設定する、演算方法。 2. The method according to claim 1,
The pre-processing step sets the mask data at the measurement time when no measurement value exists for each sensor to zero, and sets the measurement data corresponding to the non-existent measurement value to zero.
前記前処理ステップは、センサごとに前記測定値が存在しない前記測定時刻における前記マスクデータをゼロに設定し、センサごとに前記測定値が存在する前記測定時刻における前記マスクデータを「1」に設定する、演算方法。 2. The method according to claim 1,
The pre-processing step sets the mask data for each sensor at the measurement time when no measurement value exists to zero, and sets the mask data for each sensor at the measurement time when a measurement value exists to "1."
前記縮小済埋込表を読み込み、所定のセンサの測定値と相関が強い他の測定値を有するセンサを特定する分析ステップをさらに含み、
前記分析ステップは、前記前処理表と前記縮小済埋込表との対応を示す対応表を参照して前記所定のセンサおよび前記他の測定値を有するセンサを特定する、演算方法。 2. The method according to claim 1,
further comprising an analyzing step of reading the reduced embedding table and identifying sensors having other measurements that are highly correlated with the measurements of a given sensor;
A calculation method in which the analyzing step identifies the predetermined sensor and the sensors having the other measurement values by referring to a correspondence table indicating the correspondence between the preprocessing table and the reduced embedded table.
前記測定時刻ごとに、前記測定値の有無を示す数値であるマスクデータおよび前記測定値に基づく数値である測定データを作成して、全ての前記測定時刻ごとの前記複数のセンサの測定データおよび前記マスクデータを含む前処理表を作成する前処理部と、
前記前処理表における前記測定データに対して埋め込み処理を行い、少なくとも前記測定データの類似度に基づき、複数の前記測定データを統合し、かつ複数の前記マスクデータを統合した縮小済埋込表を作成する次元削減部とを備える演算装置。 An acquisition unit that acquires independent measurement data including combinations of non-uniform measurement times and measurement values for a plurality of sensors;
a pre-processing unit that creates, for each of the measurement times, mask data that is a numerical value indicating the presence or absence of the measurement values and measurement data that is a numerical value based on the measurement values, and creates a pre-processing table including the measurement data and the mask data of the plurality of sensors for all of the measurement times;
a dimensionality reduction unit that performs an embedding process on the measurement data in the preprocessing table, integrates a plurality of the measurement data based on at least the similarity of the measurement data, and creates a reduced embedding table that integrates a plurality of the mask data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021070139A JP7693375B2 (en) | 2021-04-19 | 2021-04-19 | Arithmetic method, arithmetic device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021070139A JP7693375B2 (en) | 2021-04-19 | 2021-04-19 | Arithmetic method, arithmetic device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022164994A JP2022164994A (en) | 2022-10-31 |
| JP7693375B2 true JP7693375B2 (en) | 2025-06-17 |
Family
ID=83845859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021070139A Active JP7693375B2 (en) | 2021-04-19 | 2021-04-19 | Arithmetic method, arithmetic device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7693375B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009187293A (en) | 2008-02-06 | 2009-08-20 | Nec Corp | Time-series data analysis system, method and program |
| JP2016039610A (en) | 2014-08-11 | 2016-03-22 | アルドネット株式会社 | Data transmitter and remote monitoring system |
| JP2019179005A (en) | 2018-03-30 | 2019-10-17 | 横河電機株式会社 | Data acquisition system, input device, data acquisition device, and data synthesis device |
| US20200049677A1 (en) | 2013-12-23 | 2020-02-13 | Aclima Inc. | Method to combine partially aggregated sensor data in a distributed sensor system |
-
2021
- 2021-04-19 JP JP2021070139A patent/JP7693375B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009187293A (en) | 2008-02-06 | 2009-08-20 | Nec Corp | Time-series data analysis system, method and program |
| US20200049677A1 (en) | 2013-12-23 | 2020-02-13 | Aclima Inc. | Method to combine partially aggregated sensor data in a distributed sensor system |
| JP2016039610A (en) | 2014-08-11 | 2016-03-22 | アルドネット株式会社 | Data transmitter and remote monitoring system |
| JP2019179005A (en) | 2018-03-30 | 2019-10-17 | 横河電機株式会社 | Data acquisition system, input device, data acquisition device, and data synthesis device |
Non-Patent Citations (1)
| Title |
|---|
| 竹田義聡、中村隆顕、和田貴成、郡 光則,環境情報データベース向けリアルタイムセンサデータロード方式,第73回(平成23年)全国大会講演論文集(1),日本,一般社団法人情報処理学会,2011年03月02日,pp.1-555~1-556(2C-3) |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022164994A (en) | 2022-10-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0981098B1 (en) | Method and apparatus for generating and displaying views of hierarchically clustered data | |
| US20230137890A1 (en) | Systems and Methods for 3D Data Visualization and Network Extraction | |
| KR101959649B1 (en) | Specifying and applying rules to data | |
| JP4890806B2 (en) | Prediction program and prediction device | |
| US20200211242A1 (en) | Concentric data visualization structures | |
| KR20200086548A (en) | Method for compressing and restoring time series data | |
| JP4676498B2 (en) | Method and system for extracting association rules | |
| JP7693375B2 (en) | Arithmetic method, arithmetic device | |
| Bidarra et al. | Efficiency of boundary evaluation for a cellular model | |
| JP7310827B2 (en) | LEARNING DEVICE, LEARNING METHOD, AND PROGRAM | |
| JP6625183B1 (en) | Remodeling support device and remodeling support method | |
| US10241899B2 (en) | Test input information search device and method | |
| JPWO2008155852A1 (en) | Method and apparatus for aggregating tabular data in a shared memory parallel processing system | |
| CN113112148B (en) | Evaluation method for evaluation result of recommendation system model and electronic equipment | |
| CN117522465A (en) | Method, device, equipment and storage medium for determining sales transaction reason | |
| JP2007114896A (en) | Time series data storage and extraction method and program | |
| JP7468655B2 (en) | Inconsistency determination device, method, and program | |
| JP7097500B1 (en) | Output program, output device and output method | |
| KR102385867B1 (en) | Data compression method and apparatus for data visualization | |
| JP7649657B2 (en) | Building frame estimation device and building frame estimation method | |
| JP5535270B2 (en) | Document component analysis apparatus and program | |
| CN121116926A (en) | VTK-based post-processing visualization method | |
| JPH1040413A (en) | Method and device for calculating volume data and visualizing volume data | |
| CN120197682A (en) | A data correlation mining method for big data analysis platform | |
| Jaber et al. | Towards a GPU-native adaptive mesh refinement scheme for the lattice Boltzmann method in complex geometries |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240326 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250122 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250225 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250424 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250520 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250605 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7693375 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |