5.27. Вычисление коэффициента корреляции
5.27. Вычисление коэффициента корреляции
Коэффициент корреляции — одна из самых простых и полезных статистических мер. Он измеряет «линейность» набора, состоящего из пар (x, у), и изменяется от -1.0 (полная отрицательная корреляция) до +1.0 (полная положительная корреляция).
Для вычисления воспользуемся функциями mean и sigma (стандартное отклонение), которые были определены в разделах 5.25 и 5.26. О смысле этого показателя можно прочитать в любом учебнике по математической статистике.
В следующем коде предполагается, что есть два массива чисел одинакового размера:
def correlate(x,y)
sum = 0.0
x.each_index do |i|
sum += x[i]*y[i]
end
xymean = sum/x.size.to_f
xmean = mean(x)
ymean = mean(y)
sx = sigma(x)
sy = sigma(y)
(xymean-(xmean*ymean))/(sx*sy)
end
a = [3, 6, 9, 12, 15, 18, 21]
b = [1.1, 2.1, 3.4, 4.8, 5.6]
с = [1.9, 1.0, 3.9, 3.1, 6.9]
c1 = correlate(a,a) # 1.0
c2 = correlate(a,a.reverse) # -1.0
c3 = correlate(b,c) # 0.8221970228
Приведенная ниже версия отличается лишь тем, что работает с одним массивом, каждый элемент которого — массив, содержащий пару (x, у):
def correlate2(v)
sum = 0.0
v.each do |a|
sum += a[0]*a[1]
end
xymean = sum/v.size.to_f
x = v.collect {|a| a[0]}
y = v.collect {|a| a[1]}
xmean = mean(x)
ymean = mean(y)
sx = sigma(x)
sy = sigma(y)
(xymean-(xmean*ymean))/(sx*sy)
end
d = [[1,6.1], [2.1,3.1], [3.9,5.0], [4.8,6.2]]
c4 = correlate2(d) # 0.2277822492
И, наконец, в последнем варианте предполагается, что пары (x, у) хранятся в хэше. Код основан на предыдущем примере:
def correlate_h(h)
correlate2(h.to_a)
end
e = { 1 => 6.1, 2.1 => 3.1, 3.9 => 5.0, 4.8 => 6.2}
c5 = correlated(e) # 0.2277822492
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Вычисление постоянных
Вычисление постоянных Вот что мы собираемся сделать: пройтись по всем объявлениям стилей и заменить вычисление выражения его постоянным значением. В предыдущем примере, предполагая, что мы используем IE6 в стандартном режиме, нам хотелось бы видеть следующий код:#myDiv {border:
Ограничения в оптимизации коэффициента конверсии
Ограничения в оптимизации коэффициента конверсии Изучая конверсию, мы заметили, что она имеет прямое отношение к процессу продаж. Этот процесс – линейный по определению. Он представляет собой упорядоченное движение пользователей от точки входа на сайт и до места
Исправление коэффициента мощности
Исправление коэффициента мощности Ток, потребляемый асинхронным двигателем, можно снизить, подключив к сети конденсатор. Проведем некоторые предварительные вычисления, рассматривая асинхронный двигатель в 5 лошадиных сил, который потребляет 53 А при 117 В при КПД 78,5 %.
11.10. Вычисление скалярного произведения
11.10. Вычисление скалярного произведения ПроблемаИмеется два контейнера, содержащих числа, причем они имеют одинаковую длину, и требуется вычислить их скалярное произведение.РешениеПример 11.19 показывает, как можно вычислить скалярное произведение, используя функцию
Вычисление площади и периметра
Вычисление площади и периметра Команда AREA вычисляет площадь и периметр объекта или заданной области. Вызывается из падающего меню Tools ? Inquiry ? Area или щелчком на пиктограмме Area панели инструментов Inquiry.Воображаемая фигура, предназначенная для вычисления площади и
Вычисление геометрии и массы
Вычисление геометрии и массы Команда MASSPROP вычисляет массовые характеристики областей и тел. Вызывается из падающего меню Tools ? Inquiry ? Region/Mass Properties или щелчком на пиктограмме Region/Mass Properties на панели инструментов Inquiry.Команда MASSPROP отображает массовые характеристики в
Вычисление размера кэша
Вычисление размера кэша Когда Firebird читает страницу базы данных с диска, он сохраняет эту страницу в кэше. Обычно размер кэша по умолчанию является достаточным. Если ваше приложение использует соединения из пяти и более таблиц, Firebird Суперсервер может автоматически
Вычисление площади и периметра
Вычисление площади и периметра Команда AREA вычисляет площадь и периметр объекта или заданной области. Вызывается из падающего меню Tools ? Inquiry ? Area или щелчком на пиктограмме Area на панели инструментов Inquiry.Воображаемая фигура, предназначенная для вычисления площади и
2.3.9. Вычисление размера БД
2.3.9. Вычисление размера БД ERwin позволяет рассчитать приблизительный размер БД в целом, а также таблиц, индексов и других объектов через определенный период времени после начала эксплуатации ИС. Для расчета размеров физических объектов служит диалог Volumetrics Editor (рис. 2.99),
Вычисление номеров
Вычисление номеров Пожалуй, самым простым для понимания (но не самым простым в использовании) способом вычисления номера является использование XPath-выражений. Этот способ практически идентичен использованию xsl:value-of, как было показано в начале этой главы. Единственным
5.2.1. Вычисление максимума
5.2.1. Вычисление максимума Процедуру нахождения наибольшего из двух чисел можно запрограммировать в виде отношенияmах( X, Y, Мах)где Мах = X, если X больше или равен Y, и Мах есть Y, если X меньше Y. Это соответствует двум таким предложениям:mах( X, Y, X) :- X >= Y.max( X, Y, Y) :- X < Y.Эти