Корреляция в C++ Builder

Рейтинг: 0Ответов: 1Опубликовано: 06.06.2011

Доброго времени суток.
Пишу программу на с++ builder 2010.
Нужно найти коэффициэнт корреляции между двумя наборами данных.
Вопрос: есть ли какая-нибудь готовая функция/библиотека или прийдеться использовать Excel?
Eсли выбрать вариант Excel, то какой лучше компонент использовать для соединения и работы.

P.S. варианты типа "смени язык" не предлогать, ибо курсовик уже почти написан.

Ответы

▲ 3Принят

Формулы там простые - пара циклов и готово. Например, коэффициент корреляции Пирсона, математическая запись коего есть на википедии.

  1. Считаем средние для двух выборок: X, Y (сложить все элементы выборки и разделить на их количество).
  2. Считаем почти дисперсию Sx и Sy: суммируем квадраты отклонений (x[i] - X)^2, (y[i] - Y)^2
  3. Считаем почти коварацию CovXY: суммируем произведения отклонения X и отклонения Y (x[i] - X)*(y[i] - Y)
  4. Результат: rxy = CovXY / sqrt(Sx*Sy);

Из минусов - на выбросы в выборке он не очень адекватно реагирует.