次の方法で共有


コール センター モデルの予測の作成 (中級者向けデータ マイニング チュートリアル)

シフト、オペレーターの数、電話、およびサービス グレードの間の相互作用について学習した後は、ビジネス分析および計画に使用できる予測クエリを作成します。 最初に、調査モデルに対していくつかの予測を作成していくつかの仮定をテストします。 次に、ロジスティック回帰モデルを使用して一括予測を作成します。

このレッスンでは、予測クエリの概念を理解していることを前提にしています。

ニューラル ネットワーク モデルを使用した予測の作成

次の例では、探索用に作成されたニューラル ネットワーク モデルを使用して単一予測を作成する方法を示します。 単一予測は、異なる値を試してモデルでの影響を確認するのに優れた方法です。 このシナリオでは、6 人の経験を積んだオペレーターが勤務している場合の深夜シフトのサービス グレードを予測します (曜日は指定しません)。

ニューラル ネットワーク モデルを使用して単一クエリを作成するには

  1. SQL Server Data Tools (SSDT) で、使用するモデルを含むソリューションを開きます。

  2. [データ マイニング Designer] で、[マイニング モデルの予測] タブをクリックします。

  3. [ マイニング モデル ] ウィンドウで、[ モデルの選択] をクリックします。

  4. [ マイニング モデルの選択 ] ダイアログ ボックスには、マイニング構造の一覧が表示されます。 マイニング構造を展開して、その構造に関連付けられているマイニング モデルの一覧を表示します。

  5. マイニング構造 Call Center Default を展開し、Call Center - LR という名前のニューラル ネットワーク モデルを選択します。

  6. [マイニング モデル] メニューの [単一クエリ]を選択します。

    [ Singleton Query Input]\(シングルトン クエリ入力 \) ダイアログ ボックスが表示され、マイニング モデル内の列にマップされた列が表示されます。

  7. [ Singleton Query Input]\(シングルトン クエリ入力 \) ダイアログ ボックスで、Shift の行をクリックし、[ 午前 0 時] を選択します。

  8. [Lvl 2 演算子] の行をクリックし、「」と入力します 6

  9. [ マイニング モデル予測 ] タブの下半分で、グリッドの最初の行をクリックします。

  10. [ ソース ] 列で下向き矢印をクリックし、[ 予測関数] を選択します。 [ フィールド ] 列で、[ PredictHistogram] を選択します。

    この予測関数で使用できる引数の一覧が、[ 抽出条件/引数 ] ボックスに自動的に表示されます。

  11. [ マイニング モデル ] ペインの列の一覧から [ServiceGrade] 列を [ 抽出条件/引数 ] ボックスにドラッグします。

    列の名前が自動的に引数として挿入されます。 このテキスト ボックスには、任意の予測可能属性の列を選択してドラッグできます。

  12. 予測クエリ ビルダーの右上隅にある [ クエリ結果ビューに切り替える] ボタンをクリックします。

期待される結果には、これらの入力が与えられたときのサービス グレードごとの予測される値と、それぞれの予測に対するサポートおよび確率値が含まれます。 いつでもデザイン ビューに戻って入力の変更や追加を行うことができます。

ロジスティック回帰モデルを使用した予測の作成

ビジネスの問題に関連する属性がわかっている場合は、ロジスティック回帰モデルを使用して、一部の属性を変更した場合の効果を予測できます。 ロジスティック回帰は、通常、独立変数の変化に基づいた予測のために使用される統計手法です。たとえば財務スコアリングにおいて、顧客の人口統計に基づいて顧客の行動を予測するために使用されます。

ここでは、予測に使用するデータ ソースの作成方法について説明した後、ビジネス上の疑問に回答するのに役立つ予測を作成します。

一括予測に使用するデータの生成

入力データを提供する方法はいくつかあります。たとえば、スプレッドシートから人員配置レベルをインポートし、そのデータをモデルで実行して翌月のサービス品質を予測できます。

このレッスンでは、データ ソース ビュー デザイナーを使用して名前付きクエリを作成します。 この名前付きクエリは、スケジュールのシフトごとにスタッフでの最大オペレーター数、受け付けられた問い合わせの最小数、生成された案件の平均数を計算するカスタム Transact-SQL ステートメントです。 その後、そのデータをマイニング モデルに結合して、今後の一連の日付についての予測を行います。

