バージョン 20.2

Infragistics 相関計算式

このトピックでは Infragistics Math Calculators ライブラリの一部である CorrelationCalculator を紹介し、コード例と共にデータセット内の 2 変数間の相関の計算方法を説明します。

概要

トピックは以下のとおりです。

概要

統計において、データ相関はピアソンの積率相関係数 (PPMCC、Pearson’s product-moment correlation coefficient) と呼ばれることがあります。相関はデータセット内の 2 変数間の線形関連性を測定します。さらに、それらの変数間の線形関連性の程度についても示します。相関係数は CorrelationCalculator クラスを用いて計算されます。

相関式

相関係数は 2 変数の共分散をそれらの標準偏差の積で割って得られます。

IG Math Correlation Calculators 01.png

where

IG Math Correlation Calculators 02.png
IG Math Correlation Calculators 03.png

図 1 - データ相関計算のための式

凡例
IG Math Correlation Calculators 04.png
  • データセットの X と Y 変数の相関を表す

IG Math Correlation Calculators 05.png
  • データセットの X と Y 変数の共分散を表す

IG Math Correlation Calculators 06.png
  • データセットの X 変数の標準偏差を表す

IG Math Correlation Calculators 07.png
  • データセットの Y 変数の標準偏差を表す

IG Math Correlation Calculators 08.png
  • データセットの X 変数の平均を表す

IG Math Correlation Calculators 09.png
  • データセットの Y 変数の平均を表す

IG Math Correlation Calculators 10.png
  • データセットの i インデックスでの X 変数を表す

IG Math Correlation Calculators 11.png
  • データセットの i インデックスでの Y 変数を表す

IG Math Correlation Calculators 12.png
  • データセットの合計数を表す

データ相関のタイプ

相関係数は正から負までの値をとります。係数が -1 または 1 に近いほどデータセットの変数間の関係が強いということになります。完全な正の相関 (増加) の場合、係数は +1 になります。完全な負の相関 (減少) の線形関係の場合は -1 で、それ以外の場合は -1 と 1 の間の値になります。係数がゼロに近づくほどデータセットの変数間の関係が少なくなります。

表 1 - データ相関のタイプ

相関タイプ 負の相関 正の相関

None

範囲: -0.1 から 0.0

IG Math Correlation Calculators 13.png

範囲: 0.0 から 0.1

IG Math Correlation Calculators 14.png

Low

範囲: -0.3 から -0.1

IG Math Correlation Calculators 15.png

範囲: 0.1 から 0.3

IG Math Correlation Calculators 16.png

Medium

範囲: -0.5 から -0.3

IG Math Correlation Calculators 17.png

範囲: 0.3 から 0.5

IG Math Correlation Calculators 18.png

High

範囲: -1.0 から -0.5

IG Math Correlation Calculators 19.png

範囲: 0.5 から 1.0

IG Math Correlation Calculators 20.png

相関計算プロパティ

このセクションでは CorrelationCalculator オブジェクトのプロパティのリストを提供します。

プロパティ名 プロパティ タイプ 説明

ItemsSource

計算のデータ項目ソースを取得または設定します。

XMemberPath

string

データ項目の X メンバー パスを取得または設定します。

YMemberPath

string

データ項目の Y メンバー パスを取得または設定します。

Value

double

データ相関の値を取得します。

要件

アセンブリの要件

CorrelationCalculator を使用するためには、次のアセンブリを WPF プロジェクトに追加する必要があります。

アセンブリ 説明

InfragisticsWPF4.Math.Calculators.v20.2.dll

相関、平均、中央値、バリアンスなど多くの数値を計算するための Math Calculators を含む Ultimate UI for WPF アセンブリ。

InfragisticsWPF4.Math.v20.2.dll

標準的な数学定数と多様な数学的なオブジェクトで機能するように設計された汎用的な数学関数を含む Ultimate UI for WPF アセンブリ。

InfragisticsWPF4.v20.2.dll

Infragistics アセンブリによって使用される共有機能を含む Ultimate UI for WPF アセンブリ。

データ要件

CorrelationCalculator はデータ バインディングのための ItemsSource プロパティとデータ マッピングのための XMemberPath と YMemberPath プロパティを使用します。次の要件に合致するオブジェクトはすべてこのプロパティにバインドできます。

  • データ モデルは IEnumerable インターフェイス (たとえば リストコレクションキュースタック) を実装しなければなりません。

  • データ モデルには相関を計算するために少なくとも 2 つの数値データ列をもつ項目がなければなりません。

上記の基準を満たすオブジェクトの例は CorrelationDataSample で、 相関データの例リソースからダウンロードしてプロジェクトで使用できます。

この例は CorrelationCalculatorを用いてデータの集合の 2 変数間の相関を計算する方法を説明しています。CorrelationCalculator は非視覚的な要素で、データソースを定義するのと同じようにアプリケーション、ページ、またはコントロールのレベルでリソースセクションに定義する必要があります。 CorrelationCalculatorxamDataChart コントロールに統合する方法についての例は シリーズ データの相関トピックを参照してください。

Note

注: 次の例はプロジェクトのデータ ソースとして CorrelationCalculator と 相関データの例 オブジェクトに必要なすべてのアセンブリを追加していることが前提となります。

XAML の場合:

xmlns:local="clr-namespace:Infragistics.Samples.Data.Models.Series"
xmlns:ig="http://schemas.infragistics.com/xaml"
...
</local:CorrelationDataSample x:Key="Data"/>
<ig:CorrelationCalculator x:Key="CorrelationCalc"
                          XMemberPath="X" YMemberPath="Y"
                          ItemsSource="{StaticResource Data}">
</ig:CorrelationCalculator>

Visual Basic の場合:

Imports Infragistics.Samples.Data.Models.Series
Imports Infragistics.Math.Calculators
'...
Dim data As New CorrelationDataSample()
Dim correlationCalc As New CorrelationCalculator()
correlationCalc.ItemsSource = data
correlationCalc.XMemberPath = "X"
correlationCalc.YMemberPath = "Y"
Dim correlation As Double = correlationCalc.Value

C# の場合:

using Infragistics.Samples.Data.Models.Series;
using Infragistics.Math.Calculators;
//...
CorrelationDataSample data = new CorrelationDataSample();
CorrelationCalculator correlationCalc = new CorrelationCalculator();
correlationCalc.ItemsSource = data;
correlationCalc.XMemberPath = "X";
correlationCalc.YMemberPath = "Y";
double correlation = correlationCalc.Value;