첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형

▶ 상관 계수 구하기 예제

using System;
using System.Collections.Generic;

List<double> xList = new List<double>() { 5 , 10, 15, 20, 30, 20, 30 };
List<double> yList = new List<double>() { 10, 40, 20, 30, 40, 10, 20 };

double correlationCoefficient = GetCorrelationCoefficient(xList, yList);

Console.WriteLine(correlationCoefficient);

 

▶ 상관 계수 구하기

using System;
using System.Collections.Generic;

#region 상관 계수 구하기 - GetCorrelationCoefficient(xList, yList)

/// <summary>
/// 상관 계수 구하기
/// </summary>
/// <param name="xList">X 리스트<param>
/// <param name="yList">Y 리스트</param>
/// <returns>상관 계수</returns>
public double GetCorrelationCoefficient(List<double> xList, List<double> yList)
{
    double result          = 0d;
    double multiplyXYSigma = 0d;
    double xSigma          = 0d;
    double ySigma          = 0d;
    double xPowSigma       = 0d;
    double yPowSigma       = 0d;
    double xListCount      = xList.Count;

    for(int i = 0; i < xList.Count; i++)
    {
        multiplyXYSigma += (xList[i] * yList[i]);

        xSigma += xList[i];
        ySigma += yList[i];

        xPowSigma += Math.Pow(xList[i], 2);
        yPowSigma += Math.Pow(yList[i], 2);
    }

    result = ((xListCount * multiplyXYSigma) - (xSigma * ySigma)) / (Math.Sqrt(((xListCount * xPowSigma) - Math.Pow(xSigma, 2)) * ((xListCount * yPowSigma) - Math.Pow(ySigma, 2))));

    return result;
}

#endregion
728x90
반응형
Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요