【Hinemos 監視機能】相関係数の定義と相関係数監視

こんにちは!
今回はHinemosの相関係数監視にフォーカスを当ててお話しします。
相関係数の定義からやっていきますので数学の講義っぽくなってしまいますが、お付き合い願いますm(_ _)m

 

1.相関係数の定義

そもそも相関係数とはどういったものなのでしょうか?
相関とは「2つ以上の事柄が互いに関係を持っていること」です。
どちらか一方が変化するともう片方もつられて変化するみたいなことを「2つの間には相関関係がある」なんて言ったりしますね。
そのような相関関係の指標となるのが相関係数です。
相関係数は-1から1の値を取り、1に近いほど正の相関(片方が増えればもう片方も増える)があり、-1に近いほど負の相関(片方が増えればもう片方は減る)があると判断できます。

それでは、相関係数の定義を確認しましょう。
以下が一般化された相関係数の定義です。

 

はい、これだと意味不明ですね。
「共分散」や「標準偏差」はまだしも、「確率変数」なんて言葉は、数理統計学を勉強したことのある人ぐらいしか聞かないのでは?と思います。
なぜこんな小難しい言葉を使っているのかは、ここに記載するには余白が足りない(Pierre de Fermat)ので、詳しく知りたい方は大学生向けの数理統計学の本を買うかwikipedia先生に聞きましょう!
ルベーグ積分とかもっとわけわからない単語が出てきます!
ちなみに筆者はルベーグ積分の定義がいまだによく分かってないです。(測度論難しい…)

というわけで、上記の定義に条件を加えて分かりやすい形に変形します。
具体的にはデータ数を有限個にして、総和で考えられるようにします。
それが以下の定義です。

ここで確率変数の代わりに出てきたデータ列とは、相関係数を計算するためのデータを集めたものです。
下の式は複雑に見えますがデータさえあれば何とか計算できそうに見えます。
相関係数を計算する場合には有限個のデータを扱うことの方が多いので、こちらの式を使用する方が一般的でしょう。
実際Hinemosの相関係数監視でも、収集値という有限個のデータから相関係数を計算し、算出した値が閾値内かどうかを判定しています。

 

2.相関係数監視

相関係数の定義を確認しましたが、いまいちどう扱うのかが判然としないと思います。
基本的にデータの分析に用いられる指標ですので、2データ間の関係性を明らかにしたいときに使うことになるでしょう。
Hinemosの相関係数監視も、収集したデータ間の関係性を監視するために用いられます。

簡単な例として、以下のような相関係数監視を設定してみました。

カスタム監視ではサーバの起動時間(詳細はこちらの記事を参照)を収集し、相関係数監視ではサーバの起動時間とメモリ使用率の相関係数を監視する設定となっています。
相関係数監視では、収集値がないと相関係数を計算することができないため、相関係数を計算するための2つの監視設定の「収集」にチェックを入れておくのを忘れずに!

サーバ起動時間とメモリ使用率に正の相関がある場合、時間が経つごとにメモリ使用率が高くなっていくという状態であると判断できます。これはサーバに問題があると考えられますので、危険判定が出るように設定しています。
相関係数の目安としては、相関係数の絶対値が0.7以上のとき強い相関があると判断できるので、監視設定としては0.7以上の時に危険の判定を出すように設定しています。

それでは監視結果を見てみましょう。

上記画像では、判定は正常になっています。
相関係数は0.4未満なので、特に何もしなければ時間経過とメモリ使用率には相関関係があまりないということが分かります。
今度は監視対象サーバのメモリ使用率を上げてみます。

メモリ使用率上昇中の相関係数監視の結果は次のようになりました。
時間経過とともにメモリ使用率も上がるため、相関係数が徐々に高くなっています。

上昇が止まり、メモリ使用率が高い状態が続いた時の相関係数監視の結果が以下です。
メモリ使用率の時間による上昇がなくなったため、相関係数は徐々に低くなっています。

このように収集した値そのものではなく、収集した値同士の関係性を調査したいときには、相関係数監視が役立つと思います。

 

3.終わりに

今回の例では、比較的わかりやすいものとしてサーバ起動時間とメモリ使用率の相関係数から判定を出しました。
ただ時間と収集値を比較するのであれば、監視設定の変化量を使って似たような監視・判定はできます。
相関係数監視の強みは、「収集値1、収集値2のある時間帯(対象収集期間)での相関関係を監視できる」というところにあります。
また、カスタム監視の収集値も設定できるため、収集値の制限はほぼありません。
これらのことを意識すると相関係数監視をより活用できるようになるのではないでしょうか?

それでは、このあたりで… (- -)ノシ