一括予測クエリの入力データを生成するには
  1. ソリューション エクスプローラーで、[データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] を選択します。

  2. データ ソース ビュー ウィザードで、データ ソースとして [Adventure Works DW 多次元 2012] を選択し、[ 次へ] をクリックします。

  3. [ テーブルとビューの選択 ] ページで、テーブルを選択せずに [ 次へ ] をクリックします。

  4. [ ウィザードの完了 ] ページで、 という名前を入力します Shifts

    この名前は、データ ソース ビューの名前としてソリューション エクスプローラーに表示されます。

  5. 空のデザイン ウィンドウを右クリックし、[ 新しい名前付きクエリ] を選択します。

  6. [ 名前付きクエリの作成 ] ダイアログ ボックスの [ 名前] に「」と入力します Shifts for Call Center

    この名前は、名前付きクエリの名前としてデータ ソース ビュー デザイナーにのみ表示されます。

  7. 次のクエリ ステートメントを、ダイアログ ボックスの下部の SQL テキスト ペインに貼り付けます。

    SELECT DISTINCT WageType, Shift,   
    AVG(Orders) as AvgOrders, MIN(Orders) as MinOrders, MAX(Orders) as MaxOrders,  
    AVG(Calls) as AvgCalls, MIN(Calls) as MinCalls, MAX(Calls) as MaxCalls,  
    AVG(LevelTwoOperators) as AvgOperators, MIN(LevelTwoOperators) as MinOperators, MAX(LevelTwoOperators) as MaxOperators,  
    AVG(IssuesRaised) as AvgIssues, MIN(IssuesRaised) as MinIssues, MAX(IssuesRaised) as MaxIssues  
    FROM dbo.FactCallCenter  
    GROUP BY Shift, WageType  
    
  8. デザイン ウィンドウで、[Shifts for Call Center] テーブルを右クリックし、[ データの探索 ] を選択して、T-SQL クエリによって返されたデータをプレビューします。

  9. タブ Shifts.dsv (デザイン) を右クリックし、[ 保存 ] をクリックして新しいデータ ソース ビュー定義を保存します。

各シフトのサービス メトリックスの予測

シフトごとの値を生成した後は、作成したロジスティック回帰モデルの入力としてこれらの値を使用して、ビジネス プランニングで使用できる複数の予測を生成します。

新しい DSV を予測クエリへの入力として使用するには
  1. [データ マイニング Designer] で、[マイニング モデルの予測] タブをクリックします。

  2. [ マイニング モデル ] ウィンドウで、[ モデルの選択] をクリックし、使用可能なモデルの一覧から [コール センター - LR] を選択します。

  3. [ マイニング モデル ] メニューの [ シングルトン クエリ] オプションをオフにします。 単一クエリ入力が失われる旨の警告が出力されます。 [OK] をクリックします。

    [ 単一クエリ入力 ] ダイアログ ボックスは、[ 入力テーブルの選択 ] ダイアログ ボックスに置き換えられます。

  4. [ケース テーブルの選択]をクリックします。

  5. [ テーブルの選択 ] ダイアログ ボックスで、データ ソースの一覧から [Shifts] を選択します。 [ テーブル/ビュー名 ] の一覧で、[コール センターのシフト] を選択し (自動的に選択される場合があります)、[OK] をクリック します。

    マイニング モデル予測デザイン サーフェイスが更新され、入力データとモデル内の列の名前とデータ型に基づいて作成されたマッピングが表示されます。

  6. 結合線のいずれかを右クリックし、[ 接続の変更] を選択します。

    このダイアログ ボックスでは、マップされている列とマップされていない列を正確に確認できます。 マイニング モデルには、Calls、Orders、IssuesRaised、および LvlTwoOperators の列が含まれています。これらの列は、ソース データ内のこれらの列に基づいて作成した任意の集計にマップできます。 このシナリオでは、平均にマップします。

  7. [LevelTwoOperators] の横にある空のセルをクリックし、[ Shifts for Call Center.AvgOperators] を選択します。

  8. [通話] の横にある空のセルをクリックし、[ 通話センター]、[AvgCalls] の [Shifts] を選択します。 [OK] をクリックします。

