https://www.splunk.com
  • Splunkサイト
    • Splunk Answers
    • ブログ
    • Community
    • .conf
    • Developers
    • Documentation
    • Splunk.com
    • Splunkbase
    • サポート
    • トレーニング
    • User Groups
    • ビデオ
https://www.splunk.com
  • ブログ
  • カテゴリー
    カテゴリー
    • .conf & SplunkLive!
    • お客様 & コミュニティ
    • DevOps
    • 業種・業界
    • IT
    • 経営陣
    • Learn
    • パートナー
    • データプラットフォーム
    • セキュリティ
    • Splunk Life
    • Tips
    Category Spot Image
    電子書籍
    外形監視のベストプラクティス Synthetic Monitoringの紹介

    Webサイトのパフォーマンスが広告収入、ユーザーエンゲージメント、SEOランキングに与える影響、外形監視を使ったソリューションを紹介

    詳細はこちら
  • ライター
    ライター
    • Splunk
    • Guest
    • 江藤 愛
    • 大谷 和紀
    • 甲斐 逸郎
    • 加藤 教克
    • 塚本 政彦
    • 仲間 力
    • 野村 健
    • 村田 達宣
    • 矢崎 誠二
    • 山内 一洋
    • 山村 悟史
    • 横田 聡
    • Gary Steele
    • Spiros Xanthos
    • Garth Fort
    • Simon Davies
    • Ryan Kovar
    • Jane Wong
    • ライター一覧
    Author Spot Image
    電子書籍
    SIEM導入ガイド

    適切なSIEMソリューションがどのように役立つかを解説した最新版

    電子書籍を読む
  • メール配信
  • 無料トライアル
https://www.splunk.com 無料トライアル
ブログ
カテゴリー
  • .conf & SplunkLive!
  • お客様 & コミュニティ
  • DevOps
  • 業種・業界
  • IT
  • 経営陣
  • Learn
  • パートナー
  • データプラットフォーム
  • セキュリティ
  • Splunk Life
  • Tips
ライター
  • Splunk
  • Guest
  • 江藤 愛
  • 大谷 和紀
  • 甲斐 逸郎
  • 加藤 教克
  • 塚本 政彦
  • 仲間 力
  • 野村 健
  • 村田 達宣
  • 矢崎 誠二
  • 山内 一洋
  • 山村 悟史
  • 横田 聡
  • Gary Steele
  • Spiros Xanthos
  • Garth Fort
  • Simon Davies
  • Ryan Kovar
  • Jane Wong
  • ライター一覧
メール配信
Splunkサイト
  • Splunk Answers
  • ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunk.com
  • Splunkbase
  • サポート
  • トレーニング
  • User Groups
  • ビデオ
PLATFORM

異常検知をどう行う? 機械学習を使った4つの手法 (その1)

Share:

異常検知の技術は様々な分野で応用できます。例えば機械系では故障の検出。システム運用では障害の検出。セキュリティ分野では攻撃や侵入検知。マーケティング分野では流行のブレークの検出などです。ではどのようにすればそのような異常検知の技術を実現できるでしょうか?

そこで鍵となるのがデータです。データから異常を検知する方法はいくつかあります。例えば固定の閾値ベースや、移動平均をとって動的閾値ベースもあります。また一定の条件にマッチされるルールベースも有効です。

今回は機械学習を使った異常検知の方法をご紹介します。しかし、実はその方法も一つだけではありません。今回は4つのケースに従って適用する手法をご紹介したいと思います。

Splunk Machine Learning Toolkit (MLTK) について

Splunkには、無償で追加できるアドオンとして MLTKというAppがあります。MLTKにはSmart Assistantという、機械学習を簡単に利用頂けるようにステップ(データセット定義・モデル作成・評価・実装)に従ってモデル作成や実装ができる機能があります。

Splunk Machine Learning Toolkitについて詳しくは、こちらをご覧ください。

どんな異常を検知したい?

異常検知の手法を説明する前にどんな異常を検知したいのかを整理しておく必要があります。今回は以下の4つのケースを取り上げます。

  • 自分自身の過去データと比べて異常なデータ(いつもと違う動きを検出)
  • 近い将来発生する異常なデータ(予兆検知)
  • 他の類似データと比べて異なるデータ(異物混入)
  • 相関性が崩れたデータ(複数あるもののどこかがおかしい)



ケース1:自分自身の過去データと比べて異常なデータ

今回は以下のログイン数をカウントしたデータを使って異常を検知します。

異常を検知

今回のような時系列データに対しては、MLTKのSmart Outlier Detection機能を使うと、前処理として時間、曜日、日にち、月というフィールドをボタン一つで作成してくれます。なので、この時間にしてはおかしいとか、日曜日でこの数字はおかしいといった事を見つけることが出来ます。

