Давши ряд чисел для подій 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
Найкоротший код виграє. Введення можна за допомогою stdin або arg. Вихід буде за допомогою stdout.
Редагувати: вбудовані функції не повинні бути дозволені (тобто розраховане очікуване значення, дисперсія, відхилення тощо), щоб забезпечити більше різноманітності в рішеннях. Однак сміливо демонструйте мову, яка добре підходить для виконання завдання, використовуючи вбудовані (для виставки).
На основі ідеї Девіда про введення для 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@#&