各シフトの予測を作成するには
  1. 予測クエリ ビルダーの下半分にあるグリッドで、[ソース] の下にある空のセルをクリックし、[Shifts for Call Center] を選択します。

  2. [ フィールド] の下の空のセルで、[Shift] を選択します。

  3. グリッド内の次の空白行をクリックします。上の手順を繰り返して、WageType の行を追加します。

  4. グリッドの次の空白行をクリックします。 [ ソース ] 列で、[ 予測関数] を選択します。 [フィールド] 列 、[ 予測] を選択します。

  5. [ マイニング モデル ] ペインから列 ServiceGrade をグリッドまでドラッグし、[ 抽出条件/引数 ] セルにドラッグします。 [ エイリアス ] フィールドに、「 Predicted Service Grade」と入力します。

  6. グリッドの次の空白行をクリックします。 [ ソース ] 列で、[ 予測関数] を選択します。 [ フィールド ] 列で、[ PredictProbability] を選択します。

  7. [ マイニング モデル ] ペインから列 ServiceGrade をグリッドまでドラッグし、[ 抽出条件/引数 ] セルにドラッグします。 [ エイリアス ] フィールドに「 確率」と入力します。

  8. [ 切り替え] をクリックしてクエリ結果ビュー を表示し、予測を表示します。

次の表に、各シフトのサンプルの結果を示します。

Shift キー WageType Predicted Service Grade 確率
AM holiday 0.165 0.377520666
midnight holiday 0.105 0.364105573
PM1 holiday 0.165 0.40056055
PM2 holiday 0.165 0.338532973
AM weekday 0.165 0.370847617
midnight weekday 0.08 0.352999173
PM1 weekday 0.165 0.317419177
PM2 weekday 0.105 0.311672027

短縮された応答時間のサービス グレードへの影響の予測

これまで、それぞれのシフトに対してなんらかの平均値を生成し、これらの値をロジスティック回帰モデルへの入力として使用しました。 ただし、電話放棄呼率を 0.00 ~ 0.05 の範囲に抑えるというビジネス目標からすれば、この結果は期待の持てるものではありません。

したがって、オペレーション チームは、サービス グレードに対して応答時間が大きく影響することを明らかにした元のモデルに基づいて、問い合わせに対する平均応答時間を短縮した場合にサービス品質が向上するかどうかを評価するための予測を作成することを決定しました。 たとえば、問い合わせに対する応答時間を現在の 90% または 80% に短縮した場合、サービス グレードの値はどうなるでしょうか。

各シフトの平均応答時間を計算するデータ ソース ビュー (DSV) を作成して、その平均応答時間の 80% または 90% を計算する列を追加するのは簡単です。 次に、DSV をモデルへの入力として使用します。

ここでは詳細な手順は示しませんが、応答時間を現在の応答時間の 80% または 90% に短縮したときのサービス グレードに対する影響の比較を次の表に示します。

これらの結果から、対象のシフトではサービス品質を改善するために現在の割合の 90% に応答時間を短縮する必要があると結論づけることができます。

シフト、賃金、日 現在の平均応答時間で予測したサービス品質 90% 短縮した応答時間で予測したサービス品質 80% 短縮した応答時間で予測したサービス品質
休日の午前 0.165 0.05 0.05
休日の午後 1 0.05 0.05 0.05
休日の深夜 0.165 0.05 0.05

これ以外にも、このモデルに対してさまざまな予測クエリを作成できます。 たとえば、特定のサービス レベルを満たすか、特定の数の着信呼び出しに応答するために必要なオペレーターの数を予測できます。 ロジスティック回帰モデルには複数の出力を含めることができるため、数多くの別個のモデルを作成する必要なく、異なる独立変数を試してさまざまな結果を得ることができます。

解説

Excel 2007 のデータ マイニング Add-Insには、特定のシフトのターゲット レベルにサービス グレードを向上させるために必要なレベル 2 演算子の数など、複雑な質問に簡単に回答できるロジスティック回帰ウィザードが用意されています。 データ マイニング アドインは無料でダウンロードでき、ニューラル ネットワークまたはロジスティック回帰アルゴリズムに基づくウィザードが含まれています。 詳細については、次のリンクを参照してください。

まとめ

ここでは、Microsoft ニューラル ネットワーク アルゴリズムおよび Microsoft ロジスティック回帰アルゴリズムに基づいたマイニング モデルを作成、カスタマイズ、および解釈する方法について説明しました。 これらの種類のモデルは非常に高度であり、あらゆる分析が可能であるため、複雑であり、習得するのが困難です。

ただし、これらのアルゴリズムは、要素の多くの組み合わせを反復処理して最も強い相関関係を自動的に識別し、Transact-SQL または PowerPivot を使用したデータの手動調査では発見することが非常に困難な考察の統計的サポートを提供します。

参照

ロジスティック回帰モデルのクエリ例
Microsoft ロジスティック回帰アルゴリズム
Microsoft ニューラル ネットワーク アルゴリズム
Neural Network Model Query Examples