時系列データ

今回は時間と曜日単位でデータをグルーピングして、時系列別にそれぞれの異常値を検出します。左の画面で条件を入力して実行すると、下記画面のようにグループ毎のデータ分布と異常と判断された箇所が表示されます。閾値は自由に変更可能です。

時間と曜日毎にデータをグルーピング

時系列グラフで表示したい場合は、グラフ種類で「時間」を選択すると、どの時間帯に異常が検知され発生したのかが視覚的にわかります。(画面だとわかりづらいですが、黄色の丸が異常の部分です)

時間データ

条件と閾値が決定したら、最後に検出モデルを保存してスケジュール実行できます。また結果によってアラートを発報するところまで設定ができます。

時間データ

Smart Outlier Detection機能が使っているアルゴリズムはDensity Functionという確率密度分布を使ったものになります。しかし、推奨のアルゴリズムが設定されているので、ユーザーが悩むこともありません。もっと詳しく知りたい方はこちらの記事もご覧ください。

Splunk MLTK Smart Outlier Detection Assistant について

ケース2:近い将来発生するだろう異常なデータを検出する(予兆検知)

実際に問題や故障が起きる前に異常を検知したい。という願望はお持ちではないでしょうか。機械学習を使えばこれが必ずしも叶うわけではありませんが、場合によってはその兆候を捉えることができます。

その一つに時系列予測があります。この時系列予測を使って実際に障害や故障が起こる前にその予兆を検知することが可能になるかもしれません。

異常の検出方法としては既存データから時系列予測モデルを作成し、その予測値が閾値を超えたかどうかで判断します。そうすることで現時点では異常でなくても、将来超える可能性があるということで、障害や故障の予防保守が可能になります。

MLTKのSmart Forecast の画面がこちらです。オプションとしてルックアップファイルから祝日などのspecial time を追記できます。これにより祝日やイベント日など不定期に訪れる日付も意識したモデルが作成できます。

予兆検知の図

実際の予測結果の図がこちらです。図だと分かりづらいですがグラフの右側の方の水色で囲われた箇所が今後の予測グラフになります。閾値をセットしてこの予測箇所が超えるかどうかを判断することができます。

予測結果の図

こちらのモデルも同じように保存して、スケジュール実行とアラート発砲が可能です。例えば1日一回実行して、2週間先まで予測するモデルを作成すると、2週間以内に異常が発生する可能性を検知できます。

アラートの図

Smart Forecastにもっと知りたい方はこちらの記事も参考にしてください。

Splunk機械学習を使った予測分析 (StateSpaceForecastアルゴリズム)

続いて次の紹介もしたいところですが、長くなってしまいましたので、残りの2つのケースについては別のBlogで紹介させていただきます。

また、「機械学習を使って、「データのダウンタイム」を防ぐ」もあわせてご覧ください。

----------------------------------------------------
Thanks!
丸山 潤一

August 18, 2020
Splunk
Posted by

Splunk

TAGS
Machine Learning Toolkit Artificial Intelligence Machine Learning
Show All Tags
Show Less Tags

Related Posts

SPLUNK ON TWITTER
  • @Splunk
  • @splunkanswers
  • @SplunkforGood
  • @SplunkDocs
  • @splunkdev
  • @splunkgov
SPLUNK ON FACEBOOK
  • @Facebook
SPLUNK ON INSTAGRAM
  • Follow us on Instagram
SPLUNK ON LINKEDIN
  • Follow us on LinkedIn
SPLUNK ON YOUTUBE
  • Subscribe to our Channel
SPLUNK ON SLIDESHARE
  • Follow us on SlideShare
Splunk製品
  • Splunk Cloud Platform
  • Splunk Enterprise
  • Splunk IT Service Intelligence
  • Splunk On-Call
  • Splunk Enterprise Security
  • Splunk SOAR
  • Splunk Infrastructure Monitoring
  • Splunk APM
ソリューション
  • オブザーバビリティ
  • セキュリティ
  • プラットフォーム
お客様事例
リソース
  • 電子書籍
  • アナリストレポート
  • ホワイトペーパー
  • ウェビナー
  • ビデオ
お問い合わせ
  • サポート
  • 営業へのお問い合わせ
Splunk Sites
  • Splunk Answers
  • 日本語ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunkbase
  • SplunkLive!
  • T-shirt Store
  • トレーニング
  • User Groups
Splunk
Sitemap | Privacy
© 2005-2023 Splunk Inc. All rights reserved.
Splunk、Splunk>およびTurn Data Into Doingは、米国およびその他の国におけるSplunk Inc.の商標または登録商標です。他のすべてのブランド名、製品名、または商標は、それぞれの所有者に帰属します。