以下、添付図面を用いて、データ分析システムについて説明する。以降の説明では、対象となる業務が物流倉庫における商品ピッキング作業であり、予測モデルの予測対象はピッキング作業に要する作業時間である場合を取り上げる。なお、本実施例は作業実績データから予測モデルを生成し、それを用いて業務改善施策を生成するサービス全般に適用可能なものであり、説明するユースケースに限定されるものではない。
<データ分析システムのシステム構成例>
図1は、データ分析システムのシステム構成例を示すブロック図である。データ分析システム100は、業務システム101と、データ分析装置102と、を有する。業務システム101およびデータ分析装置102は、Local Area Network(;LAN)、Wide Area Network(WAN)、インターネットのようなネットワークを介して相互に通信可能に接続される。
業務システム101は、一つ以上の計算機を有しており、外部から入力されるなどした業務計画の実施及び実施結果を業務実績データとして、業務実績DB110に蓄積する。データ分析装置102は、モデル生成処理121と、業務改善施策生成処理122と、を実行する。
モデル生成処理121は、業務システム101から業務内容及び業務結果等を含む業務実績データを業務実績DB110から取得して、予測モデルを生成する処理である。業務改善施策生成処理122は、あらたな業務実績データを、モデル生成処理121によって生成された予測モデルに与えることにより、業務評価指標の改善を実現するための業務改善施策を生成する処理である。
業務評価指標とは、Key Performance Indicator(KPI)等の業務を評価するための指標である。業務実績データは、業務に関連するパラメータである属性を複数含む。属性は、たとえば、タイムスタンプ、性別、金額、および作業時間のような特徴を含む。
業務システム101は、データ分析装置102から受け取った業務改善施策をもとに、次に実施される業務計画の変更を行い、再び業務の実施及び、業務実績データの蓄積を行う。データ分析システム100は、以上で述べた業務実施と業務改善のサイクルを継続的に実行する。
<データ分析装置102のハードウェア構成例>
図2は、データ分析装置102のハードウェア構成例を示すブロック図である。データ分析装置102は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、データ分析装置102を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、モデル生成処理121および業務改善施策生成処理122を実行する各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタがある。通信IF205は、ネットワークと接続し、データを送受信する。
記憶デバイス202は、具体的には、たとえば、業務実績データ221、商品情報222、作業員ID使用学習データ223、作業員属性使用学習データ224、中間学習データ225、第1影響度テーブル226、抽象化変数使用学習データ227、第2影響度テーブル228、作業員特徴使用学習データ229、作業員属性・特徴データ230、作業員ID使用予測モデル231、作業員属性使用予測モデル232、中間予測モデル233、抽象化変数使用予測モデル234、作業員特徴使用予測モデル235を記憶する。
業務実績データ221は、業務実績DB110から抽出されデータ分析装置102が受け取ったデータである。業務実績データ221は、モデル生成処理121による予測モデルの生成に用いられたり、業務改善施策生成処理122による業務改善施策の生成に用いられたりする。業務実績データ221の詳細は、図3で後述する。
商品情報222は、商品の属性を示す情報を記憶する。商品情報の詳細は、図4で後述する。
作業員ID使用学習データ223は、目的変数を作業時間、説明変数を作業員の移動距離やピッキングした物品の数量や重量、体積などとして規定される作業を示す学習データであって、説明変数としてさらに作業員ID変数が付加された学習データである。作業員ID変数とは、作業員IDで特定される作業員が対象となる作業を行ったか否かを示す変数である。作業員ID使用学習データの詳細は、図6で後述する。
作業員属性使用学習データ224は、目的変数を作業時間、説明変数を作業員の移動距離やピッキングした物品の数量や重量、体積などとして規定される作業を示す学習データであって、説明変数としてさらに作業員属性変数が付加された学習データである。作業員属性変数とは、当該作業員の経験日数などの作業員の属性を示す変数である。作業員属性使用学習データには、作業員ID変数は含まれない。作業員属性使用学習データの詳細は、図7で後述する。
中間学習データ225は、抽象化変数使用学習データ227を生成するための中間的な学習データである。中間学習データの詳細は、図8で後述する。
第1影響度テーブル226は、説明変数、作業員属性変数、および作業員ID変数の各影響度を作業別に規定したテーブルである。第1影響度テーブル226の詳細は、図9および図10で後述する。
抽象化変数使用学習データ227は、目的変数を作業時間、説明変数を作業員の移動距離やピッキングした物品の数量や重量、体積などとして規定される作業を示す学習データであって、説明変数としてさらに作業員属性変数および作業員ID抽象化変数が追加された学習データである。すなわち、作業員属性使用学習データに作業員ID抽象化変数が追加された学習データである。
作業員ID抽象化変数とは、作業員IDで特定される作業員を作業員IDで特定せずに「作業が遅い」や「作業が速い」のような表現で抽象化した変数である。抽象化変数使用学習データの詳細は、図11で後述する。
第2影響度テーブル228は、モデル生成処理121によって抽象化変数使用学習データ227を用いて生成された予測モデルに、改善対象の業務実績データ221を入力した結果出力されるデータテーブルである。第2影響度テーブル228の詳細は、図12および図13で後述する。
作業員特徴使用学習データ229は、抽象化変数使用学習データ227に、作業員特徴変数が追加された学習データである。作業員特徴変数とは、たとえば、「棚上段が得意」のように作業員の特徴を示す変数である。作業員特徴使用学習データ229の詳細は、図14で後述する。
作業員属性・特徴データ230は、各作業員の作業員IDに対して、作業員属性や作業員特徴がリスト化されたデータである。作業員属性・特徴データ230の詳細は、図17で後述する。
作業員ID使用予測モデル231は、モデル生成処理121によって作業員ID使用学習データ223(図6)を用いて生成された、作業時間を予測する予測モデルである。
作業員属性使用予測モデル232は、モデル生成処理121によって作業員属性使用学習データ224(図7)を用いて生成された、作業時間を予測する予測モデルである。
中間予測モデル233は、モデル生成処理121によって中間学習データ225(図8)を用いて生成された、作業時間を予測する中間的な予測モデルである。
抽象化変数使用予測モデル234は、モデル生成処理121によって抽象化変数使用学習データ227(図11)を用いて生成された、作業時間を予測する予測モデルである。
作業員特徴使用予測モデル235は、モデル生成処理121によって作業員特徴使用学習データ229を用いて生成された、作業時間を予測する予測モデルである。
<業務実績データ221>
図3は、業務実績データ221の一例を示す説明図である。業務実績データ221は、作業ID301と、枝番302と、作業員ID303と、商品コード304と、場所コード305と、個数306と、作業開始時刻307と、作業終了時刻308と、を有する。作業員ID303、商品コード304、場所コード305、および個数306は、商品の配置、取り扱う商品、作業員の構成といった作業環境を示す。
作業ID301は、作業を一意に特定する識別情報であり、作業員がピッキングを行う作業業務の1単位を示す。たとえば、同一の発送先の商品が対象となる一連のピッキング作業が該当する。
枝番302は、作業ID301で特定される作業を作業員ID別または商品コード別に細分化した番号である。以下、作業ID301をx(xは数字)またはx-y(yは枝番302の数字)で表記する。作業ID301をxのみで表記した場合は、その作業ID301の全枝番302を含むエントリが対象となり、作業ID301をx-yで表記した場合は、その作業ID301:xの枝番302:yのエントリが対象となる。
作業員ID303は、作業員を一意に特定する識別情報である。商品コード304は、作業員ID303で特定される作業員がピッキングした商品を一意に特定する識別情報である。場所コード305は、商品コード304で特定される商品が収納されている場所を示す識別情報である。場所コード305は、たとえば、a列-b連-c段(a、b、cは文字列)で表記され、a列の棚のb連(奥行き)のc段(上、中、下などの棚の高さ)を意味する。
個数306は、商品コード304で特定される商品をピッキングした数である。作業開始時刻307は、作業ID301:x-yで特定される作業を開始した日付時刻である。作業終了時刻308は、作業ID301:x-yで特定される作業を終了した日付時刻である。
<商品情報>
図4は、商品情報の一例を示す説明図である。商品情報222は、商品コード304と、1個当たりの重量401と、1個当たりの体積402と、を有する。1個当たりの重量401は、商品コード304で特定される商品1個当たりの重さである。1個当たりの体積402は、商品コード304で特定される商品1個当たりの体積である。
<モデル生成処理121>
図5は、図1に示したモデル生成処理121の詳細な処理手順例を示すフローチャートである。モデル生成処理121とは、業務実績データ221から学習データを加工、生成し、作業時間を予測する予測モデルを生成する処理である。
データ分析装置102は、モデル生成処理121を起動し(ステップS501)、記憶デバイス202から予測モデルを生成する際の学習データの対象期間分の業務実績データ221を取得する(ステップS502)。つぎに、データ分析装置102は、業務実績データ221を加工して、作業員ID使用学習データ223を生成する(ステップS503)。これにより、業務実績データ221は、作業員ID使用学習データ223に変換される。作業員ID使用学習データ223の一例を図6に示す。
[作業員ID使用学習データ223]
図6は、作業員ID使用学習データ223の一例を示す説明図である。作業員ID使用学習データ223は、作業ID301と、目的変数601と、説明変数602と、作業員ID変数603と、を有する。目的変数601は、予測対象の値であり、本例では作業時間に該当する。作業時間は、同一の作業ID301のエントリの作業終了時刻308から作業開始時刻307を引いた時間である。枝番302により作業ID301に複数のエントリが存在する場合、各エントリの作業時間の総和が作業時間601となる。
説明変数602は、業務実績データ221における各種の値を集計して生成された変数の集合であり、当該作業ID301のエントリの特徴量を示す。具体的には、たとえば、説明変数602は、移動距離621と、数量622と、重量623と、体積624と、棚上段625と、棚中段626と、棚下段627と、を有する。移動距離621は、作業ID301で特定される作業をした作業員が当該作業において移動した距離である。データ分析装置102は、場所コード305に示した位置情報を含む倉庫内の地図情報を有しており、ピッキングした場所間の道なり距離を算出可能である。
数量622は、作業ID301で特定される作業でピッキングされた商品の数または量である。重量623は、作業ID301で特定される作業でピッキングされた商品の数量622分の重さである。体積624は、作業ID301で特定される作業でピッキングされた商品の数量622分の大きさである。棚上段625は、棚の上段からピッキングした商品の数量である。棚中段626は、棚の中段からピッキングした商品の数量である。棚下段627は、棚の下段からピッキングした商品の数量である。作業ID301のエントリにおいて、棚上段625~棚下段627の値の合計が、数量622となる。
なお、データ分析装置102は、図示しない在庫管理システムと通信可能であり、在庫管理システムは、商品の1個当たりの重量や体積、収納されている場所コード305を管理している。したがって、データ分析装置102は、在庫管理システムにアクセスすることで、商品ごとに数量622~棚下段627を取得可能である。
作業員ID変数603は、その作業ID301で特定される作業を、作業員ID303(図6のID1、ID2、…)で特定される作業員のうちどの作業員がおこなったかを示す変数である。「ID#」(#は数字)は、作業員ID303を示す。たとえば、作業員ID変数603が「1」であれば、その作業ID301で特定される作業を、その作業員ID303で特定される作業員が行ったことを示す。作業員ID変数603が「0」であれば、その作業ID301で特定される作業を、その作業員ID303で特定される作業員が行っていないことを示す。ここで、図6の説明を終了する。
図5に戻り、データ分析装置102は、作業員ID使用学習データ223を用いて、作業員ID使用予測モデル231を生成する(ステップS504)。この処理は、作業員ID使用予測モデル231を、目的変数601である作業時間を予測する回帰モデルとして機械学習によって生成する処理であり、機械学習アルゴリズムの手法自体は問わない。
この機械学習アルゴリズムの手法は、たとえば、説明変数602と作業員ID変数603に適当な係数を掛け合わせそれらの総和を予測値とし、学習データの目的変数601と予測値との二乗誤差が最小になるような各係数を求める線形回帰式を生成する手法でもよい。また、機械学習アルゴリズムの手法は、DNN(Deep Neural Network)などによる非線形な表現によって予測モデルを生成するような手法でもよい。このように、作業員ID使用予測モデル231を生成することで、学習データに十分な作業実績のサンプルを持つ作業員の作業について、様々な説明変数602の値に対応した作業時間の予測値の高精度化を図ることができる。
つぎに、データ分析装置102は、業務実績データ221を加工して、作業員属性使用学習データ224を生成する(ステップS505)。図7に作業員属性使用学習データ224の一例を示す。
[作業員属性使用学習データ224]
図7は、作業員属性使用学習データ224の一例を示す説明図である。作業員属性使用学習データ224は、作業員属性変数700を使用した学習データである。具体的には、たとえば、作業員属性使用学習データ224は、作業ID301と、目的変数601と、説明変数602と、作業員属性変数700と、を有する。作業員属性変数700とは、作業員の属性を示す変数である。
作業員属性変数700は、業務実績データ221に格納されている情報を作業員属性変数700として利用してもよく、新たに作成された変数でもよい。前者の場合、作業員の年齢や性別、身長、作業員のレベルが例として挙げられる。後者については、図7にあるような経験日数701や付近の作業員の経験日数702が例として挙げられる。
経験日数701は、作業員が分析対象の業務に携わってからどれくらいの日数が経過しているかを示す作業員属性変数700であり、たとえば過去の全期間に渡る業務実績データ221から、対象のエントリの作業員ID303が存在する最も古い作業日時を基点日時とし、基点から該当するエントリの作業日時までの日数を計算することで得られる。
また、作業員ID303それぞれに経験日数701の初期値を外部から与えられるようにし、その初期値を基点日時にして対象のエントリでの経験日数を計算するようにしてもよい。これによって、業務実績データ221を収集する以前から業務に携わっているような作業員の経験日数701を正確に反映することができる。
経験日数701は日数に限らず、分単位、時間単位、月単位で表現してもよい。さらに、変数の型は連続値に限らず、分類値(たとえば、経験1ヶ月未満、経験6ヶ月以上、など)を用いてもよい。これによって、より業務の特性に特化した経験値を反映した変数とすることができる。
付近の作業員の経験日数702は、該当するエントリの作業を実施する際に、近く(たとえば、半径10メートル以内などの所定範囲)に存在する作業員の経験日数701を反映した作業員属性変数700である。具体的には、たとえば、データ分析装置102は、業務実績データ221の場所コード305、作業開始時刻307および作業終了時刻308を参照し、ピッキング対象の商品が近い場所に存在し作業時間帯が重なっている別の作業を担当する作業員の経験日数701を算出する。この算出結果が、付近の作業員の経験日数702となる。
当該別の作業員が複数存在する場合は、データ分析装置102は、各別の作業員の経験日数701の平均値、中央値、最大値、最小値といった統計値を算出することにより、付近の作業員の経験日数702に設定する。特に、最小値が選択された場合、付近に新人の作業員が存在し、業務の支援をするような状況を反映できると考えられる。ここで、図6の説明を終了する。
図5に戻り、データ分析装置102は、作業員属性使用学習データ224を用いて、作業員属性使用予測モデル232を生成する(ステップS506)。この処理は、ステップS504の作業員ID使用予測モデル231と同様、作業員属性使用予測モデル232を、目的変数601である作業時間を予測する回帰モデルとして機械学習によって生成する処理であり、機械学習アルゴリズムの手法は、ステップS504と同様の手法となる。
このように、作業員属性使用予測モデル232を生成することで、作業員ID303ではなく、作業員が持つ作業員属性を説明変数とした普遍的な予測モデルを得ることができる。これによって、学習データ内に実績が存在しない作業員の作業を予測するような場合において、その作業員の属性情報を説明変数として与えることで、精度良く作業時間を予測することができる。なお、作業員属性使用予測モデル232は、後述する図16で使用される。
つぎに、データ分析装置102は、中間学習データ225を生成する(ステップS507)。図8に中間学習データ225の一例を示す。
[中間学習データ225]
図8は、中間学習データ225の一例を示す説明図である。中間学習データ225は、図7の作業員属性使用学習データ224に、図6の作業員ID変数603が追加された学習データである。まず、図8に示すように、データ分析装置102は、中間学習データ225を生成する。ここで、図8の説明を終了する。
図5に戻り、データ分析装置102は、中間学習データ225を用いて、中間予測モデル233を生成する(ステップS508)。この処理は、ステップS504の作業員ID使用予測モデル231と同様、中間予測モデル233を、目的変数601である作業時間を予測する回帰モデルとして機械学習によって生成する処理であり、機械学習アルゴリズムの手法は、ステップS504と同様の手法となる。
つぎに、データ分析装置102は、中間予測モデル233を用いて、中間学習データ225の全作業に対して、各々の作業が入力である場合の予測結果に対する各変数の影響度(第1影響度)を算出する(ステップS509)。具体的には、たとえば、データ分析装置102は、第1影響度テーブル226を作成する。図9に第1影響度テーブル226の一例を示す。
[第1影響度テーブル226]
図9は、第1影響度テーブル226の一例を示す説明図である。第1影響度テーブル226は、全作業において、中間学習データ225で生成された予測モデルを用いて算出された予測値に対する各変数の影響度(第1影響度)をテーブルの形式で例示した情報である。具体的には、たとえば、第1影響度テーブル226は、作業ID301と、目的変数601と、説明変数602の影響度901と、作業員属性変数700の影響度902と、作業員ID変数603の影響度903と、予測値904と、を有する。
予測値904は、作業ID301ごとに、図8の説明変数602、作業員属性変数700、および作業員ID変数603を、中間学習データ225で生成された予測モデルに入力した場合の出力結果(作業時間)である。
説明変数602の影響度901、作業員属性変数700の影響度902、および作業員ID変数603の影響度903は、算出された予測値904が、全作業の予測値904の平均値に対してどのような影響を各変数から受けて決定されているかを示した情報である。具体的には、たとえば、説明変数602の影響度901は、説明変数602の項目(移動距離621、数量622、重量623、体積624、棚上段625、棚中段626、棚下段627、…)ごとに影響度を有する。
作業員属性変数700の影響度902は、作業員属性変数700の項目(経験日数701、付近の作業員の経験日数702、…)ごとに影響度を有する。作業員ID変数603の影響度903は、作業員ID変数603の項目(ID1、ID2、…)ごとに影響度を有する。影響度の値は、大きいほどその作業に影響を与えていることを示す。
たとえば、作業ID301が「1」のエントリの場合、作業員ID変数603の「ID1」という変数の影響度は、「+55」である。これは、すべての予測値904の平均値である「300」に対して「+55」の影響を与え、同様にその他の変数の影響度が加算されて最終的に予測値904である「432」が決定された、ということを意味する。これによって、学習データの各作業それぞれで、各種変数の値が予測値904にどのような影響を与えているかが定量的に分かるようになる。
このような影響度を算出する方法としては、たとえば公知の技術として、SHAP(SHapley Additive exPlanations)や、LIME(Local Interpretable Model-agnostic Explainations)のような手法がある。
これにより、データ分析装置102は、任意の予測モデルが出力した予測値904について、該当する作業が持つ各変数が予測値904にどれくらい影響を与えたかを、定量的な値で得ることができる。ここで、図9の説明を終了する。
つぎに、データ分析装置102は、抽象化変数使用学習データ227を生成する(ステップS510)。具体的には、たとえば、データ分析装置102は、第1影響度テーブル226を用いて、作業員ID変数603を作業員属性変数700に加工する。図10を用いて具体的に説明する。
[影響度分布情報]
図10は、全作業における影響度分布情報を示す説明図である。影響度分布情報1000は、作業員ID変数名1001と影響度分布1002とを対応付けた情報である。データ分析装置102は、作業員ID303ごとに、当該作業員の作業員ID変数603とその影響度を用いて、全作業(作業ID301:1,2,…)における影響度の分布を求める。
すなわち、作業員ID変数名1001のある値(作業員ID303)の影響度分布1002は、図9に示した第1影響度テーブル226の作業員ID変数603の影響度903における当該作業員ID変数603の影響度903の列である。たとえば、当該作業員ID303が「ID1」であれば、影響度分布1002は、作業ID301の昇順に「+55,0,0,…」の影響度分布1002となり、当該作業員ID303が「ID2」であれば、影響度分布1002は、作業ID301の昇順に「0,-61,0,…」の影響度分布1002となる。
図10では、影響度分布1002において図8の作業員ID変数603が「0」の作業(不実施作業)における当該作業員ID変数603の影響度903が黒丸●、作業員ID変数603が「1」の作業(実施作業)における当該作業員ID変数603の影響度903が白丸○で表記される。
たとえば、図8の中間学習データ225の作業員ID変数603において「ID1」の列は、作業ID301の昇順に「1,0,0,…」である。したがって、作業員ID303が「1」の影響度分布1002において、作業ID301が「1」の影響度「+58」に対応する作業員ID変数603の値は「1」であるため、作業ID301が「1」の影響度「+58」は白丸○として表記される。
また、作業ID301が「2」の影響度「0」に対応する作業員ID変数603の値は「0」であるため、作業ID301が「2」の影響度「0」は黒丸●として表記される。同様に、作業ID301が「3」の影響度「0」に対応する作業員ID変数603の値は「0」であるため、作業ID301が「3」の影響度「0」は黒丸●として表記される。
このように、作業員ID変数名1001ごとに影響度分布1002を求めることにより、作業員ID変数603の影響度903がプラスに大きい作業員ID303と、マイナスに大きい作業員ID303、値が「0」の場合とほとんど差異がない作業員ID303と、を区別することが可能となる。
たとえば、作業員ID303が「1」の作業員は、作業員ID変数603が「1」であるエントリの作業(たとえば、作業ID301が「1」)に参加すると、プラスに大きい影響を与えている、すなわち、作業時間が増加することが分かる。つまり、この作業員ID変数603以外の変数を使用しないと予測精度の低下を招き、作業員特有の影響を考慮、すなわち、作業員ID変数603を使用すると、機械学習によってより予測精度が高い予測モデルが学習されたものとみなせる。したがって、この作業員ID303が「1」の作業員が作業することは作業時間を長くする影響が発生していると解釈できる。
同様に作業員ID303が「2」の作業員は、マイナスに大きな影響を与える作業員で、作業員ID303が「45」の作業員は、特にこの作業員が作業することで特別な影響を与えていない作業員である、ということが分かる。具体的な判別方法としては、データ分析装置102は、作業員ID変数603が「0」(黒丸●)の場合の作業群が持つ影響度の平均値(以下、第1平均値)および分散と、作業員ID変数603が「1」(白丸○)の作業群が持つ影響度の平均値(以下、第2平均値)を求める。
データ分析装置102は、第1平均値と第2平均値との差分が分散の定数倍以上であるような場合に、プラスまたはマイナスに大きな影響を与えていると判断を行う。以上のような処理を行うことで、目的変数601(作業時間)の予測値904にプラスに影響を与える作業員、マイナスに影響を与える作業員、影響を与えない作業員の3種類に分類することが可能となる。
そして、データ分析装置102は、本処理結果に基づいて、抽象化変数使用学習データ227を生成する。図11に抽象化変数使用学習データ227の一例を示す。
[抽象化変数使用学習データ227]
図11は、抽象化変数使用学習データ227の一例を示す説明図である。抽象化変数使用学習データ227は、作業ID301と、目的変数601と、説明変数602と、作業員属性変数700と、作業員ID抽象化変数1101と、を有する。すなわち、抽象化変数使用学習データ227は、図7に示した作業員属性使用学習データ224に、作業員ID抽象化変数1101が追加された学習データである。
作業員ID抽象化変数1101とは、作業員ID303を抽象化した変数である。具体的には、たとえば、作業員ID抽象化変数1101は、「作業が遅い」および「作業が速い」という変数を有する。データ分析装置102は、作業員ID抽象化変数1101の値を、上述した影響を与えているか否かの判断結果に基づいて決定する。
たとえば、「作業が遅い」の値が「1」であれば、その作業ID301の作業は、作業が遅い作業員によりおこなわれたことを意味し、「作業が速い」の値が「1」であれば、その作業ID301の作業は、作業が速い作業員によりおこなわれたことを意味する。「作業が遅い」および「作業が速い」の値がともに「0」であれば、その作業ID301の作業は、平均的な速さの作業員により行われたことを意味する。このように、「作業が遅い」および「作業が速い」の値の組み合わせにより、作業員をその作業能力で抽象化することができる。ここで、図11の説明を終了する。
図5に戻り、データ分析装置102は、抽象化変数使用学習データ227を用いて抽象化変数使用予測モデル234を生成する(ステップS511)。この処理は、ステップS504の作業員ID使用予測モデル231と同様、抽象化変数使用予測モデル234を、目的変数601である作業時間を予測する回帰モデルとして機械学習によって生成する処理であり、機械学習アルゴリズムの手法は、ステップS504と同様の手法となる。
このように、作業員ID変数603の代わりに、作業員ID抽象化変数1101を新たな説明変数として抽象化変数使用予測モデル234に適用することにより、より高精度な予測を実現することができる。特に、予測対象の作業員の実績が業務実績データ221に存在しないような場合において、当作業員が新人として新たに加入した作業員である場合に、作業員ID抽象化変数1101である「作業が遅い」の値を「1」とすることで、不慣れな新人が作業を行うことによる影響を考慮した予測を行うことができる。
つぎに、データ分析装置102は、抽象化変数使用予測モデル234に対する作業別変数の影響度(第2影響度)を算出する(ステップS512)。
[第2影響度テーブル228]
図12は、第2影響度テーブル228の一例を示す説明図である。第2影響度テーブル228は、ステップS512で算出された第2影響度を記憶するテーブルである。第2影響度テーブル228は、具体的には、たとえば、第2影響度テーブル228は、第1影響度テーブル226と同様、作業ID301と、目的変数601と、説明変数602の影響度901と、作業員属性変数700の影響度902と、予測値904と、を有し、また、あらたに、作業員ID抽象化変数1101の影響度1201を有する。各影響度の算出は、第1影響度テーブル226と同様であるため、説明を省略する。ここで、図12の説明を終了する。
図5に戻り、データ分析装置102は、第2影響度テーブル228を用いて、作業員特徴変数を生成する(ステップS513)。作業員特徴変数とは、作業員の各々が持つ平均的ではない特異な特徴を表す変数である。同様の傾向を示す作業員の業務実績データ221が複数ある場合には、作業員特徴変数は特徴的だが共通的に存在する個人性を表す変数である、と言える。ここで、図13を用いて具体的な作業員特徴を発見する方法について説明する。
[説明変数602の影響度分布]
図13は、説明変数602の影響度分布例を示すグラフである。図13の影響度分布1300では、説明変数602、作業員属性変数700、および作業員ID抽象化変数1101のうち、説明変数602の棚上段625の値を例に挙げて説明するが、他の変数についても同様に実行される。
図13において、影響度分布1300の横軸は、変数の値(本例では、棚上段625の値)であり、縦軸は、影響度(本例では、図12の第2影響度テーブル228の説明変数602の影響度901の棚上段625の値)である。
データ分析装置102は、「棚上段625」を選択する。「棚上段625」は、該当する作業ID301の作業において、棚の上段に何個の商品が配置されているかを示す変数である。業務に関する事前知識として、該当する変数の値が増加するまたは減少することが作業時間にどのように影響を与えるかは、あらかじめ定義される。たとえば、棚上段625の商品の個数306が多いほど、作業が遅くなる傾向があると定義される。このような傾向の指定方法は、たとえば、該当する変数は目的変数601にプラスの相関があるといった条件を指定することで設定可能である。
データ分析装置102は、このように指定された条件を前提とし、図13の影響度分布1002を分析する。たとえば、影響度分布1300によれば、棚上段625の値が「5」の場合の影響度は、作業によってバラつきを持つことが分かる。このバラつきの中には、棚上段625の値が大きいほど影響度もプラスに大きくなるという条件に反して、あまり影響度が大きくない作業が存在していることが分かる(図13中における点線の丸)。
このことは、つまり、作業対象の商品が棚上段625にあっても作業時間に影響がなかった業務実績の作業であると言え、たとえば、実施した作業員の背が高い場合などの推察が可能となる。このように、データ分析装置102は、与えられた事前知識に反した影響度の傾向を持つ作業群を、類似の特徴を持つ(この場合、棚上段625での作業が得意な)グループとみなし、作業員特徴変数を、作業員個人の特徴を表す新たな変数として生成する。ここで、図13の説明を終了する。
図5に戻り、データ分析装置102は、作業員特徴変数を用いて、作業員特徴使用学習データ229を生成する(ステップS514)。作業員特徴使用学習データ229の一例を図14に示す。
[作業員特徴使用学習データ229]
図14は、作業員特徴使用学習データ229の一例を示す説明図である。抽象化変数使用学習データ227に、作業員特徴変数1401が説明変数として追加された学習データである。作業員特徴変数1401の一例である「棚上段が得意」の値が「1」であれば、その作業は、「棚上段が得意」な作業員により実施されたことを示し、「0」であれば、「棚上段が得意」な作業員により実施されなかったことを示す。
また、作業員特徴変数1401の型は、連続値でもよい。連続値の場合、データ分析装置102は、一定または特定の幅毎に影響度の分布を算出し、同様に作業員特徴を発見する。たとえば、「年齢」という説明変数602が選択された場合、データ分析装置102は、0~20歳、21歳~40歳、41歳~50歳、51歳~60歳、61歳以上、などの幅で影響度の値をまとめ、影響度分布1002を生成する。どの変数に対して、どのような分析幅で上記分析を行うかはあらかじめユーザなどによって定義可能とする。ここで、図14の説明を終了する。
図5に戻り、データ分析装置102は、作業員特徴使用学習データ229を用いて、作業員特徴使用予測モデル235を生成する(ステップS515)。このように、作業員特徴使用予測モデル235を生成することで、新たな説明変数として作業員特徴変数1401を追加することができ、より高精度な予測を行うことが可能となる。特に、業務実績データ221には実績が存在しない作業員ではあるが、あらかじめその個人的特徴(たとえば、背が高く高い棚での作業を苦にしない)を作業員特徴変数1401の値として設定することにより、より高精度な予測が可能となる。
以上で、作業時間を予測する各種予測モデルを生成する処理を完了する(ステップS516)。なお、データ分析装置102は、作業員特徴を分析する際に、業務実績データ221における作業時間の実績値と予測値904との差異が大きい作業に関しては、分析対象の業務実績データ221から除外するようにしてもよい。
たとえば、全作業における差異の平均値を基準にして、分散値の定数倍以上の作業が除外対象となる。これにより、事前知識とは異なる傾向を示す作業の発生要因が、個人的特徴によるものではなく、業務実勢データ取得時の異常値であるような場合における分析への悪影響を排除することができる。
また、一つの作業に対して、事前知識とは異なる傾向示す変数が2つ以上発見された場合は、それらを組み合わせた作業員特徴変数1401として生成するようにしてもよい。たとえば、棚上段625での作業が得意で、かつ、1個当たりの重量623がしきい値以上の商品のピッキングが速い(事前知識として重量623の変数が大きいと作業が遅くなる条件のもと、それに反するような影響度の値を示した作業)ような作業員の作業が所定数以上あった場合、データ分析装置102は、新たな作業員特徴変数1401として「棚上段が得意&重い荷物が得意」を生成する。これにより、データ分析装置102は、複数の条件が組み合わさった作業員の個人的特徴をより詳細に表す作業員特徴変数1401を生成することができる。
<業務改善施策生成処理122>
図15は、モデル生成処理121によって生成された作業員特徴使用予測モデル235を用いて業務改善施策を生成する業務改善施策生成処理手順例を示すフローチャートである。データ分析装置102は、まず業務改善施策生成処理122を起動し(ステップS1501)、改善対象となる業務実績データ221を記憶デバイス202から取得する(ステップS1502)。改善対象となる業務実績データ221は、業務を改善したい対象となる期間における業務実績データ221であり、たとえば業務改善施策生成処理122を実行する次の日以降の業務を改善したい場合は、直近過去1週間の業務実績データ221などが対象となる。
直近過去1週間の作業環境(たとえば、商品の配置、取り扱う商品、作業員の構成)は以後の作業環境と等しいと仮定する。直近過去1週間の期間の業務を改善する施策は、今後の業務も改善が見込める施策であるという考えに基づく。
たとえば、データ分析装置102は、業務改善施策生成処理122を1週間おきに繰り返すことで、継続的に業務を改善し続けることができる。改善対象となる作業環境は、たとえば、商品の配置であるが、商品の配置、取り扱う商品、作業員の構成のうち少なくとも1つを改善対象としてもよい。
データ分析装置102は、改善対象となる業務実績データ221に対して、商品の配置場所の変更処理を実行する(ステップS1503)。具体的には、たとえば、データ分析装置102は、改善対象となる業務実績データ221の商品の場所コード305を変更する。場所コード305の入替え方法については、特に限定することはなく、データ分析装置102がランダムに実行してもよいし、遺伝的アルゴリズムなどの組合せ最適化問題に適した各種アルゴリズムで実行してもよい。
データ分析装置102は、当該変更後の改善対象となる業務実績データ221に応じて、作業員ID使用学習データ223の説明変数602を再計算する。たとえば、場所コード305が変更されたため、データ分析装置102は、棚上段625、棚中段626、棚下段627の値も変更する。また、データ分析装置102は、移動距離621を変更後の場所コード305に基づいて再計算する。なお、再計算対象は、場所コード305の変更によって変更が必要な説明変数602であれば、棚上段625、棚中段626、棚下段627および移動距離621に限られない。
また、場所コード305が変更されたため、付近の作業員も異なってくる。したがって、データ分析装置102は、作業員属性使用学習データ224の作業員属性変数700である付近の作業員の経験日数702を、変更度の場所コード305に応じて再計算する。なお、再計算対象は、場所コード305の変更によって変更が必要な作業員属性変数700であれば、付近の作業員の経験日数702に限られない。
データ分析装置102は、適用する予測モデルを3種類の予測モデルから選択し、選択した予測モデルに、ステップS1503で得られた再計算後の作業員ID使用学習データ223を入力することにより、作業時間の予測値904を得る(ステップS1504)。3種類の予測モデルの使い分けについては図16で後述する。
データ分析装置102は、それぞれの作業で得られた作業時間の予測値904に対して、総和をとり、1週間での総合計作業時間を計算する(ステップS1505)。データ分析装置102は、得られた総合計作業時間が予め定められた終了条件に一致するか否か判定する(ステップS1506)。
ここで、予め定められた終了条件とは、業務実績データ221における作業時間と比較して改善がなされたか否かや、ステップS1503の実行回数、商品変更配置の変更による改善度合い、などの条件が適用される。終了条件に満たない場合(ステップS1506:No)、再度ステップS1503の処理に戻る。
終了条件を満たした場合(ステップS1506:Yes)、データ分析装置102は、改善施策を決定する(ステップS1507)。改善施策とは、たとえば、改善対象となる業務実績データ221が得られる作業環境である。場所コードの変更により改善対象となる業務実績データ221が得られた場合には、改善施策となる作業環境は、場所コードの変更後の商品の配置状態である。
取り扱う商品の商品コードの変更により改善対象となる業務実績データ221が得られた場合には、改善施策となる作業環境は、商品コードの変更後の商品の配置状態である。作業員の構成変更により改善対象となる業務実績データ221が得られた場合には、改善施策となる作業環境は、作業員の構成変更後の作業員配置である。
そして、データ分析装置102は、決定した改善施策を出力する(ステップS1508)。具体的には、たとえば、データ分析装置102は、決定した改善施策をディスプレイに表示したり、業務システム101などの他のコンピュータに送信したりする。そして、本処理を終了する(ステップS1508)。
なお、本説明では直近過去1週間の業務を改善対象としたが、この期間に限定するものではない。また、改善対象の業務をこれから行う予定の作業内容とし、データ分析時点での作業環境を改善するようなユースケースにも適用可能である。この場合、実施予定の作業内容を行うにあたって、最も作業時間が短くなるような作業環境の条件(ピッキング対象の品物の配置、など)を図15で求めることで実現できる。これによって、作業実施予定の内容に即して、作業環境をその都度改善していくことが可能となり、より高い改善効果を期待できる。
<予測モデルの使い分け処理>
ここで、上述したステップS1504における予測モデルの使い分け処理について説明する。
[予測モデルの使い分け処理]
図16は、ステップS1504における各種予測モデルの使い分け処理手順例を示すフローチャートである。データ分析装置102は、あらかじめ保有する過去の業務実績データ221をもとに、当該業務実績データ221に存在する全作業員の作業員ID303に対応した作業員属性および作業員特徴について管理する作業員属性・特徴データ230の作成または更新を実行する(ステップS1601)。ステップS1601は、たとえば、1週間毎などの決まったタイミングで定期的に実行される。ここで、作業員属性・特徴データ230について図17を用いて具体的に説明する。
[作業員属性・特徴データ230]
図17は、作業員属性・特徴データ230の一例を示す説明図である。作業員属性・特徴データ230は、作業員ID303と、実績作業数1701と、作業員属性変数1702と、作業員ID抽象化変数1703と、作業員特徴変数1704と、を有する。
実績作業数1701は、学習データ内1711と、最新1か月以内1712と、を有する。学習データ内1711の値は、その作業員ID303の作業員についての作業員ID使用予測モデル231を生成する際の作業員ID使用学習データ223内の実績作業数1701である。最新1か月以内1712の値は、その作業員ID303の作業員についての最新1か月以内の業務実績データ221に含まれる実績作業数1701である。なお、図17では、例として「最新1か月」としたが、1か月には限定されない。
学習データ内1711および最新1か月以内1712の値は、たとえば、作業員ID使用学習データ223内に多く含まれる作業員と、作業員ID使用学習データ223には含まれないが直近の作業の業務実績データ221が存在する作業員と、直近の作業の業務実績データ221に存在しない作業員と、を判別するために用いられる。
作業員属性変数1702は、たとえば、その作業ID301の作業員についての最新経験日数1721を含む。最新経験日数1721は、その作業ID301の作業員についての最新の時点における経験日数701を示す。
作業員ID使用学習データ223は、作業が遅い1722、および作業が速い1723を含む。作業が遅い1722は、その作業ID301の作業員の作業が遅いか否かを示す。値が「1」であれば作業が遅いことを示し、値が「0」であれば作業が速いことを示す。同様に、作業が速い1723は、その作業ID301の作業員の作業が速いか否かを示す。値が「1」であれば作業が速いことを示し、値が「0」であれば作業が遅いことを示す。
作業が遅い1722および作業が速い1723の値は、作業員特徴使用学習データ229の生成時に算出された値が用いられる。たとえば、図10の影響度分布情報1000において、影響度の平均値avが、a≦av≦b(aは0より小さい。bは0より大きい)であれば、その作業員についての作業が遅い1722および作業が速い1723の値はともに「0」に設定される。
また、影響度の平均値avが、a>avであれば、その作業員についての作業が遅い1722の値は「0」、作業が速い1723の値は「1」に設定される。また、影響度の平均値avが、b<avであれば、その作業員についての作業が遅い1722の値は「1」、作業が速い1723の値は「0」に設定される。
また、作業員ID303が「40」の作業員のように、学習データ内1711に業務実績データ221が存在しない(学習データ内1711の値が「0」)作業員に関しては、上述のように学習データから作業が遅い1722および作業が速い1723の値を設定することができない。この場合、データ分析装置102は、最新1ヶ月の業務実績データ221に対して影響度分布情報1000を生成し、作業が遅い1722および作業が速い1723の値を設定する。
一方、作業員ID303が「55」の作業員のように、業務実績データ221がほぼ存在しない、すなわち、所定数以下の作業員については、データ分析装置102は、作業が遅い1722および作業が速い1723の値を「0」に設定する。但し、業務に関する事前知識に基づき、実績がない作業員について作業員属性変数1702の初期値が定義されている場合は、この限りではない。詳細は後述する。
作業員特徴変数1704についても、たとえば、データ分析装置102は、作業員特徴変数1401の「棚上段が得意」の値が「1」の作業ID301を作業員特徴使用学習データ229から特定する。そして、データ分析装置102は、特定した作業ID301の作業を実施した作業員のエントリにおいて、棚上段が得意1731の値に「1」を設定する。同様に、データ分析装置102は、作業員特徴変数1401の「棚上段が得意」の値が「0」の作業ID301を作業員特徴使用学習データ229から特定する。そして、データ分析装置102は、特定した作業ID301の作業を実施した作業員のエントリにおいて、棚上段が得意1731の値に「0」を設定する。
このように、業務改善施策生成処理122の実行時における各作業員の最新の作業員属性変数1702、作業員ID抽象化変数1703および作業員特徴変数1704の値を管理することが可能となる。ここで、図17の説明を終了する。
図16に戻り、データ分析装置102は、作業員属性・特徴データ230と、作業員ID使用予測モデル231、作業員属性使用予測モデル232、および作業員特徴使用予測モデル235とを用いて、作業時間の予測の実行を、ステップS1504により開始する(ステップS1601)。
まず、データ分析装置102は、予測対象作業の作業員の作業員ID303について、学習データ内1711における実績作業数1701が所定件数(たとえば、100件)以上か否か判定する(ステップS1602)。所定件数以上存在する場合(ステップS1602:Yes)、データ分析装置102は、適用する予測モデルを作業員ID使用予測モデル231に決定する(ステップS1603)。
この場合、ステップS1505では、データ分析装置102は、作業員ID使用予測モデル231に、再計算後の作業員ID使用学習データ223を入力することにより、作業時間904の予測を実行することになる。
一方、所定件数以上存在しない場合(ステップS1602:No)、データ分析装置102は、予測対象の作業員が、最新1ヶ月以内1712の実績作業数1701が所定件数(たとえば、50件)以上存在しているか否か判定する(ステップS1604)。所定件数以上存在する場合(ステップS1604:Yes)、データ分析装置102は、適用する予測モデルを作業員特徴使用予測モデル235に決定する(ステップS1605)。
この場合、ステップS1505では、データ分析装置102は、作業員特徴使用予測モデル235に、再計算後の作業員ID使用学習データ223に作業員ID抽象化変数1703および作業員特徴変数1704が追加された学習データを入力することにより、作業時間904の予測を実行することになる。
一方、所定件数以上存在しない場合(ステップS1604:No)、データ分析装置102は、適用する予測モデルを作業員属性使用予測モデル232に決定する(ステップS1606)。
この場合、ステップS1505では、データ分析装置102は、作業員属性使用予測モデル232に、再計算後の作業員ID使用学習データ223に作業員属性変数1702が追加された学習データを入力することにより、作業時間904の予測を実行することになる。
以上の処理によって、データ分析装置102は、予測対象の作業の予測作業時間を算出し、本処理を終了する(ステップS1607)。このように、予測対象の作業員に応じて、使用する予測モデルを適切に使い分けることによって、作業員の業務実績データ221の件数に応じた精度の高い作業時間を予測することが可能となる。
すなわち、本例では、ステップS1602において、過去の業務実績データ221の件数が所定件数(たとえば、100件)以上(ステップS1602:Yes)の作業員に関しては、データ分析装置102は、作業員個人に特化した予測モデルである作業員ID使用予測モデル231により作業時間を予測する(ステップS1603)。
また、ステップS1604において、最新1ヶ月の業務実績データ221の件数が所定件数(たとえば、50件)未満である未知の作業員については、データ分析装置102は、作業員個人の特徴ではなく、作業員属性使用予測モデル232を用いて作業時間を予測する(ステップS1606)。
この場合、特定の属性に関して業務に関する事前知識によって初期値が定義されてもよい。たとえば、事前知識によって「経験日数が少ない作業員は新人であり作業が遅いと見なす」ことができる場合は、データ分析装置102は、事前に、作業員属性・特徴データ230において、業務実績データ221の件数が所定件数(たとえば、50件)未満の作業員の「作業が遅い」の値を「1」に設定する。
学習データ内1711には存在しないが(ステップS1602:No)、最新1ヶ月以内1712には所定件数(たとえば、100件)以上存在するような作業員の場合(ステップS1604:Yes)、データ分析装置102は、作業員属性・特徴データ230によってあらかじめ付与された変数の値を用い、作業員特徴使用予測モデル235を用いて作業時間を予測する(ステップS1605)。
このように、何れの作業員の場合においても、データ分析装置102は、十分な作業量を備えた学習データによって生成された予測モデルで予測を実行する。したがって、精度の高い作業時間の予測が可能となる。以上で説明したデータ分析装置102を用いることで、作業時間予測の対象となる作業員の個人性を考慮した作業時間の予測を高精度に行うことが可能となる。
また、上述したデータ分析装置102は、下記(1)~(15)のように構成することもできる。
(1)データ分析装置102では、プロセッサ201は、複数の作業の作業ごとに、作業時間を示す目的変数601と、作業環境に関する説明変数602と、作業員ごとの作業の実施の有無を示す作業員ID変数603と、を有する作業員ID使用学習データ223を第1学習データとして取得する取得処理と、取得処理によって取得された作業員ID使用学習データ223に基づいて、作業時間を予測する作業員ID使用予測モデル231を第1予測モデルとして生成する予測モデル生成処理と、予測モデル生成処理によって生成された作業員ID使用予測モデル231に作業員ID使用学習データを入力することにより、作業時間の第1予測値904と、作業員ID変数603が作業ごとの第1予測値904の統計量(たとえば、平均値。中央値など他の統計量でもよい。)に与える影響の度合いを示す第1影響度903とを、作業ごとに算出する算出処理と、作業員ごとの複数の作業の各々の第1影響度903の分布(影響度分布情報1000)に基づいて、複数の作業員の作業速度を抽象化した作業員ID抽象化変数1101を作業ごとに生成し、作業ごとに、目的変数601と、説明変数602と、作業員ID抽象化変数1101と、を有する抽象化変数使用学習データ227を第2学習データとして生成する学習データ生成処理と、を実行する。
これにより、作業ごとに、作業を実施した複数の作業員を作業速度に抽象化した説明変数を得ることができ、抽象化変数使用学習データ227を用いて生成される抽象化変数使用予測モデル234(第3予測モデル)の高精度化を図ることができる。
(2)上記(1)のデータ分析装置102において、第1学習データは、作業を実施した複数の作業員の各々の経験日数701を作業ごとに示す作業員属性変数700を含む。これにより、第1学習データは、中間学習データ225となる。
また、予測モデル生成処理では、プロセッサ201は、作業員属性変数700を含む前記第1学習データである中間学習データ225に基づいて、中間予測モデル233を第1予測モデルとして生成する。
そして、算出処理では、プロセッサ201は、中間予測モデル233に中間学習データ225を作業ごとに入力することにより、作業時間の第1予測値904と、説明変数602、作業員属性変数700および作業員ID変数603の各々が作業ごとの第1予測値904の統計量に与える影響の度合いを示す第1影響度903とを、作業ごとに算出する。
そして、学習データ生成処理では、プロセッサ201は、作業員ごとの第1影響度903の分布(影響度分布情報1000)に基づいて、作業員ID抽象化変数1101を作業ごとに生成し、抽象化変数使用学習データ227に、作業ごとの作業員属性変数700を追加する。これにより、作業員の経験日数701を考慮した抽象化変数使用予測モデル234を生成することができる。
(3)上記(2)のデータ分析装置102において、作業員属性変数700は、作業員から所定距離内でかつ作業時間帯が重複する付近の作業員の経験日数702を含む。これにより、付近の作業員の経験日数702が大きいほど、その作業の作業員は、付近の作業員からの業務支援を受けやすいという状況を予測モデルに反映することができ、付近の作業員の経験日数702が小さいほど、その作業の作業員は、付近の作業員に業務支援をするという状況を予測モデルに反映することができる。
(4)上記(2)のデータ分析装置102において、予測モデル生成処理では、プロセッサ201は、作業員属性変数700を含む第1学習データである作業員属性使用学習データ224に基づいて、作業時間を予測する作業員属性使用予測モデル232を生成する。
これにより、作業員の経験日数701のような作業員属性を考慮した作業員属性使用予測モデル232により、そのような作業員属性を有する作業員の作業時間を、作業員個人を特定することなく予測することができる。
(5)上記(1)のデータ分析装置102において、予測モデル生成処理では、プロセッサ201は、抽象化変数使用学習データ227に基づいて、作業時間を予測する抽象化変数使用予測モデル234を第3予測モデルとして生成する。
また、算出処理では、プロセッサ201は、予測モデル生成処理によって生成された抽象化変数使用予測モデル234に抽象化変数使用学習データ227を入力することにより、作業時間の第2予測値904と、説明変数602が作業ごとの第2予測値904の統計量に与える影響の度合いを示す第2影響度901とを、作業ごとに算出する。
そして、学習データ生成処理では、プロセッサ201は、第2影響度901の分布1300に基づいて、説明変数602に対する作業員の個人的な特徴を示す作業員特徴変数1401を作業ごとに生成し、抽象化変数使用学習データ227に、作業ごとの作業員特徴変数1401を追加した作業員特徴使用学習データ229を第3学習データとして生成する。
これにより、作業員特徴変数1401を考慮した作業員特徴使用予測モデル235(第4予測モデル)を生成することができる。
(6)上記(5)のデータ分析装置102において、予測モデル生成処理では、プロセッサ201は、作業員特徴使用学習データ229に基づいて、作業時間を予測する作業員特徴使用予測モデル235を第4予測モデルとして生成する。
これにより、棚上段が得意といった作業員の個人的な特徴を考慮した作業員特徴使用予測モデル235により、そのような特徴を有する作業員の作業時間を、作業員個人を特定することなく予測することができる。
(7)上記(1)のデータ分析装置102において、プロセッサ201は、作業を実施した作業員、作業時間、作業環境を作業ごとに有する第1実績データ(業務実績データ221)に基づいて、目的変数601および説明変数602を生成し、作業ごとの作業員から作業員ID変数603を生成することにより、第1実績データを作業員ID使用学習データ223に変換する変換処理を実行する。
また、取得処理では、プロセッサ201は、第1実績データの作業環境の変更に基づいて作業時間を再計算することにより、第1実績データを第2実績データ(改善対象の業務実績データ221)に変換し、第2実績データに基づいて、作業ごとに、再計算された作業時間を示す目的変数601と、変更された作業環境に関する説明変数602と、作業環境の変更に基づく作業員ごとの作業の実施の有無を示す作業員ID変数603と、を有する作業員ID使用学習データ223を第4学習データとして取得する。
そして、算出処理では、プロセッサ201は、作業員ID使用予測モデル231に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、改善対象の業務実績データ221から特定される改善業務を予測対象の作業員が実施した場合の各作業の作業時間の予測値を得ることができる。したがって、データ分析装置102の利用者は、予測対象の作業員の作業時間が改善されたか否かを特定することができる。
(8)上記(7)のデータ分析装置102において、算出処理では、プロセッサ201は、第4学習データの作業員ID変数603において予測対象の作業員が実施したことを示す作業の件数が第1所定件数以上存在する場合(S1602:Yes)、作業員ID使用予測モデル231に第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、予測対象の作業員が実施した作業が第1所定件数以上の第4学習データについては、作業員ID使用予測モデル231を優先適用することにより、予測対象の作業員に関する作業時間の予測精度の向上を図ることができる。
(9)上記(8)のデータ分析装置102において、プロセッサ201は、作業時間の第3予測値904が所定の改善条件を充足するか否かを判定する判定処理(ステップS1507)と、判定処理によって改善条件を充足する判定された場合、第2実績データに関する作業環境を改善施策に決定する決定処理(ステップS1508)と、決定処理による決定結果を出力する出力処理(ステップS1509)と、を実行する。
これにより、データ分析装置102は、予測対象の作業員が実施する作業について適切な改善施策を提示することができる。
(10)上記(4)のデータ分析装置102において、プロセッサ201は、作業を実施した作業員、作業時間、作業環境を作業ごとに有する第1実績データ(業務実績データ221)に基づいて、目的変数601および説明変数602を生成し、作業ごとの作業員から作業員ID変数603を生成することにより、第1実績データを作業員ID使用学習データ223に変換する変換処理を実行する。
また、取得処理では、プロセッサ201は、第1実績データの作業環境の変更に基づいて作業時間を再計算することにより、第1実績データを第2実績データ(改善対象の業務実績データ221)に変換し、第2実績データに基づいて、作業ごとに、再計算された作業時間を示す目的変数601と、変更された作業環境に関する説明変数602と、作業環境の変更に基づく作業員ごとの作業の実施の有無を示す作業員ID変数603と、を有し、かつ、作業員属性変数1702を追加した第4学習データを取得する。
そして、算出処理では、プロセッサ201は、作業員属性使用予測モデル232に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する、
これにより、改善対象の業務実績データ221から特定される改善業務を予測対象の作業員が実施した場合に、予測対象の作業員の作業員属性を考慮して各作業の作業時間の予測値を得ることができる。したがって、データ分析装置102の利用者は、予測対象の作業員の作業時間が改善されたか否かを高精度に特定することができる。
(11)上記(10)のデータ分析装置102において、算出処理では、プロセッサ201は、第4学習データの作業員ID変数603において予測対象の作業員が所定期間内(たとえば、直近過去1か月以内1712)で実施したことを示す作業の件数が第2所定件数以上存在しない場合(ステップS1604:No)、作業員属性使用予測モデル232に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、予測対象の作業員が実施した作業が第2所定件数未満の第4学習データについては、作業員個人を特定するのではなく作業員属性を用いた作業員属性使用予測モデル232を優先適用することにより、予測対象の作業員に関する作業時間の予測精度の向上を図ることができる。
(12)上記(5)のデータ分析装置102において、プロセッサ201は、作業を実施した作業員、作業時間、作業環境を作業ごとに有する第1実績データ(業務実績データ221)に基づいて、目的変数601および説明変数602を生成し、作業ごとの作業員から作業員ID変数603を生成することにより、第1実績データを作業員ID使用学習データ223に変換する変換処理を実行する。
また、取得処理では、プロセッサ201は、第1実績データの作業環境の変更に基づいて作業時間を再計算することにより、第1実績データを第2実績データ(改善対象の業務実績データ221)に変換し、第2実績データに基づいて、作業ごとに、再計算された作業時間を示す目的変数601と、変更された作業環境に関する説明変数602と、作業環境の変更に基づく作業員ごとの作業の実施の有無を示す作業員ID変数603と、を有し、かつ、作業員ID抽象化変数1703を追加した第4学習データを取得する。
そして、算出処理では、プロセッサ201は、抽象化変数使用予測モデル234に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、改善対象の業務実績データ221から特定される改善業務を予測対象の作業員が実施した場合に、予測対象の作業員を抽象化した作業速度を考慮して各作業の作業時間の予測値を得ることができる。したがって、データ分析装置102の利用者は、予測対象の作業員の作業時間が改善されたか否かを高精度に特定することができる。
(13)上記(12)のデータ分析装置102において、算出処理では、プロセッサ201は、第4学習データの作業員ID変数603において予測対象の作業員が所定期間内(たとえば、直近過去1か月以内1712)で実施したことを示す作業の件数が第2所定件数以上存在する場合(ステップS1604:Yes)、抽象化変数使用予測モデル234に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、予測対象の作業員が実施した作業が第2所定件数以上の第4学習データについては、予測対象の作業員の作業速度を抽象化した抽象化変数使用予測モデル234を優先適用することにより、予測対象の作業員に関する作業時間の予測精度の向上を図ることができる。
(14)上記(6)のデータ分析装置102において、プロセッサ201は、作業を実施した作業員、作業時間、作業環境を作業ごとに有する第1実績データ(業務実績データ221)に基づいて、目的変数601および説明変数602を生成し、作業ごとの作業員から作業員ID変数603を生成することにより、第1実績データを作業員ID使用学習データ223に変換する変換処理を実行する。
また、取得処理では、プロセッサ201は、第1実績データの作業環境の変更に基づいて作業時間を再計算することにより、第1実績データを第2実績データ(改善対象の業務実績データ221)に変換し、第2実績データに基づいて、作業ごとに、再計算された作業時間を示す目的変数601と、変更された作業環境に関する説明変数602と、作業環境の変更に基づく作業員ごとの作業の実施の有無を示す作業員ID変数603と、を有し、かつ、作業員特徴変数1704を追加した第4学習データを取得する。
そして、算出処理では、プロセッサ201は、作業員特徴使用予測モデル235に、予測対象の作業員に関する前記第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値を前記作業ごとに算出する。
これにより、改善対象の業務実績データ221から特定される改善業務を予測対象の作業員が実施した場合に、予測対象の作業員の個人的な特徴を考慮して各作業の作業時間の予測値を得ることができる。したがって、データ分析装置102の利用者は、予測対象の作業員の作業時間が改善されたか否かを高精度に特定することができる。
(15)上記(14)のデータ分析装置102において、算出処理では、プロセッサ201は、第4学習データの作業員ID変数603において予測対象の作業員が所定期間内(たとえば、直近過去1か月以内1712)で実施したことを示す作業の件数が第2所定件数以上存在する場合(ステップS1604:Yes)、作業員特徴使用予測モデル235に、予測対象の作業員に関する第4学習データを入力することにより、予測対象の作業員に関する作業時間の第3予測値904を作業ごとに算出する。
これにより、予測対象の作業員が実施した作業が第2所定件数以上の第4学習データについては、予測対象の作業員の個人的な特徴を用いた作業員特徴使用予測モデル235を優先適用することにより、予測対象の作業員に関する作業時間の予測精度の向上を図ることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。