Учитывая последовательность чисел для событий X и Y, рассчитайте коэффициент корреляции Пирсона. Вероятность каждого события равна, поэтому ожидаемые значения могут быть рассчитаны путем простого суммирования каждой серии и деления на количество испытаний.
вход
1 6.86
2 5.92
3 6.08
4 8.34
5 8.7
6 8.16
7 8.22
8 7.68
9 12.04
10 8.6
11 10.96
Вывод
0.769
Самый короткий код выигрывает. Ввод может быть через стандартный ввод или аргумент. Выход будет через стандартный вывод.
Редактировать: встроенные функции не должны быть разрешены (т.е. рассчитаны ожидаемые значения, отклонения, отклонения и т. Д.), Чтобы обеспечить большее разнообразие решений. Тем не менее, не стесняйтесь демонстрировать язык, который хорошо подходит для этой задачи, используя встроенные функции (для выставки).
Основано на идее Дэвида для ввода в Mathematica (86 символов с использованием встроенного среднего)
m=Mean;x=d[[All,1]];y=d[[All,2]];(m@(x*y)-m@x*m@y)/Sqrt[(m@(x^2)-m@x^2)(m@(y^2)-m@y^2)]
m = Mean;
x = d[[All,1]];
y = d[[All,2]];
(m@(x*y) - m@x*m@y)/((m@(x^2) - m@x^2)(m@(y^2) - m@y^2))^.5
Плинтус, используя наше собственное среднее значение (101 символ)
m=Total[#]/Length[#]&;x=d[[All,1]];y=d[[All,2]];(m@(x*y)-m@x*m@y)/((m@(x^2)-m@x^2)(m@(y^2)-m@y^2))^.5
m = Total[#]/Length[#]&;
x = d[[All,1]];
y = d[[All,2]];
(m@(x*y)-m@x*m@y)/((m@(x^2)-m@x^2)(m@(y^2)-m@y^2))^.5
m=Total@#/Length@#&